diff --git a/.dockerignore b/.dockerignore index a8a11220..2bd37613 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,7 +3,6 @@ __pycache__/ *.py[cod] .pytest_cache/ -.mypy_cache/ .ruff_cache/ .venv/ venv/ diff --git a/.env.example b/.env.example index f20fcab8..8fbe2d11 100644 --- a/.env.example +++ b/.env.example @@ -83,6 +83,6 @@ NEWSLETTER_API_PASSWORD=adminpass DEBUG=True -ALLOWED_HOSTS=localhost,127.0.0.1,nginx,newslettermaker.tech +ALLOWED_HOSTS=localhost,127.0.0.1,nginx,digest-engine.tech FRONTEND_URL=http://localhost:3000 diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 18232995..52f6e8a4 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,6 +5,13 @@ updates: schedule: interval: "weekly" open-pull-requests-limit: 5 + ignore: + - dependency-name: "cryptography" + versions: + - ">=47" + - dependency-name: "websockets" + versions: + - ">=16" groups: python-dependencies: patterns: @@ -16,6 +23,7 @@ updates: interval: "weekly" open-pull-requests-limit: 5 ignore: + # eslint 10 is blocked until eslint-config-next adds support for it. - dependency-name: "eslint" update-types: - "version-update:semver-major" diff --git a/.github/instructions/dev-server-workflow.instructions.md b/.github/instructions/dev-server-workflow.instructions.md new file mode 100644 index 00000000..5c5b24e7 --- /dev/null +++ b/.github/instructions/dev-server-workflow.instructions.md @@ -0,0 +1,14 @@ +--- +name: "Local Dev Server Workflow" +description: "Use for all tasks. Covers local development server handling: do not start dev servers yourself by default, because the user usually has one running already. Ask the user to start the relevant server or confirm that none is running unless they explicitly request that you start it." +applyTo: + - "**/*" +--- + +# Local Dev Server Workflow + +- Do not start local development servers by default. +- Assume the user usually already has the relevant dev server running. +- Before running commands such as `pnpm dev`, `next dev`, `vite`, `npm run dev`, `just -dev`, or similar long-lived local servers, ask the user to start the server or confirm that no server is already running. +- Only start a dev server yourself when the user explicitly asks you to do that. +- When you need runtime verification and no server is available, prefer asking the user to start the correct app server instead of launching one on their behalf. \ No newline at end of file diff --git a/.github/instructions/frontend-app.instructions.md b/.github/instructions/frontend-app.instructions.md index f9f9f561..d7593c70 100644 --- a/.github/instructions/frontend-app.instructions.md +++ b/.github/instructions/frontend-app.instructions.md @@ -1,6 +1,6 @@ --- name: "Frontend App Router Guidelines" -description: "Use when editing Next.js App Router pages, route handlers, shared frontend API helpers, or TypeScript UI code in frontend/src/. Covers file placement, backend contract preservation, typing, and frontend validation." +description: "Use when editing Next.js App Router pages, route handlers, shared frontend API helpers, or TypeScript UI code in frontend/src/. Covers file placement, backend contract preservation, typing, Tailwind token usage, and frontend validation." applyTo: - "frontend/src/**/*.ts" - "frontend/src/**/*.tsx" @@ -12,8 +12,23 @@ applyTo: - Keep backend-facing types in `frontend/src/lib/types.ts` and shared server-side API access in `frontend/src/lib/api.ts` unless a route handler in `frontend/src/app/api/` is the correct boundary. - Reuse the existing backend contract. This repo currently consumes `snake_case` fields from Django; do not silently rename payload keys in the frontend. - Keep reusable components in `frontend/src/components/`, provider-style wrappers in `frontend/src/providers/`, and page composition in `frontend/src/app/`. +- Use `lucide-react` for icons in `frontend` unless the task requires a non-Lucene brand logo, product illustration, or another explicit exception. +- Use Tailwind's built-in size utilities for text size, radius, width and max-width, spacing, tracking, aspect ratio, and line-height. Do not introduce or keep custom size alias classes such as `text-2xs`, `text-button`, `rounded-panel`, `rounded-display`, `tracking-overline`, `max-w-marketing`, or `min-h-half-screen`. +- Do not use text sizes smaller than `text-xs`; if an old alias maps below `0.75rem`, replace it with `text-xs`. +- Prefer semantic Tailwind theme utility classes such as `bg-background`, `bg-page-base`, `bg-primary`, `text-content-active`, `text-content-offset`, `text-primary-foreground`, or `border-trim-offset` when the color should change with the active light or dark theme. +- Use fixed palette utility classes such as `bg-blue-50`, `text-emerald-500`, or `border-amber-400` only when the value should stay fixed across theme changes, such as data visualization, status legends, or decorative washes. +- Do not use direct CSS-variable utility syntax such as `text-[var(--color-primary)]`, `bg-(--theme-color-primary)`, `border-(--brand-border-bright)`, `text-(--font-primary)`, `rounded-[1.65rem]`, or `tracking-[0.24em]` when an existing utility class fits the need. +- Do not use slash-opacity color utilities such as `bg-primary/50`, `border-trim-offset/10`, `text-content-active/80`, or `ring-ring/40`; choose the closest existing semantic or fixed palette class instead. +- Do not add new aliases in `frontend/src/styles/theme.css` or new theme variables just to create a JSX-friendly Tailwind class. Ask the user before introducing new theme variables. +- Apply Tailwind utility classes directly on the JSX or HTML element that owns the styling. Do not add semantic helper selectors in shared CSS for combinations Tailwind can already express. Keep CSS selectors only when utilities cannot represent the behavior cleanly, such as global element rules, third-party overrides, vendor pseudos, or keyframe definitions. - Keep Vitest files beside the route page, route-local component, or shared component they exercise instead of creating separate `__tests__/` folders. - Add or update a colocated `*.test.ts` or `*.test.tsx` file in the same change when introducing or modifying a route handler, page, or component. If the file is only a framework passthrough, document why dedicated coverage is omitted. +- Prefer React Testing Library for frontend component tests. Test through accessible roles, labels, text alternatives, and user-visible behavior instead of implementation details or serialized markup. +- Follow React Testing Library best practices: render components like a user would experience them, prefer `screen` queries, use `user-event` for interactions, and avoid manual DOM traversal unless there is no accessible query that fits. +- Do not test product copy that is likely to change during iteration. Prefer assertions about structure, semantics, links, visibility, state, and behavior over exact headline, paragraph, button, or tagline text. +- Do not assert Tailwind or other presentational style classes in tests just to verify visual styling. Prefer behavior, accessible output, text, attributes, and state. +- Class assertions are acceptable only when the class itself carries semantic or functional meaning, such as `hidden`, stateful visibility, or another class-based contract consumed by behavior rather than presentation. +- Do not assert spacing, sizing, positioning, color, typography, radius, or shadow classes in tests. Avoid checks for classes such as `px-4`, `gap-4`, `top-4`, `inset-x-4`, `rounded-full`, or `shadow-card-strong` unless the class is part of a functional contract. - Prefer strong explicit types over loose `Record` shapes when the contract is known. - Add JSDoc for exported utilities, route handlers, hooks, and non-trivial components when behavior is not obvious from the signature. - For React components, providers, and App Router pages, keep the component JSDoc to a short summary paragraph and put prop descriptions on the props type or interface fields. Avoid `@param` and `@returns` tags on React components because Storybook Autodocs flattens them into a single block. diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index aa6d3a87..aaeb0338 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -52,16 +52,20 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 + - name: Set up pnpm + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4 + with: + version: 11.1.2 + - name: Set up Node.js uses: actions/setup-node@v6 with: - node-version: "22" - cache: npm - cache-dependency-path: frontend/package-lock.json + node-version: "24" + cache: pnpm + cache-dependency-path: pnpm-lock.yaml - name: Install frontend dependencies - working-directory: frontend - run: npm ci + run: pnpm install --filter=@digestengine/frontend --frozen-lockfile - name: Prepare frontend env working-directory: frontend @@ -70,12 +74,11 @@ jobs: echo "NEXTAUTH_SECRET=ci-build-secret" >> .env.local - name: Build frontend - working-directory: frontend env: NEXT_PUBLIC_API_URL: http://localhost:8000 NEXTAUTH_URL: http://localhost:3000 NEXTAUTH_SECRET: ci-build-secret - run: npm run build + run: pnpm --filter=@digestengine/frontend run build build-backend: name: Build and scan backend image @@ -96,6 +99,7 @@ jobs: with: image-ref: digest-engine-ci:${{ github.sha }} scan-type: image + scanners: vuln severity: HIGH,CRITICAL ignore-unfixed: true exit-code: "1" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 460347d0..7ca8e28f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,4 +1,4 @@ -name: Lint +name: Lint And Typecheck on: pull_request: @@ -14,26 +14,40 @@ concurrency: jobs: lint: - name: Run lint suite + name: Run lint and pyright suite runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v6 - - name: Set up Python - uses: actions/setup-python@v6 + - name: Set up uv + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5 with: - python-version: "3.13" - cache: pip - cache-dependency-path: requirements.txt + version: "0.8.17" + enable-cache: true + + - name: Install Python 3.13 + run: uv python install 3.13 + + - name: Initialize Pants + uses: pantsbuild/actions/init-pants@ab362158088bb31685015e7f5728a4c1df3c0e6e # v10 + with: + gha-cache-key: cache0-py313 + named-caches-hash: ${{ hashFiles('3rdparty/python/default.lock', 'pants.toml') }} + pants-ci-config: "" + + - name: Set up pnpm + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4 + with: + version: 11.1.2 - name: Set up Node.js uses: actions/setup-node@v6 with: node-version: "22" - cache: npm - cache-dependency-path: frontend/package-lock.json + cache: pnpm + cache-dependency-path: pnpm-lock.yaml - name: Install just uses: extractions/setup-crate@7577c1bdf2d95e6d65d532788f35ed79d4b1dda2 # v2 @@ -44,8 +58,8 @@ jobs: - name: Set up Helm uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0 - - name: Install dependencies + - name: Bootstrap dependencies run: just install - - name: Run lint and type checks + - name: Run lint and Pants checks run: just lint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f46ea2ff..c2dce664 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,19 +21,33 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 - - name: Set up Python - uses: actions/setup-python@v6 + - name: Set up uv + uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5 with: - python-version: "3.13" - cache: pip - cache-dependency-path: requirements.txt + version: "0.8.17" + enable-cache: true + + - name: Install Python 3.13 + run: uv python install 3.13 + + - name: Initialize Pants + uses: pantsbuild/actions/init-pants@ab362158088bb31685015e7f5728a4c1df3c0e6e # v10 + with: + gha-cache-key: cache0-py313 + named-caches-hash: ${{ hashFiles('3rdparty/python/default.lock', 'pants.toml') }} + pants-ci-config: "" + + - name: Set up pnpm + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4 + with: + version: 11.1.2 - name: Set up Node.js uses: actions/setup-node@v6 with: node-version: "22" - cache: npm - cache-dependency-path: frontend/package-lock.json + cache: pnpm + cache-dependency-path: pnpm-lock.yaml - name: Install just uses: extractions/setup-crate@7577c1bdf2d95e6d65d532788f35ed79d4b1dda2 # v2 @@ -41,7 +55,7 @@ jobs: repo: casey/just@1.50.0 github-token: ${{ github.token }} - - name: Install dependencies + - name: Bootstrap dependencies run: just install - name: Run tests diff --git a/.gitignore b/.gitignore index c27f7586..1853ddca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1,32 @@ __pycache__/ -*.py[cod] -.pytest_cache/ -.mypy_cache/ -.ruff_cache/ .cache/ -.venv/ -venv/ .coverage .env -frontend/.env.local +.pytest_cache/ +.ruff_cache/ +.turbo/ +.venv/ +.pants.d/ + +*.py[cod] +**/.turbo/ +*storybook.log + celerybeat-schedule* +coverage/ db.sqlite3 -htmlcov/ -staticfiles/ +docs/_internal_only/ + +frontend/.env.local frontend/.next/ frontend/coverage/ frontend/node_modules/ +frontend/out/ -docs/_internal_only/ +htmlcov/ +dist/ -*storybook.log +node_modules/ + +staticfiles/ storybook-static diff --git a/.python-version b/.python-version new file mode 100644 index 00000000..3a4f41ef --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..0b20feeb --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,6 @@ +{ + "recommendations": [ + "astral-sh.uv-vscode", + "ms-pyright.pyright" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 2232536f..7075b749 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,10 @@ { + "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python", + "python.terminal.activateEnvironment": true, + "python.terminal.activateEnvInCurrentTerminal": true, "cSpell.words": [ "abangser", + "Aptos", "ASGI", "botocore", "bsky", @@ -8,6 +12,7 @@ "cbor", "cbranch", "cfgv", + "Consolas", "cstat", "dabde", "dateutil", @@ -40,10 +45,13 @@ "membe", "mipsytipsy", "mitchellh", + "Neue", "newsle", + "nextra", "nodeenv", "noinput", "nomic", + "oklab", "oklch", "OLLAMA", "ormsgpack", @@ -64,13 +72,16 @@ "reposts", "rollup", "scaffolder", + "Segoe", "simplejwt", "skillr", "solomonstre", + "srgb", "svix", "topicv", "txaio", "ujson", + "unlayered", "Unparseable", "unstub", "upserted", @@ -80,6 +91,8 @@ "Vercel", "vfarcic", "Viktor", + "wght", + "xlink", "xrpc", "xxhash", "zope" diff --git a/3rdparty/python/default.lock b/3rdparty/python/default.lock new file mode 100644 index 00000000..413a1d15 --- /dev/null +++ b/3rdparty/python/default.lock @@ -0,0 +1,8865 @@ +// This lockfile was autogenerated by Pants. To regenerate, run: +// +// pants generate-lockfiles --resolve=python-default +// +// --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- +// { +// "version": 5, +// "valid_for_interpreter_constraints": [ +// "CPython==3.13.*" +// ], +// "generated_with_requirements": [ +// "Deprecated==1.3.1", +// "Django==6.0.5", +// "Mastodon.py==2.2.1", +// "atproto==0.0.65", +// "autobahn==25.12.2", +// "automat==25.4.16", +// "boto3==1.43.8", +// "botocore==1.43.8", +// "cbor2==6.1.1", +// "celery[redis]==5.6.3", +// "cfgv==3.5.0", +// "channels-redis==4.3.0", +// "channels==4.3.2", +// "constantly==23.10.4", +// "coverage==7.14.0", +// "cryptography==46.0.7", +// "cssbeautifier==1.15.4", +// "daphne==4.2.1", +// "dj-database-url==3.1.2", +// "dj-rest-auth==7.2.0", +// "django-allauth==65.16.1", +// "django-anymail==15.0", +// "django-cors-headers==4.9.0", +// "django-import-export==4.4.1", +// "django-storages==1.14.6", +// "django-stubs-ext==6.0.4", +// "django-stubs==6.0.4", +// "django-types==0.24.0", +// "django-unfold==0.93.0", +// "djangochannelsrestframework==1.3.0", +// "djangorestframework-simplejwt==5.5.1", +// "djangorestframework==3.17.1", +// "djlint==1.36.4", +// "dnspython==2.8.0", +// "docutils==0.22.4", +// "drf-nested-routers==0.95.0", +// "drf-spectacular==0.29.0", +// "drf-standardized-errors==0.16.0", +// "editorconfig==0.17.1", +// "feedparser==6.0.12", +// "gunicorn==26.0.0", +// "httpx==0.28.1", +// "hyperlink==21.0.0", +// "identify==2.6.19", +// "incremental==24.11.0", +// "inflection==0.5.1", +// "jmespath==1.1.0", +// "jsbeautifier==1.15.4", +// "langchain-core==1.4.0", +// "langchain-protocol==0.0.15", +// "langgraph-checkpoint==4.1.0", +// "langgraph-prebuilt==1.1.0", +// "langgraph-sdk==0.3.14", +// "langgraph==1.2.0", +// "langsmith==0.8.4", +// "libipld==3.3.2", +// "librt==0.11.0", +// "markdown==3.10.2", +// "msgpack==1.1.2", +// "nodeenv==1.10.0", +// "opentelemetry-api>=1.41.1", +// "opentelemetry-exporter-otlp-proto-http<2,>=1.41.1", +// "opentelemetry-instrumentation-celery<1,>=0.62b1", +// "opentelemetry-instrumentation-django<1,>=0.62b1", +// "opentelemetry-sdk>=1.41.1", +// "ormsgpack==1.12.2", +// "pillow==12.2.0", +// "praw==7.8.1", +// "pre-commit==4.6.0", +// "psycopg[binary]==3.3.4", +// "py-ubjson==0.16.1", +// "pyasn1-modules==0.4.2", +// "pyasn1==0.6.3", +// "pylint-django==2.7.0", +// "pylint-plugin-utils==0.9.0", +// "pyopenssl==26.2.0", +// "pyright==1.1.409", +// "pytest-django==4.12.0", +// "pytest-mock==3.15.1", +// "pytest==9.0.3", +// "python-dotenv==1.2.2", +// "qdrant-client==1.18.0", +// "requests-toolbelt==1.0.0", +// "ruff==0.15.13", +// "s3transfer==0.17.0", +// "sentence-transformers==5.5.0", +// "service-identity==24.2.0", +// "standardwebhooks==1.0.1", +// "structlog==25.5.0", +// "svix==1.93.0", +// "twisted==26.4.0", +// "txaio==25.12.2", +// "types-Deprecated==1.3.1.20260508", +// "types-psycopg2==2.9.21.20260509", +// "types-python-dateutil==2.9.0.20260508", +// "types-pyyaml==6.0.12", +// "types-requests==2.33.0.20260508", +// "ujson==5.12.1", +// "uritemplate==4.2.0", +// "uuid-utils==0.15.0", +// "watchdog==6.0.0", +// "websockets==15.0.1", +// "wrapt==2.1.2", +// "xxhash==3.7.0", +// "zope-interface==8.4" +// ], +// "manylinux": "manylinux2014", +// "requirement_constraints": [], +// "only_binary": [], +// "no_binary": [], +// "excludes": [], +// "overrides": [], +// "sources": [] +// } +// --- END PANTS LOCKFILE METADATA --- + +{ + "allow_builds": true, + "allow_prereleases": false, + "allow_wheels": true, + "build_isolation": true, + "constraints": [], + "elide_unused_requires_dist": false, + "excluded": [], + "locked_resolves": [ + { + "locked_requirements": [ + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "43b3319e1b4e7d1251833a93d672b4af1e40f3d632d479b98661a95f117880a2", + "url": "https://files.pythonhosted.org/packages/26/99/fc813cd978842c26c82534010ea849eee9ab3a13ea2b74e95cb9c99e747b/amqp-5.3.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "cddc00c725449522023bad949f70fff7b48f0b1ade74d170a6f10ab044739432", + "url": "https://files.pythonhosted.org/packages/79/fc/ec94a357dfc6683d8c86f8b4cfa5416a4c36b28052ec8260c77aca96a443/amqp-5.3.1.tar.gz" + } + ], + "project_name": "amqp", + "requires_dists": [ + "vine<6.0.0,>=5.0.0" + ], + "requires_python": ">=3.6", + "version": "5.3.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", + "url": "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", + "url": "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz" + } + ], + "project_name": "annotated-doc", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "0.0.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", + "url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", + "url": "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + } + ], + "project_name": "annotated-types", + "requires_dists": [ + "typing-extensions>=4.0.0; python_version < \"3.9\"" + ], + "requires_python": ">=3.8", + "version": "0.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708", + "url": "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", + "url": "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz" + } + ], + "project_name": "anyio", + "requires_dists": [ + "exceptiongroup>=1.0.2; python_version < \"3.11\"", + "idna>=2.8", + "trio>=0.32.0; extra == \"trio\"", + "typing_extensions>=4.5; python_version < \"3.13\"" + ], + "requires_python": ">=3.10", + "version": "4.13.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e8667a091e69529631969fd45dc268fa79b99c92c5fcdda727757e52146ec133", + "url": "https://files.pythonhosted.org/packages/5c/0a/a72d10ed65068e115044937873362e6e32fab1b7dce0046aeb224682c989/asgiref-3.11.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce", + "url": "https://files.pythonhosted.org/packages/63/40/f03da1264ae8f7cfdbf9146542e5e7e8100a4c66ab48e791df9a03d3f6c0/asgiref-3.11.1.tar.gz" + } + ], + "project_name": "asgiref", + "requires_dists": [ + "mypy>=1.14.0; extra == \"tests\"", + "pytest-asyncio; extra == \"tests\"", + "pytest; extra == \"tests\"", + "typing_extensions>=4; python_version < \"3.11\"" + ], + "requires_python": ">=3.9", + "version": "3.11.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "52f39653876c7dec3e3afd4c2696920e05c83832b9737afc21928f2d2eb7a753", + "url": "https://files.pythonhosted.org/packages/b0/cf/1c5f42b110e57bc5502eb80dbc3b03d256926062519224835ef08134f1f9/astroid-4.0.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "986fed8bcf79fb82c78b18a53352a0b287a73817d6dbcfba3162da36667c49a0", + "url": "https://files.pythonhosted.org/packages/07/63/0adf26577da5eff6eb7a177876c1cfa213856be9926a000f65c4add9692b/astroid-4.0.4.tar.gz" + } + ], + "project_name": "astroid", + "requires_dists": [ + "typing-extensions>=4; python_version < \"3.11\"" + ], + "requires_python": ">=3.10.0", + "version": "4.0.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ea53dea57454c9e56318b5d25ceb35854d60ba238b38b0e5ca79aa1a2df85846", + "url": "https://files.pythonhosted.org/packages/e3/d9/360149e7bd9bac580496ce9fddc0ef320b3813aadd72be6abc011600862d/atproto-0.0.65-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "027c6ed98746a9e6f1bb24bc18db84b80b386037709ff3af9ef927dce3dd4938", + "url": "https://files.pythonhosted.org/packages/b2/0f/b6e26f99ef730f1e5779f5833ba794343df78ee1e02041d3b05bd5005066/atproto-0.0.65.tar.gz" + } + ], + "project_name": "atproto", + "requires_dists": [ + "click<9,>=8.1.3", + "cryptography<47,>=41.0.7", + "dnspython<3,>=2.4.0", + "httpx<0.29.0,>=0.25.0", + "libipld<4,>=3.0.1", + "pydantic<3,>=2.7", + "typing-extensions<5,>=4.8.0", + "websockets<16,>=15" + ], + "requires_python": "<3.15,>=3.9", + "version": "0.0.65" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", + "url": "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", + "url": "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz" + } + ], + "project_name": "attrs", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "26.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c0c3f1d5dafda52f8dc962ab583b6f3473b7b7186cab082d05372ed43a8261a5", + "url": "https://files.pythonhosted.org/packages/ea/49/4e592a19ae58fd9c796821a882b22598fac295ede50f899cc9d14a0282b6/autobahn-25.12.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "754c06a54753aeb7e8d10c5cbf03249ad9e2a1a32bca8be02865c6f00628a98c", + "url": "https://files.pythonhosted.org/packages/54/d5/9adf0f5b9eb244e58e898e9f3db4b00c09835ef4b6c37d491886e0376b4f/autobahn-25.12.2.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "bc17f6cab9438156d2701c293c76fd02a144f9be0a992c065dfee1935ce4845b", + "url": "https://files.pythonhosted.org/packages/83/30/ef9c47038e4e9257319d6e1b87668b3df360a0c488d66ccff9d11aaff6ba/autobahn-25.12.2-cp313-cp313-macosx_15_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "b5297a782fc7d0a26842438ef1342549ceee29496cda52672ac44635c79eeb94", + "url": "https://files.pythonhosted.org/packages/e2/e4/f3d5cb70bc0b9b5523d940734b2e0a251510d051a50d2e723f321e890859/autobahn-25.12.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + } + ], + "project_name": "autobahn", + "requires_dists": [ + "argon2-cffi>=20.1.0; extra == \"all\"", + "argon2-cffi>=20.1.0; extra == \"scram\"", + "attrs>=20.3.0; extra == \"all\"", + "attrs>=20.3.0; extra == \"twisted\"", + "auditwheel>=5.0.0; sys_platform == \"linux\" and extra == \"build-tools\"", + "auditwheel>=5.0.0; sys_platform == \"linux\" and extra == \"dev\"", + "backports-tempfile>=1.0; extra == \"dev\"", + "base58>=2.1.1; extra == \"all\"", + "base58>=2.1.1; extra == \"encryption\"", + "brotli>=1.0.0; platform_python_implementation == \"CPython\" and extra == \"all\"", + "brotli>=1.0.0; platform_python_implementation == \"CPython\" and extra == \"compress\"", + "brotlicffi>=1.0.0; platform_python_implementation != \"CPython\" and extra == \"all\"", + "brotlicffi>=1.0.0; platform_python_implementation != \"CPython\" and extra == \"compress\"", + "build>=1.0.0; extra == \"build-tools\"", + "build>=1.0.0; extra == \"dev\"", + "bumpversion>=0.5.3; extra == \"dev\"", + "cbor2>=5.2.0", + "cffi>=2.0.0", + "codecov>=2.0.15; extra == \"dev\"", + "cryptography>=3.4.6", + "ecdsa>=0.19.1; extra == \"all\"", + "ecdsa>=0.19.1; extra == \"encryption\"", + "furo>=2024.7.0; extra == \"dev\"", + "furo>=2024.7.0; extra == \"docs\"", + "humanize>=4.0.0; extra == \"benchmark\"", + "humanize>=4.0.0; extra == \"dev\"", + "hyperlink>=21.0.0", + "importlib-resources>=5.0.0; python_version < \"3.10\"", + "jinja2>=3.0.0; extra == \"benchmark\"", + "linkify-it-py>=2.0.0; extra == \"dev\"", + "linkify-it-py>=2.0.0; extra == \"docs\"", + "msgpack>=1.0.2; platform_python_implementation == \"CPython\"", + "myst-parser>=2.0; extra == \"dev\"", + "myst-parser>=2.0; extra == \"docs\"", + "passlib; extra == \"dev\"", + "passlib>=1.7.4; extra == \"all\"", + "passlib>=1.7.4; extra == \"scram\"", + "pep8-naming>=0.3.3; extra == \"dev\"", + "py-ubjson>=0.16.1", + "pyenchant>=3.2; extra == \"dev\"", + "pyenchant>=3.2; extra == \"docs\"", + "pyflakes>=1.0.0; extra == \"dev\"", + "pyinstaller>=4.2; extra == \"dev\"", + "pylint>=1.9.2; extra == \"dev\"", + "pynacl>=1.4.0; extra == \"all\"", + "pynacl>=1.4.0; extra == \"encryption\"", + "pyopenssl>=20.0.1; extra == \"all\"", + "pyopenssl>=20.0.1; extra == \"encryption\"", + "pytest-aiohttp; extra == \"dev\"", + "pytest-asyncio>=0.14.0; extra == \"dev\"", + "pytest-runner>=2.11.1; extra == \"dev\"", + "pytest>=3.4.2; extra == \"dev\"", + "pytrie>=0.4.0; extra == \"all\"", + "pytrie>=0.4.0; extra == \"encryption\"", + "pyyaml>=4.2b4; extra == \"dev\"", + "qrcode>=7.3.1; extra == \"all\"", + "qrcode>=7.3.1; extra == \"encryption\"", + "qualname>=0.1.0; extra == \"dev\"", + "ruff>=0.12.1; extra == \"dev\"", + "scour>=0.38; extra == \"dev\"", + "scour>=0.38; extra == \"docs\"", + "service-identity>=18.1.0; extra == \"all\"", + "service-identity>=18.1.0; extra == \"encryption\"", + "sphinx-autoapi>=2.1.0; extra == \"dev\"", + "sphinx-autoapi>=2.1.0; extra == \"docs\"", + "sphinx-copybutton>=0.5; extra == \"dev\"", + "sphinx-copybutton>=0.5; extra == \"docs\"", + "sphinx-design>=0.5; extra == \"dev\"", + "sphinx-design>=0.5; extra == \"docs\"", + "sphinx>=8.2.3; extra == \"dev\"", + "sphinx>=8.2.3; extra == \"docs\"", + "sphinxcontrib-images>=0.9; extra == \"dev\"", + "sphinxcontrib-images>=0.9; extra == \"docs\"", + "sphinxcontrib-spelling>=8.0; extra == \"dev\"", + "sphinxcontrib-spelling>=8.0; extra == \"docs\"", + "sphinxext-opengraph>=0.9; extra == \"dev\"", + "sphinxext-opengraph>=0.9; extra == \"docs\"", + "twine>=3.3.0; extra == \"dev\"", + "twisted>=22.10.0; extra == \"all\"", + "twisted>=22.10.0; extra == \"dev\"", + "twisted>=22.10.0; extra == \"twisted\"", + "txaio>=25.12.2", + "txaio>=25.12.2; extra == \"dev\"", + "u-msgpack-python>=2.1; platform_python_implementation != \"CPython\"", + "ujson>=4.0.2", + "vmprof-flamegraph>=0.0.1; python_version >= \"3.11\" and extra == \"benchmark\"", + "vmprof>=0.4.15; python_version >= \"3.11\" and extra == \"benchmark\"", + "watchdog>=0.8.3; extra == \"dev\"", + "wheel>=0.36.2; extra == \"build-tools\"", + "wheel>=0.36.2; extra == \"dev\"", + "yapf==0.29.0; extra == \"dev\"", + "zope-interface>=5.2.0; extra == \"all\"", + "zope-interface>=5.2.0; extra == \"twisted\"" + ], + "requires_python": ">=3.11", + "version": "25.12.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "04e9bce696a8d5671ee698005af6e5a9fa15354140a87f4870744604dcdd3ba1", + "url": "https://files.pythonhosted.org/packages/02/ff/1175b0b7371e46244032d43a56862d0af455823b5280a50c63d99cc50f18/automat-25.4.16-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0017591a5477066e90d26b0e696ddc143baafd87b588cfac8100bc6be9634de0", + "url": "https://files.pythonhosted.org/packages/e3/0f/d40bbe294bbf004d436a8bcbcfaadca8b5140d39ad0ad3d73d1a8ba15f14/automat-25.4.16.tar.gz" + } + ], + "project_name": "automat", + "requires_dists": [ + "Twisted>=16.1.1; extra == \"visualize\"", + "graphviz>0.5.1; extra == \"visualize\"", + "typing_extensions; python_version < \"3.10\"" + ], + "requires_python": ">=3.9", + "version": "25.4.16" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "525b42bdec68d2b983347ac312f892db930858495db601b5836ac24e6477cde5", + "url": "https://files.pythonhosted.org/packages/cb/87/8bab77b323f16d67be364031220069f79159117dd5e43eeb4be2fef1ac9b/billiard-4.2.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "55f542c371209e03cd5862299b74e52e4fbcba8250ba611ad94276b369b6a85f", + "url": "https://files.pythonhosted.org/packages/58/23/b12ac0bcdfb7360d664f40a00b1bda139cbbbced012c34e375506dbd0143/billiard-4.2.4.tar.gz" + } + ], + "project_name": "billiard", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "4.2.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1894497c383e3cdf50e210f1f57a43e9f4047a5d3accc73ffdb7eacc3b0f011b", + "url": "https://files.pythonhosted.org/packages/38/48/920c58e5b4450dd389ef3e56dca8803af093ccc0a8e04dd69a60812b7f94/boto3-1.43.8-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "d1235602d715c727c1923ef4bcdb5612a20575a9a5e4f2db00d571e0ea1f85fc", + "url": "https://files.pythonhosted.org/packages/c5/a8/5422bd25bd2520a6122cb82b2dfa280c66e380102533761b96e7a10f1a4d/boto3-1.43.8.tar.gz" + } + ], + "project_name": "boto3", + "requires_dists": [ + "botocore<1.44.0,>=1.43.8", + "botocore[crt]<2.0a0,>=1.21.0; extra == \"crt\"", + "jmespath<2.0.0,>=0.7.1", + "s3transfer<0.18.0,>=0.17.0" + ], + "requires_python": ">=3.10", + "version": "1.43.8" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6257d2655c3abe75eaa49e218b7d883cdc7cea64652b451e5feb08a6c169da3c", + "url": "https://files.pythonhosted.org/packages/c0/d8/c5486e4f0c6790f830368a171017d0687d89ffd3a57511bba533b56ee50f/botocore-1.43.8-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "611ad8b1f60661373cd39d9391ff16f1eaf8f5cb1d0a691563a4201d1a2603ce", + "url": "https://files.pythonhosted.org/packages/1c/bb/7c1f5d12e1fbaf88a03d504bfa2f03fa6913f127051a7b121fe3bcaadefb/botocore-1.43.8.tar.gz" + } + ], + "project_name": "botocore", + "requires_dists": [ + "awscrt==0.32.2; extra == \"crt\"", + "jmespath<2.0.0,>=0.7.1", + "python-dateutil<3.0.0,>=2.1", + "urllib3!=2.2.0,<3,>=1.25.4" + ], + "requires_python": ">=3.10", + "version": "1.43.8" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "bf3ef1fae6f14081a15f178e933ab846d3181f059ee4090975518b71f58bb09f", + "url": "https://files.pythonhosted.org/packages/cd/83/577bbafef3bc887d654a73f3f4ab11e1bd5320abd9108bfc51fbea1498a8/cbor2-6.1.1-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f4898b5463a567775a05310407dbea5b4a8d7ae8e81337ae9084f5fe226938ff", + "url": "https://files.pythonhosted.org/packages/9c/44/fe0543996d53538c074f8ee18f7391b5458c528b1717740d750a9e472e1d/cbor2-6.1.1-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a6690f7df210386866e120475183132df98f77bf6df624097f66e3214e775084", + "url": "https://files.pythonhosted.org/packages/9f/79/bdcb9d43ed537abaa89e662d6340244207ec85b6e66e3bd7f40856c3a5d4/cbor2-6.1.1-cp313-cp313-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "0f027e077345ba7d1a88cbed9168196e77f5ce8e8c816305bb1c7a2e4894bddf", + "url": "https://files.pythonhosted.org/packages/a0/ec/30a52d7f6844cefd37601311a226d091268564a47b0dac56bc0469573681/cbor2-6.1.1-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "559025ad8e1f9f5d019a40dc8f14f43c111c11207b4dde852e943a3002b43ec0", + "url": "https://files.pythonhosted.org/packages/b7/a5/653193249a64ca46def52798e8f10ddbc918f11818a977b2aa7248062520/cbor2-6.1.1-cp313-cp313-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6f0644869e0fdcd6f3874330b8f1cebd009f33191de43acf609dc2409cd362c4", + "url": "https://files.pythonhosted.org/packages/be/db/810437bcfe13cf5e09b68bad1ce57c8fa04ca9272c68946bbf2f4fa522c8/cbor2-6.1.1.tar.gz" + } + ], + "project_name": "cbor2", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "6.1.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0808f42f80909c4d5833202360ffafb2a4f83f4d8e23e1285d926610e9a7afa6", + "url": "https://files.pythonhosted.org/packages/cf/c9/6eccdda96e098f7ae843162db2d3c149c6931a24fda69fe4ab84d0027eb5/celery-5.6.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "177006bd2054b882e9f01be59abd8529e88879ef50d7918a7050c5a9f4e12912", + "url": "https://files.pythonhosted.org/packages/e8/b4/a1233943ab5c8ea05fb877a88a0a0622bf47444b99e4991a8045ac37ea1d/celery-5.6.3.tar.gz" + } + ], + "project_name": "celery", + "requires_dists": [ + "Django>=2.2.28; extra == \"django\"", + "azure-identity>=1.19.0; extra == \"azureblockblob\"", + "azure-storage-blob>=12.15.0; extra == \"azureblockblob\"", + "billiard<5.0,>=4.2.1", + "boto3>=1.26.143; extra == \"dynamodb\"", + "boto3>=1.26.143; extra == \"s3\"", + "boto3>=1.26.143; extra == \"sqs\"", + "brotli>=1.0.0; platform_python_implementation == \"CPython\" and extra == \"brotli\"", + "brotlipy>=0.7.0; platform_python_implementation == \"PyPy\" and extra == \"brotli\"", + "cassandra-driver<4,>=3.25.0; extra == \"cassandra\"", + "click-didyoumean>=0.3.0", + "click-plugins>=1.1.1", + "click-repl>=0.2.0", + "click<9.0,>=8.1.2", + "couchbase>=3.0.0; (platform_python_implementation != \"PyPy\" and (platform_system != \"Windows\" or python_version < \"3.10\")) and extra == \"couchbase\"", + "cryptography==46.0.5; extra == \"auth\"", + "elastic-transport<=9.2.1; extra == \"elasticsearch\"", + "elasticsearch<=9.3.0; extra == \"elasticsearch\"", + "ephem==4.2; platform_python_implementation != \"PyPy\" and extra == \"solar\"", + "eventlet>=0.32.0; python_version < \"3.10\" and extra == \"eventlet\"", + "exceptiongroup>=1.3.0; python_version < \"3.11\"", + "gevent>=1.5.0; extra == \"gevent\"", + "google-cloud-firestore==2.23.0; extra == \"gcs\"", + "google-cloud-storage>=2.10.0; extra == \"gcs\"", + "grpcio==1.76.0; extra == \"gcs\"", + "kazoo>=1.3.1; extra == \"zookeeper\"", + "kombu>=5.6.0", + "kombu[mongodb]; extra == \"mongodb\"", + "kombu[msgpack]; extra == \"msgpack\"", + "kombu[redis]; extra == \"redis\"", + "kombu[sqlalchemy]; extra == \"sqlalchemy\"", + "kombu[sqs]>=5.5.0; extra == \"sqs\"", + "kombu[yaml]; extra == \"yaml\"", + "librabbitmq>=2.0.0; python_version < \"3.11\" and extra == \"librabbitmq\"", + "pyArango>=2.0.2; extra == \"arangodb\"", + "pycouchdb==1.16.0; extra == \"couchdb\"", + "pycurl<7.45.4,>=7.43.0.5; (sys_platform != \"win32\" and platform_python_implementation == \"CPython\" and python_version < \"3.9\") and extra == \"sqs\"", + "pycurl>=7.45.4; (sys_platform != \"win32\" and platform_python_implementation == \"CPython\" and python_version >= \"3.9\") and extra == \"sqs\"", + "pydantic>=2.12.0a1; python_version >= \"3.14\" and extra == \"pydantic\"", + "pydantic>=2.4; python_version < \"3.14\" and extra == \"pydantic\"", + "pydocumentdb==2.3.5; extra == \"cosmosdbsql\"", + "pylibmc==1.6.3; platform_system != \"Windows\" and extra == \"memcache\"", + "pyro4==4.82; python_version < \"3.11\" and extra == \"pyro\"", + "pytest-celery[all]>=1.3.0; extra == \"pytest\"", + "python-consul2==0.1.5; extra == \"consul\"", + "python-dateutil>=2.8.2", + "python-memcached>=1.61; extra == \"pymemcache\"", + "softlayer_messaging>=1.0.3; extra == \"slmq\"", + "tblib==3.2.2; extra == \"tblib\"", + "tzlocal", + "urllib3>=1.26.16; extra == \"sqs\"", + "vine<6.0,>=5.1.0", + "zstandard==0.23.0; extra == \"zstd\"" + ], + "requires_python": ">=3.9", + "version": "5.6.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "3cb2210c8f88ba2318d29b0388d1023c8492ff72ecdde4ebdaddbb13a31b1c4a", + "url": "https://files.pythonhosted.org/packages/22/30/7cd8fdcdfbc5b869528b079bfb76dcdf6056b1a2097a662e5e8c04f42965/certifi-2026.4.22-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8d455352a37b71bf76a79caa83a3d6c25afee4a385d632127b6afb3963f1c580", + "url": "https://files.pythonhosted.org/packages/25/ee/6caf7a40c36a1220410afe15a1cc64993a1f864871f698c0f93acb72842a/certifi-2026.4.22.tar.gz" + } + ], + "project_name": "certifi", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "2026.4.22" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", + "url": "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", + "url": "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", + "url": "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", + "url": "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", + "url": "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", + "url": "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", + "url": "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", + "url": "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", + "url": "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", + "url": "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + } + ], + "project_name": "cffi", + "requires_dists": [ + "pycparser; implementation_name != \"PyPy\"" + ], + "requires_python": ">=3.9", + "version": "2.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0", + "url": "https://files.pythonhosted.org/packages/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132", + "url": "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz" + } + ], + "project_name": "cfgv", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "3.5.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "fef47e9055a603900cf16cef85f050d522d9ac4b3daccf24835bd9580705c176", + "url": "https://files.pythonhosted.org/packages/16/34/c32915288b7ef482377b6adc401192f98c6a99b3a145423d3b8aed807898/channels-4.3.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f2bb6bfb73ad7fb4705041d07613c7b4e69528f01ef8cb9fb6c21d9295f15667", + "url": "https://files.pythonhosted.org/packages/74/92/b18d4bb54d14986a8b35215a1c9e6a7f9f4d57ca63ac9aee8290ebb4957d/channels-4.3.2.tar.gz" + } + ], + "project_name": "channels", + "requires_dists": [ + "Django>=4.2", + "asgiref<4,>=3.9.0", + "async-timeout; extra == \"tests\"", + "coverage~=4.5; extra == \"tests\"", + "daphne>=4.0.0; extra == \"daphne\"", + "pytest-asyncio; extra == \"tests\"", + "pytest-django; extra == \"tests\"", + "pytest; extra == \"tests\"", + "selenium; extra == \"tests\"", + "types-channels; extra == \"types\"" + ], + "requires_python": ">=3.9", + "version": "4.3.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "48f3e902ae2d5fef7080215524f3b4a1d3cea4e304150678f867a1a822c0d9f5", + "url": "https://files.pythonhosted.org/packages/df/fe/b7224a401ad227b263e5ba84753ffb5a88df048f3b15efd2797903543ce4/channels_redis-4.3.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "740ee7b54f0e28cf2264a940a24453d3f00526a96931f911fcb69228ef245dd2", + "url": "https://files.pythonhosted.org/packages/ab/69/fd3407ad407a80e72ca53850eb7a4c306273e67d5bbb71a86d0e6d088439/channels_redis-4.3.0.tar.gz" + } + ], + "project_name": "channels-redis", + "requires_dists": [ + "asgiref<4,>=3.9.1", + "async-timeout; extra == \"tests\"", + "channels>=4.2.2", + "cryptography>=1.3.0; extra == \"cryptography\"", + "cryptography>=1.3.0; extra == \"tests\"", + "msgpack~=1.0", + "pytest-asyncio; extra == \"tests\"", + "pytest-timeout; extra == \"tests\"", + "pytest; extra == \"tests\"", + "redis>=4.6" + ], + "requires_python": ">=3.9", + "version": "4.3.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", + "url": "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", + "url": "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", + "url": "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", + "url": "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", + "url": "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", + "url": "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", + "url": "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", + "url": "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", + "url": "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", + "url": "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", + "url": "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", + "url": "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", + "url": "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", + "url": "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", + "url": "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + } + ], + "project_name": "charset-normalizer", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "3.4.7" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a2bf429bb3033c89fa4936ffb35d5cb471e3719e1f3c8a7c3fff0b8314305613", + "url": "https://files.pythonhosted.org/packages/ae/44/c1221527f6a71a01ec6fbad7fa78f1d50dfa02217385cf0fa3eec7087d59/click-8.3.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "398329ad4837b2ff7cbe1dd166a4c0f8900c3ca3a218de04466f38f6497f18a2", + "url": "https://files.pythonhosted.org/packages/bb/63/f9e1ea081ce35720d8b92acde70daaedace594dc93b693c869e0d5910718/click-8.3.3.tar.gz" + } + ], + "project_name": "click", + "requires_dists": [ + "colorama; platform_system == \"Windows\"" + ], + "requires_python": ">=3.10", + "version": "8.3.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c", + "url": "https://files.pythonhosted.org/packages/1b/5b/974430b5ffdb7a4f1941d13d83c64a0395114503cc357c6b9ae4ce5047ed/click_didyoumean-0.3.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463", + "url": "https://files.pythonhosted.org/packages/30/ce/217289b77c590ea1e7c24242d9ddd6e249e52c795ff10fac2c50062c48cb/click_didyoumean-0.3.1.tar.gz" + } + ], + "project_name": "click-didyoumean", + "requires_dists": [ + "click>=7" + ], + "requires_python": ">=3.6.2", + "version": "0.3.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "008d65743833ffc1f5417bf0e78e8d2c23aab04d9745ba817bd3e71b0feb6aa6", + "url": "https://files.pythonhosted.org/packages/3d/9a/2abecb28ae875e39c8cad711eb1186d8d14eab564705325e77e4e6ab9ae5/click_plugins-1.1.1.2-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "d7af3984a99d243c131aa1a828331e7630f4a88a9741fd05c927b204bcf92261", + "url": "https://files.pythonhosted.org/packages/c3/a4/34847b59150da33690a36da3681d6bbc2ec14ee9a846bc30a6746e5984e4/click_plugins-1.1.1.2.tar.gz" + } + ], + "project_name": "click-plugins", + "requires_dists": [ + "click>=4.0", + "coveralls; extra == \"dev\"", + "pytest-cov; extra == \"dev\"", + "pytest>=3.6; extra == \"dev\"", + "wheel; extra == \"dev\"" + ], + "requires_python": null, + "version": "1.1.1.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812", + "url": "https://files.pythonhosted.org/packages/52/40/9d857001228658f0d59e97ebd4c346fe73e138c6de1bce61dc568a57c7f8/click_repl-0.3.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9", + "url": "https://files.pythonhosted.org/packages/cb/a2/57f4ac79838cfae6912f997b4d1a64a858fb0c86d7fcaae6f7b58d267fca/click-repl-0.3.0.tar.gz" + } + ], + "project_name": "click-repl", + "requires_dists": [ + "click>=7.0", + "prompt-toolkit>=3.0.36", + "pytest-cov>=4.0.0; extra == \"testing\"", + "pytest>=7.2.1; extra == \"testing\"", + "tox>=4.4.3; extra == \"testing\"" + ], + "requires_python": ">=3.6", + "version": "0.3.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", + "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", + "url": "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" + } + ], + "project_name": "colorama", + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7", + "version": "0.4.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "3fd9b4d1c3dc1ec9757f3c52aef7e53ad9323dbe39f51dfd4c43853b68dfa3f9", + "url": "https://files.pythonhosted.org/packages/b8/40/c199d095151addf69efdb4b9ca3a4f20f70e20508d6222bffb9b76f58573/constantly-23.10.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "aa92b70a33e2ac0bb33cd745eb61776594dc48764b06c35e0efd050b7f1c7cbd", + "url": "https://files.pythonhosted.org/packages/4d/6f/cb2a94494ff74aa9528a36c5b1422756330a75a8367bf20bd63171fc324d/constantly-23.10.4.tar.gz" + } + ], + "project_name": "constantly", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "23.10.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8de5b61163aee3d05c8a2beab6f47913df7981dad1baf82c414d99158c286ab1", + "url": "https://files.pythonhosted.org/packages/61/e8/cb8e80d6f9f55b99588625062822bf946cf03ed06315df4bd8397f5632a1/coverage-7.14.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "68af363c07ecd8d4b7d4043d85cb376d7d227eceb54e5323ee45da73dbd3e426", + "url": "https://files.pythonhosted.org/packages/08/92/c497b264bec1673c47cc77e26f760fcda4654cabf1f39546d1a23a3b8c35/coverage-7.14.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "8767486808c436f05b23ab98eb963fb29185e32a9357a166971685cb3459900f", + "url": "https://files.pythonhosted.org/packages/16/29/de1bbc01c935b28f89b1dc3db85b011c055e843a8e5e3b83141c3f80af7f/coverage-7.14.0-cp313-cp313t-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "827d6397dbd95144939b18f89edf31f63e1f99633e8d5f32f22ba8bdda567477", + "url": "https://files.pythonhosted.org/packages/1a/2c/c2831889705a81dc5d1c6ca12e4d8e9b95dfc146d153488a6c0ea685d28e/coverage-7.14.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "cc3499459bbcdd51a65b64c35ab7ed2764eaf3cba826e0df3f1d7fe2e102b70b", + "url": "https://files.pythonhosted.org/packages/1b/ae/227b1e379497fb7a4fc3286e620f80c8a1e7cec66d45695a01639eb1af65/coverage-7.14.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "9117377b823daa28aa8635fbb08cda1cd6be3d7143257345459559aeef852d52", + "url": "https://files.pythonhosted.org/packages/1f/d4/5002019538b2036ce3c84340f54d2fd5100d55b0a6b0894eee56128d03c7/coverage-7.14.0-cp313-cp313-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "057a6af2f160a85384cde4ab36f0d2777bae1057bae255f95413cdd382aa5c74", + "url": "https://files.pythonhosted.org/packages/23/7f/d0720730a397a999ffc0fd3f5bebef347338e3a47b727da66fbb228e2ff2/coverage-7.14.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "90c1a51bcfddf645b3bb7ec333d9e94393a8e94f55642380fa8a9a5a9e636cb7", + "url": "https://files.pythonhosted.org/packages/29/1e/51adf17738976e8f2b85ddef7b7aa12a0838b056c92f175941d8862767c1/coverage-7.14.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1b23b0c6f0b1db6ad769b7050c8b641c0bf215ded26c1816955b17b7f26edfa9", + "url": "https://files.pythonhosted.org/packages/34/46/746704f95980ba220214e1a41e18cec5aea80a898eaa53c51bf2d645ff36/coverage-7.14.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a3b5ddfd6aa7ddad53ee3edb231e88a2151507a43229b7d71b953916deca127d", + "url": "https://files.pythonhosted.org/packages/35/95/f53890b0bf2fc10ab168e05d38869215e73ca24c4cb521c3bb0eb62fe16b/coverage-7.14.0-cp313-cp313t-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "7b79d646cf46d5cf9a9f40281d4441df5849e445726e369006d2b117710b33fe", + "url": "https://files.pythonhosted.org/packages/37/53/20c5009477660f084e6ed60bc02a91894b8e234e617e86ecfd9aaf78e27b/coverage-7.14.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "22a7e06a5f11a757cdfe79018e9095f9f69ae283c5cd8123774c788deec8717b", + "url": "https://files.pythonhosted.org/packages/44/6f/9ad575d505b4d805b254febc8a5b338a2efe278f8786e56ff1cb8413f9c3/coverage-7.14.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "49c005cba1e2f9677fb2845dcdf9a2e72a52a17d63e8231aaaae35d9f50215ef", + "url": "https://files.pythonhosted.org/packages/46/57/b8cdb12ac0d73ef0243218bd5e22c9df8f92edab8018213a86aec67c5324/coverage-7.14.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "98af83fd65ae24b1fdd03aaead967a9f523bcd2f1aab2d4f3ffda65bb568a6f1", + "url": "https://files.pythonhosted.org/packages/64/8c/9c30a3d311a34177fa432995be7fbfc64477d8bac5630bd38055b1c9b424/coverage-7.14.0-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "f2bbb8254370eb4c628ff3d6fa8a7f74ddc40565394d4f7ab791d1fe568e37ef", + "url": "https://files.pythonhosted.org/packages/6b/76/b7c66ee3c66e1b0f9d894c8125983aa0c03fb2336f2fd16559f9c966157f/coverage-7.14.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9d1aa57a1dc8e05bdc42e81c5d671d849577aeedf279f4c449d6d286f9ed88ca", + "url": "https://files.pythonhosted.org/packages/6f/5f/b5370068b2f57787454592ed7dcd1002f0f1703b7db1fa30f6a325a4ca6e/coverage-7.14.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6e57054a583da8ac55edf24117ea4c9133032cfc4cf72aa2d48c1e5d4b52f899", + "url": "https://files.pythonhosted.org/packages/78/fc/045da320987f401af5d2815d351e8aa799aec859f60e29f445e3089eeedb/coverage-7.14.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "c79d2319cabef1fe8e86df73371126931550804738f78ad7d31e3aad85a67367", + "url": "https://files.pythonhosted.org/packages/7d/38/1d37d316b174fad3843a1d76dbdfe4398771c9ecd0515935dd9ece9cd627/coverage-7.14.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "668b92e6958c4db7cf92e81caac328dfbbdbb215db2850ad28f0cbe1eea0bfbd", + "url": "https://files.pythonhosted.org/packages/9a/cd/3fb5e06c3badefd0c1b47e2044fdca67f8220a4ec2e7fcfb476aa0a67c6c/coverage-7.14.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "a841fae2fadcae4f438d43b6ccc4aac2ad609f47cdb6cfdce60cbb3fe5ca7bc2", + "url": "https://files.pythonhosted.org/packages/9e/7b/5bfd7ac1df3b881c2ac7a5cbc99c7609e6296c402f5ef587cd81c6f355b3/coverage-7.14.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "45899ec2138a4346ed34d601dedf5076fb74edf2d1dd9dc76a78e82397edee90", + "url": "https://files.pythonhosted.org/packages/a0/f5/3570342900f2acea31d33ff1590c5d8bac1a8e1a2e1c6d34a5d5e61de681/coverage-7.14.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "9fbd898551762dea00d3fef2b1c4f99afd2c6a3ff952ea07d60a9bd5ed4f34bc", + "url": "https://files.pythonhosted.org/packages/a8/e6/fbc322325c7294d3e22c1ad6b79e45d0806b25228c8e5842aed6d8169aa7/coverage-7.14.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "23b81107f46d3f21d0cbce30664fcec0f5d9f585638a67081750f99738f6bf66", + "url": "https://files.pythonhosted.org/packages/b3/af/e567cbad5ba69c013a50146dfa886dc7193361fda77521f51274ff620e1b/coverage-7.14.0-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "55d3089079ce181a4566b1065ab28d2575eb76d8ac8f81f4fcda2bf037fee087", + "url": "https://files.pythonhosted.org/packages/e1/b9/bbe87206d9687b192352f893797825b5f5b15ecd3aa9c68fbff0c074d77b/coverage-7.14.0-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "953f521ca9445300397e65fda3dca58b2dbd68fee983777420b57ac3c77e9f90", + "url": "https://files.pythonhosted.org/packages/e6/f1/a46cc0c013be170216253184a32366d7cbdb9252feaec866b05c2d12a894/coverage-7.14.0-cp313-cp313t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "63df0fe568e698e1045792399f8ab6da3a6c2dce3182813fb92afa2641087b47", + "url": "https://files.pythonhosted.org/packages/ed/ea/c919e259081dd2bdf0e43b87209709ba7ec2e4117c2a7f5185379c43463c/coverage-7.14.0-cp313-cp313t-musllinux_1_2_riscv64.whl" + } + ], + "project_name": "coverage", + "requires_dists": [ + "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" + ], + "requires_python": ">=3.10", + "version": "7.14.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a1529d614f44b863a7b480c6d000fe93b59acee9c82ffa027cfadc77521a9f5e", + "url": "https://files.pythonhosted.org/packages/41/52/a8908dcb1a389a459a29008c29966c1d552588d4ae6d43f3a1a4512e0ebe/cryptography-46.0.7-cp38-abi3-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ea42cbe97209df307fdc3b155f1b6fa2577c0defa8f1f7d3be7d31d189108ad4", + "url": "https://files.pythonhosted.org/packages/0b/5d/4a8f770695d73be252331e60e526291e3df0c9b27556a90a6b47bccca4c2/cryptography-46.0.7-cp311-abi3-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "cbd5fb06b62bd0721e1170273d3f4d5a277044c47ca27ee257025146c34cbdd1", + "url": "https://files.pythonhosted.org/packages/0f/54/6bbbfc5efe86f9d71041827b793c24811a017c6ac0fd12883e4caa86b8ed/cryptography-46.0.7-cp311-abi3-manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "5d1c02a14ceb9148cc7816249f64f623fbfee39e8c03b3650d842ad3f34d637e", + "url": "https://files.pythonhosted.org/packages/10/f2/19ceb3b3dc14009373432af0c13f46aa08e3ce334ec6eff13492e1812ccd/cryptography-46.0.7-cp311-abi3-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "cdfbe22376065ffcf8be74dc9a909f032df19bc58a699456a21712d6e5eabfd0", + "url": "https://files.pythonhosted.org/packages/16/01/0cd51dd86ab5b9befe0d031e276510491976c3a80e9f6e31810cce46c4ad/cryptography-46.0.7-cp38-abi3-manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "420b1e4109cc95f0e5700eed79908cef9268265c773d3a66f7af1eef53d409ef", + "url": "https://files.pythonhosted.org/packages/2d/cf/054b9d8220f81509939599c8bdbc0c408dbd2bdd41688616a20731371fe0/cryptography-46.0.7-cp311-abi3-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "8a469028a86f12eb7d2fe97162d0634026d92a21f3ae0ac87ed1c4a447886c83", + "url": "https://files.pythonhosted.org/packages/36/5f/313586c3be5a2fbe87e4c9a254207b860155a8e1f3cca99f9910008e7d08/cryptography-46.0.7-cp311-abi3-manylinux_2_34_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e4cfd68c5f3e0bfdad0d38e023239b96a2fe84146481852dffbcca442c245aa5", + "url": "https://files.pythonhosted.org/packages/47/93/ac8f3d5ff04d54bc814e961a43ae5b0b146154c89c61b47bb07557679b18/cryptography-46.0.7.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "5ad9ef796328c5e3c4ceed237a183f5d41d21150f972455a9d926593a1dcb308", + "url": "https://files.pythonhosted.org/packages/4a/9a/1765afe9f572e239c3469f2cb429f3ba7b31878c893b246b4b2994ffe2fe/cryptography-46.0.7-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b36a4695e29fe69215d75960b22577197aca3f7a25b9cf9d165dcfe9d80bc325", + "url": "https://files.pythonhosted.org/packages/5f/45/6d80dc379b0bbc1f9d1e429f42e4cb9e1d319c7a8201beffd967c516ea01/cryptography-46.0.7-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "9694078c5d44c157ef3162e3bf3946510b857df5a3955458381d1c7cfc143ddb", + "url": "https://files.pythonhosted.org/packages/69/33/60dfc4595f334a2082749673386a4d05e4f0cf4df8248e63b2c3437585f2/cryptography-46.0.7-cp311-abi3-manylinux_2_34_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "935ce7e3cfdb53e3536119a542b839bb94ec1ad081013e9ab9b7cfd478b05006", + "url": "https://files.pythonhosted.org/packages/80/07/ad9b3c56ebb95ed2473d46df0847357e01583f4c52a85754d1a55e29e4d0/cryptography-46.0.7-cp38-abi3-manylinux_2_34_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "128c5edfe5e5938b86b03941e94fac9ee793a94452ad1365c9fc3f4f62216832", + "url": "https://files.pythonhosted.org/packages/8a/6c/1a42450f464dda6ffbe578a911f773e54dd48c10f9895a23a7e88b3e7db5/cryptography-46.0.7-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "73510b83623e080a2c35c62c15298096e2a5dc8d51c3b4e1740211839d0dea77", + "url": "https://files.pythonhosted.org/packages/8f/3e/af9246aaf23cd4ee060699adab1e47ced3f5f7e7a8ffdd339f817b446462/cryptography-46.0.7-cp311-abi3-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "abad9dac36cbf55de6eb49badd4016806b3165d396f64925bf2999bcb67837ba", + "url": "https://files.pythonhosted.org/packages/92/49/819d6ed3a7d9349c2939f81b500a738cb733ab62fbecdbc1e38e83d45e12/cryptography-46.0.7-cp38-abi3-manylinux_2_34_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "5e51be372b26ef4ba3de3c167cd3d1022934bc838ae9eaad7e644986d2a3d163", + "url": "https://files.pythonhosted.org/packages/9a/92/4ed714dbe93a066dc1f4b4581a464d2d7dbec9046f7c8b7016f5286329e2/cryptography-46.0.7-cp38-abi3-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "84d4cced91f0f159a7ddacad249cc077e63195c36aac40b4150e7a57e84fffe7", + "url": "https://files.pythonhosted.org/packages/a5/d0/36a49f0262d2319139d2829f773f1b97ef8aef7f97e6e5bd21455e5a8fb5/cryptography-46.0.7-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7bbc6ccf49d05ac8f7d7b5e2e2c33830d4fe2061def88210a126d130d7f71a85", + "url": "https://files.pythonhosted.org/packages/a5/ef/649750cbf96f3033c3c976e112265c33906f8e462291a33d77f90356548c/cryptography-46.0.7-cp38-abi3-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "462ad5cb1c148a22b2e3bcc5ad52504dff325d17daf5df8d88c17dda1f75f2a4", + "url": "https://files.pythonhosted.org/packages/a7/7f/cd42fc3614386bc0c12f0cb3c4ae1fc2bbca5c9662dfed031514911d513d/cryptography-46.0.7-cp38-abi3-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "cdf1a610ef82abb396451862739e3fc93b071c844399e15b90726ef7470eeaf2", + "url": "https://files.pythonhosted.org/packages/b7/e6/a26b84096eddd51494bba19111f8fffe976f6a09f132706f8f1bf03f51f7/cryptography-46.0.7-cp38-abi3-manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "35719dc79d4730d30f1c2b6474bd6acda36ae2dfae1e3c16f2051f215df33ce0", + "url": "https://files.pythonhosted.org/packages/b8/c7/201d3d58f30c4c2bdbe9b03844c291feb77c20511cc3586daf7edc12a47b/cryptography-46.0.7-cp38-abi3-manylinux_2_34_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "1d25aee46d0c6f1a501adcddb2d2fee4b979381346a78558ed13e50aa8a59067", + "url": "https://files.pythonhosted.org/packages/c7/08/ffd537b605568a148543ac3c2b239708ae0bd635064bab41359252ef88ed/cryptography-46.0.7-cp38-abi3-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "42a1e5f98abb6391717978baf9f90dc28a743b7d9be7f0751a6f56a75d14065b", + "url": "https://files.pythonhosted.org/packages/c7/0b/333ddab4270c4f5b972f980adef4faa66951a4aaf646ca067af597f15563/cryptography-46.0.7-cp311-abi3-manylinux_2_34_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "91bbcb08347344f810cbe49065914fe048949648f6bd5c2519f34619142bbe85", + "url": "https://files.pythonhosted.org/packages/d2/14/633913398b43b75f1234834170947957c6b623d1701ffc7a9600da907e89/cryptography-46.0.7-cp311-abi3-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "24402210aa54baae71d99441d15bb5a1919c195398a87b563df84468160a65de", + "url": "https://files.pythonhosted.org/packages/f9/46/4e4e9c6040fb01c7467d47217d2f882daddeb8828f7df800cb806d8a2288/cryptography-46.0.7-cp311-abi3-manylinux_2_31_armv7l.whl" + } + ], + "project_name": "cryptography", + "requires_dists": [ + "bcrypt>=3.1.5; extra == \"ssh\"", + "build>=1.0.0; extra == \"sdist\"", + "certifi>=2024; extra == \"test\"", + "cffi>=1.14; python_full_version == \"3.8.*\" and platform_python_implementation != \"PyPy\"", + "cffi>=2.0.0; python_full_version >= \"3.9\" and platform_python_implementation != \"PyPy\"", + "check-sdist; extra == \"pep8test\"", + "click>=8.0.1; extra == \"pep8test\"", + "cryptography-vectors==46.0.7; extra == \"test\"", + "mypy>=1.14; extra == \"pep8test\"", + "nox[uv]>=2024.4.15; extra == \"nox\"", + "pretend>=0.7; extra == \"test\"", + "pyenchant>=3; extra == \"docstest\"", + "pytest-benchmark>=4.0; extra == \"test\"", + "pytest-cov>=2.10.1; extra == \"test\"", + "pytest-randomly; extra == \"test-randomorder\"", + "pytest-xdist>=3.5.0; extra == \"test\"", + "pytest>=7.4.0; extra == \"test\"", + "readme-renderer>=30.0; extra == \"docstest\"", + "ruff>=0.11.11; extra == \"pep8test\"", + "sphinx-inline-tabs; extra == \"docs\"", + "sphinx-rtd-theme>=3.0.0; extra == \"docs\"", + "sphinx>=5.3.0; extra == \"docs\"", + "sphinxcontrib-spelling>=7.3.1; extra == \"docstest\"", + "typing-extensions>=4.13.2; python_full_version < \"3.11\"" + ], + "requires_python": "!=3.9.0,!=3.9.1,>=3.8", + "version": "46.0.7" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "78c84d5e5378df7d08622bbd0477a1abdbd209680e95480bf22f12d5701efc98", + "url": "https://files.pythonhosted.org/packages/63/51/ef6c5628e46092f0a54c7cee69acc827adc6b6aab57b55d344fefbdf28f1/cssbeautifier-1.15.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9bb08dc3f64c101a01677f128acf01905914cf406baf87434dcde05b74c0acf5", + "url": "https://files.pythonhosted.org/packages/f7/01/fdf41c1e5f93d359681976ba10410a04b299d248e28ecce1d4e88588dde4/cssbeautifier-1.15.4.tar.gz" + } + ], + "project_name": "cssbeautifier", + "requires_dists": [ + "editorconfig>=0.12.2", + "jsbeautifier", + "six>=1.13.0" + ], + "requires_python": null, + "version": "1.15.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "7dca0da053d3b4cc4869eff49c61c03f3c5dbaa0bcd712317a358d5b8f3f385d", + "url": "https://files.pythonhosted.org/packages/18/23/6db3aba46864aee357ab2415135b3fe3da7e9f1fa0221fa2a86a5968099c/cuda_bindings-13.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6629ca2df6f795b784752409bcaedbd22a7a651b74b56a165ebc0c9dcbd504d0", + "url": "https://files.pythonhosted.org/packages/df/93/eef988860a3ca985f82c4f3174fc0cdd94e07331ba9a92e8e064c260337f/cuda_bindings-13.2.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + } + ], + "project_name": "cuda-bindings", + "requires_dists": [ + "cuda-pathfinder~=1.1", + "cuda-toolkit[cufile]==13.*; sys_platform == \"linux\" and extra == \"all\"", + "cuda-toolkit[nvfatbin,nvjitlink,nvrtc,nvvm]==13.*; extra == \"all\"" + ], + "requires_python": ">=3.10", + "version": "13.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "9563d3175ce1828531acf4b94e1c1c7d67208c347ca002493e2654878b26f4b7", + "url": "https://files.pythonhosted.org/packages/11/d0/c177e29701cf1d3008d7d2b16b5fc626592ce13bd535f8795c5f57187e0e/cuda_pathfinder-1.5.4-py3-none-any.whl" + } + ], + "project_name": "cuda-pathfinder", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "1.5.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b198824cf2f54003f50d64ada3a0f184b42ca0846c1c94192fa269ecd97a66eb", + "url": "https://files.pythonhosted.org/packages/57/b2/453099f5f3b698d7d0eab38916aac44c7f76229f451709e2eb9db6615dcd/cuda_toolkit-13.0.2-py2.py3-none-any.whl" + } + ], + "project_name": "cuda-toolkit", + "requires_dists": [ + "nvidia-cublas==13.1.0.3.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cublas==13.1.0.3.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cublas\"", + "nvidia-cuda-cccl==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-cccl==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cccl\"", + "nvidia-cuda-crt==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-crt==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"crt\"", + "nvidia-cuda-culibos==13.0.85.*; sys_platform == \"linux\" and extra == \"all\"", + "nvidia-cuda-culibos==13.0.85.*; sys_platform == \"linux\" and extra == \"culibos\"", + "nvidia-cuda-cupti==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-cupti==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cupti\"", + "nvidia-cuda-cuxxfilt==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-cuxxfilt==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cuxxfilt\"", + "nvidia-cuda-nvcc==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-nvcc==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvcc\"", + "nvidia-cuda-nvrtc==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-nvrtc==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvrtc\"", + "nvidia-cuda-opencl==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-opencl==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"opencl\"", + "nvidia-cuda-profiler-api==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-profiler-api==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"profiler\"", + "nvidia-cuda-runtime==13.0.96.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-runtime==13.0.96.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cudart\"", + "nvidia-cuda-sanitizer-api==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cuda-sanitizer-api==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"sanitizer\"", + "nvidia-cufft==12.0.0.61.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cufft==12.0.0.61.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cufft\"", + "nvidia-cufile==1.15.1.6.*; sys_platform == \"linux\" and extra == \"all\"", + "nvidia-cufile==1.15.1.6.*; sys_platform == \"linux\" and extra == \"cufile\"", + "nvidia-curand==10.4.0.35.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-curand==10.4.0.35.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"curand\"", + "nvidia-cusolver==12.0.4.66.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cusolver==12.0.4.66.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cusolver\"", + "nvidia-cusparse==12.6.3.3.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-cusparse==12.6.3.3.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"cusparse\"", + "nvidia-npp==13.0.1.2.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-npp==13.0.1.2.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"npp\"", + "nvidia-nvfatbin==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-nvfatbin==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvfatbin\"", + "nvidia-nvjitlink==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-nvjitlink==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvjitlink\"", + "nvidia-nvjpeg==13.0.1.86.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-nvjpeg==13.0.1.86.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvjpeg\"", + "nvidia-nvml-dev==13.0.87.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-nvml-dev==13.0.87.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvml\"", + "nvidia-nvptxcompiler==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-nvptxcompiler==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvptxcompiler\"", + "nvidia-nvtx==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-nvtx==13.0.85.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvtx\"", + "nvidia-nvvm==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"all\"", + "nvidia-nvvm==13.0.88.*; (sys_platform == \"linux\" or sys_platform == \"win32\") and extra == \"nvvm\"" + ], + "requires_python": null, + "version": "13.0.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "881e96b387b95b35ad85acd855f229d7f5b79073d6649089c8a33f661885e055", + "url": "https://files.pythonhosted.org/packages/01/34/6171ab34715ed210bcd6c2b38839cc792993cff4fe2493f50bc92b0086a0/daphne-4.2.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "5f898e700a1fda7addf1541d7c328606415e96a7bd768405f0463c312fcb31b3", + "url": "https://files.pythonhosted.org/packages/cd/9d/322b605fdc03b963cf2d33943321c8f4405e8d82e698bf49d1eed1ca40c4/daphne-4.2.1.tar.gz" + } + ], + "project_name": "daphne", + "requires_dists": [ + "asgiref<4,>=3.5.2", + "autobahn>=22.4.2", + "black; extra == \"tests\"", + "django; extra == \"tests\"", + "flake8-bugbear; extra == \"tests\"", + "flake8; extra == \"tests\"", + "hypothesis; extra == \"tests\"", + "mypy; extra == \"tests\"", + "pytest-asyncio; extra == \"tests\"", + "pytest-cov; extra == \"tests\"", + "pytest; extra == \"tests\"", + "tox; extra == \"tests\"", + "twisted[tls]>=22.4" + ], + "requires_python": ">=3.9", + "version": "4.2.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", + "url": "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", + "url": "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz" + } + ], + "project_name": "decorator", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "5.2.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "597bfef186b6f60181535a29fbe44865ce137a5079f295b479886c82729d5f3f", + "url": "https://files.pythonhosted.org/packages/84/d0/205d54408c08b13550c733c4b85429e7ead111c7f0014309637425520a9a/deprecated-1.3.1-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b1b50e0ff0c1fddaa5708a2c6b0a6588bb09b892825ab2b214ac9ea9d92a5223", + "url": "https://files.pythonhosted.org/packages/49/85/12f0a49a7c4ffb70572b6c2ef13c90c88fd190debda93b23f026b25f9634/deprecated-1.3.1.tar.gz" + } + ], + "project_name": "deprecated", + "requires_dists": [ + "PyTest-Cov; extra == \"dev\"", + "PyTest; extra == \"dev\"", + "bump2version<1; extra == \"dev\"", + "inspect2; python_version < \"3\"", + "setuptools; python_version >= \"3.12\" and extra == \"dev\"", + "tox; extra == \"dev\"", + "wrapt<3,>=1.10" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", + "version": "1.3.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "93cea333fb8b2bc0d181b0de5e16df50dd344ce64828226bda07728818936782", + "url": "https://files.pythonhosted.org/packages/f7/bb/2aa9b46a01197398b901e458974c20ed107935c26e44e37ad5b0e5511e44/diff_match_patch-20241021-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "beae57a99fa48084532935ee2968b8661db861862ec82c6f21f4acdd6d835073", + "url": "https://files.pythonhosted.org/packages/0e/ad/32e1777dd57d8e85fa31e3a243af66c538245b8d64b7265bec9a61f2ca33/diff_match_patch-20241021.tar.gz" + } + ], + "project_name": "diff-match-patch", + "requires_dists": [ + "attribution==1.8.0; extra == \"dev\"", + "black==24.8.0; extra == \"dev\"", + "build>=1; extra == \"dev\"", + "flit==3.9.0; extra == \"dev\"", + "mypy==1.12.1; extra == \"dev\"", + "ufmt==2.7.3; extra == \"dev\"", + "usort==1.0.8.post1; extra == \"dev\"" + ], + "requires_python": ">=3.7", + "version": "20241021" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1e1ce33e978ae97fcfcff5638477032b801c46c7c65cf717f95fbc2248f79a9d", + "url": "https://files.pythonhosted.org/packages/1e/77/dc8c558f7593132cf8fefec57c4f60c83b16941c574ac5f619abb3ae7933/dill-0.4.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "423092df4182177d4d8ba8290c8a5b640c66ab35ec7da59ccfa00f6fa3eea5fa", + "url": "https://files.pythonhosted.org/packages/81/e1/56027a71e31b02ddc53c7d65b01e68edf64dea2932122fe7746a516f75d5/dill-0.4.1.tar.gz" + } + ], + "project_name": "dill", + "requires_dists": [ + "gprof2dot>=2022.7.29; extra == \"profile\"", + "objgraph>=1.7.2; extra == \"graph\"" + ], + "requires_python": ">=3.9", + "version": "0.4.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", + "url": "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", + "url": "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz" + } + ], + "project_name": "distlib", + "requires_dists": [], + "requires_python": null, + "version": "0.4.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "544e015fee3efa5127a1eb1cca465f4ace578265b3671fe61d0ed7dbafb5ec8a", + "url": "https://files.pythonhosted.org/packages/cf/a9/57c66006373381f1d3e5bd94216f1d371228a89f443d3030e010f73dd198/dj_database_url-3.1.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "63c20e4bbaa51690dfd4c8d189521f6bf6bc9da9fcdb23d95d2ee8ee87f9ec62", + "url": "https://files.pythonhosted.org/packages/03/f6/00b625e9d371b980aa261011d0dc906a16444cb688f94215e0dc86996eb5/dj_database_url-3.1.2.tar.gz" + } + ], + "project_name": "dj-database-url", + "requires_dists": [ + "django>=4.2" + ], + "requires_python": ">=3.10", + "version": "3.1.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f77af37da5cf6ee28f03f283a378a2f5761860e72d1d6f2fa3d50e6286000482", + "url": "https://files.pythonhosted.org/packages/14/fd/c8a185a98f6860b802dc5e663c652efc01cd68f4e046c65f8cb9328c0077/dj_rest_auth-7.2.0.tar.gz" + } + ], + "project_name": "dj-rest-auth", + "requires_dists": [ + "Django>=4.2", + "django-allauth[socialaccount]>=64.0.0; extra == \"with-social\"", + "djangorestframework>=3.13.0", + "pyotp>=2.9.0; extra == \"with-mfa\"" + ], + "requires_python": ">=3.10", + "version": "7.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "9d58a7cb49244e74c8e161d5e403a46d6209f1009ba40f5a66d6aa0d0786a8f0", + "url": "https://files.pythonhosted.org/packages/94/5b/1328f8b84fce040c404f76822bf8c57d254e368e8cbd8bd67ec2b26d75f5/django-6.0.5-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "bc6d6872e98a2864c836e42edd644b362db311147dd5aa8d5b82ba7a032f5269", + "url": "https://files.pythonhosted.org/packages/5e/f1/bf85f0d29ef76abf901f193fe8fef4769d3da7794197832bc30151c071d8/django-6.0.5.tar.gz" + } + ], + "project_name": "django", + "requires_dists": [ + "argon2-cffi>=23.1.0; extra == \"argon2\"", + "asgiref>=3.9.1", + "bcrypt>=4.1.1; extra == \"bcrypt\"", + "sqlparse>=0.5.0", + "tzdata; sys_platform == \"win32\"" + ], + "requires_python": ">=3.12", + "version": "6.0.5" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e49df24056bf37c44e56aaad1e51f78994b7d175bc3476d65e8f8f58390a8ce8", + "url": "https://files.pythonhosted.org/packages/ad/58/d95b6c3088d83697bfd93782ee57bc6a6462e41eb19121a947b8a015396a/django_allauth-65.16.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4425ac3088541c4c54983e16e08f6e3eb9f438dc1b1009534fa51c8bb739ed31", + "url": "https://files.pythonhosted.org/packages/3d/df/357187dfff18c7783e4911827a6c69437e290d7259a32a99c23fcd85997f/django_allauth-65.16.1.tar.gz" + } + ], + "project_name": "django-allauth", + "requires_dists": [ + "Django>=4.2.16", + "PyYAML<7,>=6; extra == \"headless-spec\"", + "asgiref>=3.8.1", + "fido2<3,>=1.1.2; extra == \"mfa\"", + "oauthlib<4,>=3.3.0; extra == \"idp-oidc\"", + "oauthlib<4,>=3.3.0; extra == \"socialaccount\"", + "pyjwt[crypto]<3,>=2.0; extra == \"headless\"", + "pyjwt[crypto]<3,>=2.0; extra == \"idp-oidc\"", + "pyjwt[crypto]<3,>=2.0; extra == \"socialaccount\"", + "python3-openid<4,>=3.0.8; extra == \"openid\"", + "python3-openid<4,>=3.0.8; extra == \"steam\"", + "python3-saml<2.0.0,>=1.15.0; extra == \"saml\"", + "qrcode<9,>=7.0.0; extra == \"mfa\"", + "requests<3,>=2.0.0; extra == \"socialaccount\"" + ], + "requires_python": ">=3.10", + "version": "65.16.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "64d33dd1084bfc8e4e12245f56629be40aa0b0498fc7fc7544d87b9b2048be1e", + "url": "https://files.pythonhosted.org/packages/75/d1/daae99ec3b30886010a499975880ec20c32c622bee6b92c226b715e42f0c/django_anymail-15.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "23d8ab6589afe8cc1ae7665c26879814ad192f4c3ed837a2a1868b0a056869e0", + "url": "https://files.pythonhosted.org/packages/00/43/f0aadb31f2c58afcd9f001f4291998cbd6d289898167e79d908506fc6faf/django_anymail-15.0.tar.gz" + } + ], + "project_name": "django-anymail", + "requires_dists": [ + "boto3>=1.24.6; extra == \"amazon-ses\"", + "cryptography; extra == \"postal\"", + "cryptography; extra == \"sendgrid\"", + "django>=5.0", + "idna", + "requests>=2.4.3", + "svix; extra == \"resend\"", + "typing-extensions>=4.12; python_version < \"3.11\"", + "urllib3>=1.25.0", + "uts46; extra == \"uts46\"" + ], + "requires_python": ">=3.10", + "version": "15.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "15c7f20727f90044dcee2216a9fd7303741a864865f0c3657e28b7056f61b449", + "url": "https://files.pythonhosted.org/packages/30/d8/19ed1e47badf477d17fb177c1c19b5a21da0fd2d9f093f23be3fb86c5fab/django_cors_headers-4.9.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "fe5d7cb59fdc2c8c646ce84b727ac2bca8912a247e6e68e1fb507372178e59e8", + "url": "https://files.pythonhosted.org/packages/21/39/55822b15b7ec87410f34cd16ce04065ff390e50f9e29f31d6d116fc80456/django_cors_headers-4.9.0.tar.gz" + } + ], + "project_name": "django-cors-headers", + "requires_dists": [ + "asgiref>=3.6", + "django>=4.2" + ], + "requires_python": ">=3.9", + "version": "4.9.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8be2782e505ae303ccb02070a1b4c528995922126fca9ee449eb28666835dd4b", + "url": "https://files.pythonhosted.org/packages/91/d1/110aeb2acffea56d4222861b5678c2643f0bda00081e40d687077348bb7c/django_import_export-4.4.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "165dc7fdcd56a6356342eef3f88f3f3682b64b6f67e9a259a137e8b57aeff10c", + "url": "https://files.pythonhosted.org/packages/92/32/5b83cc46a70ac94c1d17144097bf8aee7d9bb401d0863652c8d5ce1d2e50/django_import_export-4.4.1.tar.gz" + } + ], + "project_name": "django-import-export", + "requires_dists": [ + "Django>=4.2", + "chardet==5.2.0; extra == \"tests\"", + "coverage==7.6.4; extra == \"tests\"", + "diff-match-patch==20241021", + "django-extensions==3.2.3; extra == \"tests\"", + "memory-profiler==0.61.0; extra == \"tests\"", + "mysqlclient==2.2.5; extra == \"tests\"", + "openpyxl==3.1.5; extra == \"docs\"", + "psycopg[binary]>=3.2.9; extra == \"docs\"", + "psycopg[binary]>=3.2.9; extra == \"tests\"", + "pytz==2024.2; extra == \"tests\"", + "setuptools-scm==8.1.0; extra == \"tests\"", + "sphinx-rtd-theme==3.0.1; extra == \"docs\"", + "sphinx==8.1.3; extra == \"docs\"", + "tablib>=3.7.0", + "tablib[all]; extra == \"all\"", + "tablib[all]>=3.7.0; extra == \"tests\"", + "tablib[cli]; extra == \"cli\"", + "tablib[ods]; extra == \"ods\"", + "tablib[pandas]; extra == \"pandas\"", + "tablib[xls]; extra == \"xls\"", + "tablib[xlsx]; extra == \"xlsx\"", + "tablib[yaml]; extra == \"yaml\"" + ], + "requires_python": ">=3.9", + "version": "4.4.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "11b7b6200e1cb5ffcd9962bd3673a39c7d6a6109e8096f0e03d46fab3d3aabd9", + "url": "https://files.pythonhosted.org/packages/1f/21/3cedee63417bc5553eed0c204be478071c9ab208e5e259e97287590194f1/django_storages-1.14.6-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7a25ce8f4214f69ac9c7ce87e2603887f7ae99326c316bc8d2d75375e09341c9", + "url": "https://files.pythonhosted.org/packages/ff/d6/2e50e378fff0408d558f36c4acffc090f9a641fd6e084af9e54d45307efa/django_storages-1.14.6.tar.gz" + } + ], + "project_name": "django-storages", + "requires_dists": [ + "Django>=3.2", + "apache-libcloud; extra == \"libcloud\"", + "azure-core>=1.13; extra == \"azure\"", + "azure-storage-blob>=12; extra == \"azure\"", + "boto3>=1.4.4; extra == \"boto3\"", + "boto3>=1.4.4; extra == \"s3\"", + "dropbox>=7.2.1; extra == \"dropbox\"", + "google-cloud-storage>=1.36.1; extra == \"google\"", + "paramiko>=1.15; extra == \"sftp\"" + ], + "requires_python": ">=3.7", + "version": "1.14.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e991c68f77239663577a5f4fc75e99c84f867f378cafc97cbf4acc5aff378279", + "url": "https://files.pythonhosted.org/packages/ba/e7/5128914ada94dd6277626ef5a4a5680a4def7d2f9366214d26c1cd86723b/django_stubs-6.0.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7aee77e8de9c14c0d9cf84988befe826d93cbc15a87e0ade2943f14d553451cf", + "url": "https://files.pythonhosted.org/packages/f9/82/ccf2a2dc9cdb4bd9cbe91f11e887589bf2da7609506db00ccbc73bd8a6da/django_stubs-6.0.4.tar.gz" + } + ], + "project_name": "django-stubs", + "requires_dists": [ + "django", + "django-stubs-ext>=6.0.2", + "mypy<2.1,>=1.13; extra == \"compatible-mypy\"", + "oracledb; extra == \"oracle\"", + "redis; extra == \"redis\"", + "tomli; python_full_version < \"3.11\"", + "types-pyyaml", + "types-redis; extra == \"redis\"", + "typing-extensions>=4.11.0" + ], + "requires_python": ">=3.10", + "version": "6.0.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0434a912bb08a370afcac9e90305c53e6f4eed3c1d1d46962559da5f8dbb8f27", + "url": "https://files.pythonhosted.org/packages/b4/42/7db8470c0e276e7c7763c468441381dfa8727a360c68473f33ef828422bb/django_stubs_ext-6.0.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "ff21f7b4362928b56e18cda0595f296e33c665f3019f4e3e4231977385e76cac", + "url": "https://files.pythonhosted.org/packages/c6/b0/94335dc59138483c2bd2edf81cb39240fdef5e72c8cf0a6c177db207617b/django_stubs_ext-6.0.4.tar.gz" + } + ], + "project_name": "django-stubs-ext", + "requires_dists": [ + "django", + "typing-extensions" + ], + "requires_python": ">=3.10", + "version": "6.0.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ddb478ca733e0dde5475118dd59ab340156980f9659fd92de2083326ae96100a", + "url": "https://files.pythonhosted.org/packages/2f/ab/f5c37ecc08c396df62579246597796697b58253c8b30206870e8d0f644d0/django_types-0.24.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "af903de8b9ee963b7594459a7a20cb8eaaab176ae2b3244ecaa089e0c570b0d1", + "url": "https://files.pythonhosted.org/packages/d7/7b/8e05b8631fa7de84038d4f24fa57e983107aff889a6d88a9c40a21e15d1c/django_types-0.24.0.tar.gz" + } + ], + "project_name": "django-types", + "requires_dists": [ + "types-psycopg2>=2.9.21.13" + ], + "requires_python": ">=3.10", + "version": "0.24.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d0a09ebe906278fa994d6eb808880ba3f24c20d8c3a5ca37f82ee89969fd459c", + "url": "https://files.pythonhosted.org/packages/8f/6c/c6c63af9eaabf85877005ba307a7af80088e9d28efd77c6431ec8c61c3c3/django_unfold-0.93.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "bce719989d199484c989e4042f338c287394c4562af05785f4fa511a8e3be859", + "url": "https://files.pythonhosted.org/packages/95/55/0649c4e7b540528f80078c300db7ae299502f3c2fccd4d6882193fa104d1/django_unfold-0.93.0.tar.gz" + } + ], + "project_name": "django-unfold", + "requires_dists": [ + "django>=5.1" + ], + "requires_python": "<4.0,>=3.12", + "version": "0.93.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f4c1e5173952fc86eaf48aff812395c897284859981758ace49856fad2683dee", + "url": "https://files.pythonhosted.org/packages/4f/16/2056b143502f3486b9bdce30f245ecc244e4e37c7119f55cdcad7e73c910/djangochannelsrestframework-1.3.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f797a2b7cdc916f38da32de2a61f708efd2b81ea98afcc3dcc1f7fb4e5269fc3", + "url": "https://files.pythonhosted.org/packages/29/55/a2bae8b7e8a024167e76a131c7c9d4cb406ad131e4d618d0edf06d05f899/djangochannelsrestframework-1.3.0.tar.gz" + } + ], + "project_name": "djangochannelsrestframework", + "requires_dists": [ + "Django>=4.2.16", + "channels>=4.1.0", + "channels[daphne]>=4.1.0; extra == \"tests\"", + "coverage>=6.3.1; extra == \"tests\"", + "djangorestframework>=3.15.2", + "pytest-asyncio>=0.24.0; extra == \"tests\"", + "pytest-django>=4.9.0; extra == \"tests\"", + "pytest>=8.3.3; extra == \"tests\"" + ], + "requires_python": ">=3.8", + "version": "1.3.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c3c74dd3e83a5a3efc37b3c18d92bd6f86a6791c7b7d4dff62bb068500e76457", + "url": "https://files.pythonhosted.org/packages/5a/e1/2c516bdc83652b1a60c6119366ac2c0607b479ed05cd6093f916ca8928f8/djangorestframework-3.17.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "a6def5f447fe78ff853bff1d47a3c59bf38f5434b031780b351b0c73a62db1a5", + "url": "https://files.pythonhosted.org/packages/ca/d7/c016e69fac19ff8afdc89db9d31d9ae43ae031e4d1993b20aca179b8301a/djangorestframework-3.17.1.tar.gz" + } + ], + "project_name": "djangorestframework", + "requires_dists": [ + "django>=4.2" + ], + "requires_python": ">=3.10", + "version": "3.17.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2c30f3707053d384e9f315d11c2daccfcb548d4faa453111ca19a542b732e469", + "url": "https://files.pythonhosted.org/packages/60/94/fdfb7b2f0b16cd3ed4d4171c55c1c07a2d1e3b106c5978c8ad0c15b4a48b/djangorestframework_simplejwt-5.5.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e72c5572f51d7803021288e2057afcbd03f17fe11d484096f40a460abc76e87f", + "url": "https://files.pythonhosted.org/packages/a8/27/2874a325c11112066139769f7794afae238a07ce6adf96259f08fd37a9d7/djangorestframework_simplejwt-5.5.1.tar.gz" + } + ], + "project_name": "djangorestframework-simplejwt", + "requires_dists": [ + "Sphinx; extra == \"dev\"", + "Sphinx; extra == \"doc\"", + "cryptography; extra == \"dev\"", + "cryptography; extra == \"test\"", + "cryptography>=3.3.1; extra == \"crypto\"", + "django>=4.2", + "djangorestframework>=3.14", + "freezegun; extra == \"dev\"", + "freezegun; extra == \"test\"", + "ipython; extra == \"dev\"", + "pre-commit; extra == \"dev\"", + "pre-commit; extra == \"lint\"", + "pyjwt>=1.7.1", + "pytest-cov; extra == \"dev\"", + "pytest-cov; extra == \"test\"", + "pytest-django; extra == \"dev\"", + "pytest-django; extra == \"test\"", + "pytest-watch; extra == \"dev\"", + "pytest-xdist; extra == \"dev\"", + "pytest-xdist; extra == \"test\"", + "pytest; extra == \"dev\"", + "pytest; extra == \"test\"", + "python-jose==3.3.0; extra == \"dev\"", + "python-jose==3.3.0; extra == \"python-jose\"", + "pyupgrade; extra == \"dev\"", + "pyupgrade; extra == \"lint\"", + "ruff; extra == \"dev\"", + "ruff; extra == \"lint\"", + "sphinx_rtd_theme>=0.1.9; extra == \"dev\"", + "sphinx_rtd_theme>=0.1.9; extra == \"doc\"", + "tox; extra == \"dev\"", + "tox; extra == \"test\"", + "twine; extra == \"dev\"", + "wheel; extra == \"dev\"", + "yesqa; extra == \"dev\"", + "yesqa; extra == \"lint\"" + ], + "requires_python": ">=3.9", + "version": "5.5.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e9699b8ac3057a6ed04fb90835b89bee954ed1959c01541ce4f8f729c938afdd", + "url": "https://files.pythonhosted.org/packages/4b/67/f7aeea9be6fb3bd984487af8d0d80225a0b1e5f6f7126e3332d349fb13fe/djlint-1.36.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6c601dfa68ea253311deb4a29a7362b7a64933bdfcfb5a06618f3e70ad1fa835", + "url": "https://files.pythonhosted.org/packages/32/38/67695f7a150b3d9d62fadb65242213d96024151570c3cf5d966effa68b0e/djlint-1.36.4-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "17254f218b46fe5a714b224c85074c099bcb74e3b2e1f15c2ddc2cf415a408a1", + "url": "https://files.pythonhosted.org/packages/74/89/ecf5be9f5c59a0c53bcaa29671742c5e269cc7d0e2622e3f65f41df251bf/djlint-1.36.4.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "bda5014f295002363381969864addeb2db13955f1b26e772657c3b273ed7809f", + "url": "https://files.pythonhosted.org/packages/ac/7a/cd851393291b12e7fe17cf5d4d8874b8ea133aebbe9235f5314aabc96a52/djlint-1.36.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ead475013bcac46095b1bbc8cf97ed2f06e83422335734363f8a76b4ba7e47c2", + "url": "https://files.pythonhosted.org/packages/da/83/88b4c885812921739f5529a29085c3762705154d41caf7eb9a8886a3380c/djlint-1.36.4-cp313-cp313-macosx_10_13_x86_64.whl" + } + ], + "project_name": "djlint", + "requires_dists": [ + "click>=8.0.1", + "colorama>=0.4.4", + "cssbeautifier>=1.14.4", + "jsbeautifier>=1.14.4", + "json5>=0.9.11", + "pathspec>=0.12", + "pyyaml>=6", + "regex>=2023", + "tomli>=2.0.1; python_version < \"3.11\"", + "tqdm>=4.62.2", + "typing-extensions>=3.6.6; python_version < \"3.11\"" + ], + "requires_python": ">=3.9", + "version": "1.36.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", + "url": "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", + "url": "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz" + } + ], + "project_name": "dnspython", + "requires_dists": [ + "aioquic>=1.2.0; extra == \"doq\"", + "black>=25.1.0; extra == \"dev\"", + "coverage>=7.0; extra == \"dev\"", + "cryptography>=45; extra == \"dnssec\"", + "flake8>=7; extra == \"dev\"", + "h2>=4.2.0; extra == \"doh\"", + "httpcore>=1.0.0; extra == \"doh\"", + "httpx>=0.28.0; extra == \"doh\"", + "hypercorn>=0.17.0; extra == \"dev\"", + "idna>=3.10; extra == \"idna\"", + "mypy>=1.17; extra == \"dev\"", + "pylint>=3; extra == \"dev\"", + "pytest-cov>=6.2.0; extra == \"dev\"", + "pytest>=8.4; extra == \"dev\"", + "quart-trio>=0.12.0; extra == \"dev\"", + "sphinx-rtd-theme>=3.0.0; extra == \"dev\"", + "sphinx>=8.2.0; extra == \"dev\"", + "trio>=0.30; extra == \"trio\"", + "twine>=6.1.0; extra == \"dev\"", + "wheel>=0.45.0; extra == \"dev\"", + "wmi>=1.5.1; platform_system == \"Windows\" and extra == \"wmi\"" + ], + "requires_python": ">=3.10", + "version": "2.8.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de", + "url": "https://files.pythonhosted.org/packages/02/10/5da547df7a391dcde17f59520a231527b8571e6f46fc8efb02ccb370ab12/docutils-0.22.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968", + "url": "https://files.pythonhosted.org/packages/ae/b6/03bb70946330e88ffec97aefd3ea75ba575cb2e762061e0e62a213befee8/docutils-0.22.4.tar.gz" + } + ], + "project_name": "docutils", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "0.22.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "dd489c33d667aaa81383ffaa8c74781d2b353d8f0795716ae37fc59ee297b7c4", + "url": "https://files.pythonhosted.org/packages/3e/61/69d951a6e8031389f5feade38531432325019e1047b23d5c6036a86c5e8f/drf_nested_routers-0.95.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "815978f802e578fd7035c74040c104909cbe97615de89a275d77e928f4029891", + "url": "https://files.pythonhosted.org/packages/ff/b2/070908ccd41bd6f025f5507d7f6e50009abe8be48393cc697d159b539f0b/drf_nested_routers-0.95.0.tar.gz" + } + ], + "project_name": "drf-nested-routers", + "requires_dists": [ + "Django>=4.2", + "djangorestframework>=3.15.0" + ], + "requires_python": ">=3.8", + "version": "0.95.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d1ee7c9535d89848affb4427347f7c4a22c5d22530b8842ef133d7b72e19b41a", + "url": "https://files.pythonhosted.org/packages/32/d9/502c56fc3ca960075d00956283f1c44e8cafe433dada03f9ed2821f3073b/drf_spectacular-0.29.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0a069339ea390ce7f14a75e8b5af4a0860a46e833fd4af027411a3e94fc1a0cc", + "url": "https://files.pythonhosted.org/packages/5e/0e/a4f50d83e76cbe797eda88fc0083c8ca970cfa362b5586359ef06ec6f70a/drf_spectacular-0.29.0.tar.gz" + } + ], + "project_name": "drf-spectacular", + "requires_dists": [ + "Django>=2.2", + "PyYAML>=5.1", + "djangorestframework>=3.10.3", + "drf-spectacular-sidecar; extra == \"offline\"", + "drf-spectacular-sidecar; extra == \"sidecar\"", + "inflection>=0.3.1", + "jsonschema>=2.6.0", + "typing-extensions; python_version < \"3.10\"", + "uritemplate>=2.0.0" + ], + "requires_python": ">=3.7", + "version": "0.29.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "cf0ef3120cbbe81c1880cbb6b2d9b26cc6d146d07df06de3deb59e7ea5fb78c9", + "url": "https://files.pythonhosted.org/packages/25/7f/a72f5550b3520676e05c43f8da26b4264d994883e93c4c633f79b2f82a03/drf_standardized_errors-0.16.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "77b367955af7ed246db12d299a5a75a71eccef54dae4ef69ead29f5fb01be192", + "url": "https://files.pythonhosted.org/packages/99/3f/1a465bde6583355309559dfcfb4e7fdf1b3687f73894d7de8a959c67b50c/drf_standardized_errors-0.16.0.tar.gz" + } + ], + "project_name": "drf-standardized-errors", + "requires_dists": [ + "django>=3.2", + "djangorestframework>=3.12", + "drf-spectacular>=0.29.0; extra == \"openapi\"", + "flit; extra == \"release\"", + "inflection; extra == \"openapi\"", + "keyring; extra == \"release\"", + "myst-parser; extra == \"doc\"", + "pre-commit; extra == \"dev\"", + "sphinx!=5.2.0.post0; extra == \"doc\"", + "sphinx-autobuild; extra == \"doc\"", + "sphinx-rtd-theme>=1.1.0; extra == \"doc\"", + "tbump; extra == \"release\"", + "tox-gh-actions; extra == \"test\"", + "tox; extra == \"test\"" + ], + "requires_python": ">=3.8", + "version": "0.16.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1eda9c2c0db8c16dbd50111b710572a5e6de934e39772de1959d41f64fc17c82", + "url": "https://files.pythonhosted.org/packages/96/fd/a40c621ff207f3ce8e484aa0fc8ba4eb6e3ecf52e15b42ba764b457a9550/editorconfig-0.17.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "23c08b00e8e08cc3adcddb825251c497478df1dada6aefeb01e626ad37303745", + "url": "https://files.pythonhosted.org/packages/88/3a/a61d9a1f319a186b05d14df17daea42fcddea63c213bcd61a929fb3a6796/editorconfig-0.17.1.tar.gz" + } + ], + "project_name": "editorconfig", + "requires_dists": [ + "mypy>=1.15; extra == \"dev\"" + ], + "requires_python": ">=3.9", + "version": "0.17.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6bbff10f5a52662c00a2e3f86a38928c37c48f77b3c511aedcd51de933549324", + "url": "https://files.pythonhosted.org/packages/4e/eb/c96d64137e29ae17d83ad2552470bafe3a7a915e85434d9942077d7fd011/feedparser-6.0.12-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "64f76ce90ae3e8ef5d1ede0f8d3b50ce26bcce71dd8ae5e82b1cd2d4a5f94228", + "url": "https://files.pythonhosted.org/packages/dc/79/db7edb5e77d6dfbc54d7d9df72828be4318275b2e580549ff45a962f6461/feedparser-6.0.12.tar.gz" + } + ], + "project_name": "feedparser", + "requires_dists": [ + "sgmllib3k" + ], + "requires_python": ">=3.6", + "version": "6.0.12" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "96f5f6344709aa1572bbf631c640e4ebeeb519e08da902c39a001882f30ac258", + "url": "https://files.pythonhosted.org/packages/81/47/dd9a212ef6e343a6857485ffe25bba537304f1913bdbed446a23f7f592e1/filelock-3.29.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90", + "url": "https://files.pythonhosted.org/packages/b5/fe/997687a931ab51049acce6fa1f23e8f01216374ea81374ddee763c493db5/filelock-3.29.0.tar.gz" + } + ], + "project_name": "filelock", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "3.29.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "11ef7bb35dab8a394fde6e608221d5cf3e8499401c249bebaeaad760a1a8dec2", + "url": "https://files.pythonhosted.org/packages/d5/0c/043d5e551459da400957a1395e0febbf771446ff34291afcbe3d8be2a279/fsspec-2026.4.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "301d8ac70ae90ef3ad05dcf94d6c3754a097f9b5fe4667d2787aa359ec7df7e4", + "url": "https://files.pythonhosted.org/packages/d5/8d/1c51c094345df128ca4a990d633fe1a0ff28726c9e6b3c41ba65087bba1d/fsspec-2026.4.0.tar.gz" + } + ], + "project_name": "fsspec", + "requires_dists": [ + "adlfs; extra == \"abfs\"", + "adlfs; extra == \"adl\"", + "adlfs; extra == \"full\"", + "adlfs; extra == \"test-full\"", + "aiobotocore<3.0.0,>=2.5.4; extra == \"test-downstream\"", + "aiohttp!=4.0.0a0,!=4.0.0a1; extra == \"full\"", + "aiohttp!=4.0.0a0,!=4.0.0a1; extra == \"http\"", + "aiohttp!=4.0.0a0,!=4.0.0a1; extra == \"test\"", + "aiohttp!=4.0.0a0,!=4.0.0a1; extra == \"test-full\"", + "backports-zstd; python_version < \"3.14\" and extra == \"test-full\"", + "cloudpickle; extra == \"test-full\"", + "dask; extra == \"dask\"", + "dask; extra == \"full\"", + "dask; extra == \"test-full\"", + "dask[dataframe,test]; extra == \"test-downstream\"", + "distributed; extra == \"dask\"", + "distributed; extra == \"full\"", + "distributed; extra == \"test-full\"", + "dropbox; extra == \"dropbox\"", + "dropbox; extra == \"full\"", + "dropbox; extra == \"test-full\"", + "dropboxdrivefs; extra == \"dropbox\"", + "dropboxdrivefs; extra == \"full\"", + "dropboxdrivefs; extra == \"test-full\"", + "fastparquet; extra == \"test-full\"", + "fusepy; extra == \"full\"", + "fusepy; extra == \"fuse\"", + "fusepy; extra == \"test-full\"", + "gcsfs; extra == \"gs\"", + "gcsfs; extra == \"test-full\"", + "gcsfs>2024.2.0; extra == \"full\"", + "gcsfs>2024.2.0; extra == \"gcs\"", + "jinja2; extra == \"test-full\"", + "kerchunk; extra == \"test-full\"", + "libarchive-c; extra == \"full\"", + "libarchive-c; extra == \"libarchive\"", + "libarchive-c; extra == \"test-full\"", + "lz4; extra == \"test-full\"", + "moto[server]<5,>4; extra == \"test-downstream\"", + "notebook; extra == \"test-full\"", + "numpy; extra == \"test\"", + "numpy; extra == \"test-full\"", + "numpydoc; extra == \"doc\"", + "ocifs; extra == \"full\"", + "ocifs; extra == \"oci\"", + "ocifs; extra == \"test-full\"", + "pandas<3.0.0; extra == \"test-full\"", + "panel; extra == \"full\"", + "panel; extra == \"gui\"", + "panel; extra == \"test-full\"", + "paramiko; extra == \"full\"", + "paramiko; extra == \"sftp\"", + "paramiko; extra == \"ssh\"", + "paramiko; extra == \"test-full\"", + "pre-commit; extra == \"dev\"", + "pyarrow; extra == \"test-full\"", + "pyarrow>=1; extra == \"arrow\"", + "pyarrow>=1; extra == \"full\"", + "pyarrow>=1; extra == \"hdfs\"", + "pyarrow>=1; extra == \"test-full\"", + "pyftpdlib; extra == \"test-full\"", + "pygit2; extra == \"full\"", + "pygit2; extra == \"git\"", + "pygit2; extra == \"test-full\"", + "pytest-asyncio!=0.22.0; extra == \"test\"", + "pytest-asyncio!=0.22.0; extra == \"test-full\"", + "pytest-benchmark; extra == \"test\"", + "pytest-benchmark; extra == \"test-full\"", + "pytest-cov; extra == \"test\"", + "pytest-cov; extra == \"test-full\"", + "pytest-mock; extra == \"test\"", + "pytest-mock; extra == \"test-full\"", + "pytest-recording; extra == \"test\"", + "pytest-recording; extra == \"test-full\"", + "pytest-rerunfailures; extra == \"test\"", + "pytest-rerunfailures; extra == \"test-full\"", + "pytest-timeout; extra == \"test-downstream\"", + "pytest; extra == \"test\"", + "pytest; extra == \"test-full\"", + "python-snappy; extra == \"test-full\"", + "requests; extra == \"dropbox\"", + "requests; extra == \"full\"", + "requests; extra == \"github\"", + "requests; extra == \"test\"", + "requests; extra == \"test-full\"", + "ruff>=0.5; extra == \"dev\"", + "s3fs>2024.2.0; extra == \"full\"", + "s3fs>2024.2.0; extra == \"s3\"", + "smbprotocol; extra == \"full\"", + "smbprotocol; extra == \"smb\"", + "smbprotocol; extra == \"test-full\"", + "sphinx-design; extra == \"doc\"", + "sphinx-rtd-theme; extra == \"doc\"", + "sphinx; extra == \"doc\"", + "tqdm; extra == \"full\"", + "tqdm; extra == \"test-full\"", + "tqdm; extra == \"tqdm\"", + "urllib3; extra == \"test-full\"", + "xarray; extra == \"test-downstream\"", + "yarl; extra == \"doc\"", + "zarr; extra == \"test-full\"", + "zstandard; python_version < \"3.14\" and extra == \"test-full\"" + ], + "requires_python": ">=3.10", + "version": "2026.4.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "961ed60399c457ceb0ee8f285a84c870aabc9c6a832b9d37bb281b5bebde43ed", + "url": "https://files.pythonhosted.org/packages/e7/c8/e2645aa8ed02fd4c7a2f59d68783b65b1f3cbdfe39a6308e156509d1fee8/googleapis_common_protos-1.75.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "53a062ff3c32552fbd62c11fe23768b78e4ddf0494d5e5fd97d3f4689c75fbbd", + "url": "https://files.pythonhosted.org/packages/b5/c8/f439cffde755cffa462bfbb156278fa6f9d09119719af9814b858fd4f81f/googleapis_common_protos-1.75.0.tar.gz" + } + ], + "project_name": "googleapis-common-protos", + "requires_dists": [ + "grpcio<2.0.0,>=1.44.0; extra == \"grpc\"", + "protobuf<8.0.0,>=4.25.8" + ], + "requires_python": ">=3.9", + "version": "1.75.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8eb613f02d34721f1acf3626dfdb3545bd3c8505b0e52bf8b5710a28d02e8aa7", + "url": "https://files.pythonhosted.org/packages/10/bb/dd06f4c24c01db9cf11341b547d0a016b2c90ed7dbbb086a5710df7dd1d7/grpcio-1.80.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "92d787312e613754d4d8b9ca6d3297e69994a7912a32fa38c4c4e01c272974b0", + "url": "https://files.pythonhosted.org/packages/04/19/21a9806eb8240e174fd1ab0cd5b9aa948bb0e05c2f2f55f9d5d7405e6d08/grpcio-1.80.0-cp313-cp313-macosx_11_0_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "8ac393b58aa16991a2f1144ec578084d544038c12242da3a215966b512904d0f", + "url": "https://files.pythonhosted.org/packages/18/3a/23347d35f76f639e807fb7a36fad3068aed100996849a33809591f26eca6/grpcio-1.80.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e9e408fc016dffd20661f0126c53d8a31c2821b5c13c5d67a0f5ed5de93319ad", + "url": "https://files.pythonhosted.org/packages/2f/3a/7c3c25789e3f069e581dc342e03613c5b1cb012c4e8c7d9d5cf960a75856/grpcio-1.80.0-cp313-cp313-linux_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "2bea16af2750fd0a899bf1abd9022244418b55d1f37da2202249ba4ba673838d", + "url": "https://files.pythonhosted.org/packages/44/83/3b20ff58d0c3b7f6caaa3af9a4174d4023701df40a3f39f7f1c8e7c48f9d/grpcio-1.80.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ba0db34f7e1d803a878284cd70e4c63cb6ae2510ba51937bf8f45ba997cefcf7", + "url": "https://files.pythonhosted.org/packages/47/45/55c507599c5520416de5eefecc927d6a0d7af55e91cfffb2e410607e5744/grpcio-1.80.0-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "873ff5d17d68992ef6605330127425d2fc4e77e612fa3c3e0ed4e668685e3140", + "url": "https://files.pythonhosted.org/packages/9b/e2/da1506ecea1f34a5e365964644b35edef53803052b763ca214ba3870c856/grpcio-1.80.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "29aca15edd0688c22ba01d7cc01cb000d72b2033f4a3c72a81a19b56fd143257", + "url": "https://files.pythonhosted.org/packages/b7/48/af6173dbca4454f4637a4678b67f52ca7e0c1ed7d5894d89d434fecede05/grpcio-1.80.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "68e5851ac4b9afe07e7f84483803ad167852570d65326b34d54ca560bfa53fb6", + "url": "https://files.pythonhosted.org/packages/ff/40/96e07ecb604a6a67ae6ab151e3e35b132875d98bc68ec65f3e5ab3e781d7/grpcio-1.80.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl" + } + ], + "project_name": "grpcio", + "requires_dists": [ + "grpcio-tools>=1.80.0; extra == \"protobuf\"", + "typing-extensions~=4.12" + ], + "requires_python": ">=3.9", + "version": "1.80.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "40233d26a5f0d1872916188c276e21641155111c2853f0c2cd55260aec0d24fc", + "url": "https://files.pythonhosted.org/packages/e6/40/9c2384fc2be4ad25dd4a49decd5ad9ea5a3639814c11bd40ab77cb9f0a14/gunicorn-26.0.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "ca9346f85e3a4aeeb64d491045c16b9a35647abd37ea15efe53080eb8b090baf", + "url": "https://files.pythonhosted.org/packages/6d/b7/a4a3f632f823e432ce6bc65f62961b7980c898c77f075a2f7118cb3846fe/gunicorn-26.0.0.tar.gz" + } + ], + "project_name": "gunicorn", + "requires_dists": [ + "coverage; extra == \"testing\"", + "gevent>=24.10.1; extra == \"gevent\"", + "gevent>=24.10.1; extra == \"testing\"", + "gunicorn_h1c>=0.6.5; extra == \"fast\"", + "h2>=4.1.0; extra == \"http2\"", + "h2>=4.1.0; extra == \"testing\"", + "httpx[http2]; extra == \"testing\"", + "packaging", + "pytest-asyncio; extra == \"testing\"", + "pytest-cov; extra == \"testing\"", + "pytest; extra == \"testing\"", + "setproctitle; extra == \"setproctitle\"", + "tornado>=6.5.0; extra == \"tornado\"", + "uvloop>=0.19.0; extra == \"testing\"" + ], + "requires_python": ">=3.10", + "version": "26.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", + "url": "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", + "url": "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz" + } + ], + "project_name": "h11", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "0.16.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c438f029a25f7945c69e0ccf0fb951dc3f73a5f6412981daee861431b70e2bdd", + "url": "https://files.pythonhosted.org/packages/69/b2/119f6e6dcbd96f9069ce9a2665e0146588dc9f88f29549711853645e736a/h2-4.3.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6c59efe4323fa18b47a632221a1888bd7fde6249819beda254aeca909f221bf1", + "url": "https://files.pythonhosted.org/packages/1d/17/afa56379f94ad0fe8defd37d6eb3f89a25404ffc71d4d848893d270325fc/h2-4.3.0.tar.gz" + } + ], + "project_name": "h2", + "requires_dists": [ + "hpack<5,>=4.1", + "hyperframe<7,>=6.1" + ], + "requires_python": ">=3.9", + "version": "4.3.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4b35549ce62601b84da4ff9b24d970032ace3d4430f52d91bcbb26c901d6c690", + "url": "https://files.pythonhosted.org/packages/aa/b2/703569fc881f3284487e68cda7b42179978480da3c438042a6bbbb4a671c/hf_xet-1.5.0-cp37-abi3-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a60290ec57e9b71767fba7c3645ddafdd0759974b540441510c629c6db6db24a", + "url": "https://files.pythonhosted.org/packages/07/a5/ed5a0cf35b49a0571af5a8f53416dad1877a718c021c9937c3a53cb45781/hf_xet-1.5.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "73a0dae8c71de3b0633a45c73f4a4a5ed09e94b43441d82981a781d4f12baa42", + "url": "https://files.pythonhosted.org/packages/0f/6d/9563cfde59b5d8128a9c7ec972a087f4c782e4f7bac5a85234edfd5d5e49/hf_xet-1.5.0-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "2baea1b0b989e5c152fe81425f7745ddc8901280ba3d97c98d8cdece7b706c60", + "url": "https://files.pythonhosted.org/packages/13/59/c74efbbd4e8728172b2cc72a2bc014d2947a4b7bdced932fbd3f5da1a4e5/hf_xet-1.5.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "dad0dc84e941b8ba3c860659fe1fdc35c049d47cce293f003287757e971a8f56", + "url": "https://files.pythonhosted.org/packages/3d/fb/69ff198a82cae7eb1a69fb84d93b3a3e4816564d76817fe541ddc96874eb/hf_xet-1.5.0-cp37-abi3-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3531b1823a0e6d77d80f9ed15ca0e00f0d115094f8ac033d5cae88f4564cc949", + "url": "https://files.pythonhosted.org/packages/49/4d/103f76b04310e5e57656696cc184690d20c466af0bca3ca88f8c8ea5d4f3/hf_xet-1.5.0-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e5de0f6deada0dada870bb376a11bcd1f08abf3a968a6d118f33e72d1b1eb480", + "url": "https://files.pythonhosted.org/packages/60/fb/3ae8bf2a7a37a4197d0195d7247fd25b3952e15cb8a599e285dfaa6f52b3/hf_xet-1.5.0-cp313-cp313t-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7d70fe2ce97b9db73b9c9b9c81fe3693640aec83416a966c446afea54acfae3c", + "url": "https://files.pythonhosted.org/packages/68/9b/6912c99070915a4f28119e3c5b52a9abd1eec0ad5cb293b8c967a0c6f5a2/hf_xet-1.5.0-cp313-cp313t-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e0fb0a34d9f406eed88233e829a67ec016bec5af19e480eac65a233ea289a948", + "url": "https://files.pythonhosted.org/packages/74/d8/5c06fc76461418326a7decf8367480c35be11a41fd938633929c60a9ec6b/hf_xet-1.5.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "1e60df5a42e9bed8628b6416af2cba4cba57ae9f02de226a06b020d98e1aab18", + "url": "https://files.pythonhosted.org/packages/95/7f/1be593c1f28613be2e196473481cd81bfc5910795e30a34e8f744f6cac4f/hf_xet-1.5.0-cp37-abi3-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "fd6e5a9b0fdac4ed03ed45ef79254a655b1aaab514a02202617fbf643f5fdf7a", + "url": "https://files.pythonhosted.org/packages/9b/ff/edcc2b40162bef3ff78e14ab637e5f3b89243d6aee72f5949d3bb6a5af83/hf_xet-1.5.0-cp37-abi3-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "c799d49f1a5544a0ef7591c0ee75e0d6b93d6f56dc7a4979f59f7518d2872216", + "url": "https://files.pythonhosted.org/packages/a2/9b/8bae40d4d91525085137196e84eb0ed49cf65b5e96e5c3ecdadd8bd0fac2/hf_xet-1.5.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "9a0ee58cd18d5ea799f7ed11290bbccbe56bdd8b1d97ca74b9cc49a3945d7a3b", + "url": "https://files.pythonhosted.org/packages/c4/a2/546f47f464737b3edbab6f8ddb57f2599b93d2cbb66f06abb475ccb48651/hf_xet-1.5.0-cp37-abi3-manylinux_2_28_aarch64.whl" + } + ], + "project_name": "hf-xet", + "requires_dists": [ + "pytest; extra == \"tests\"" + ], + "requires_python": ">=3.8", + "version": "1.5.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "157ac792668d995c657d93111f46b4535ed114f0c9c8d672271bbec7eae1b496", + "url": "https://files.pythonhosted.org/packages/07/c6/80c95b1b2b94682a72cbdbfb85b81ae2daffa4291fbfa1b1464502ede10d/hpack-4.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca", + "url": "https://files.pythonhosted.org/packages/2c/48/71de9ed269fdae9c8057e5a4c0aa7402e8bb16f2c6e90b3aa53327b113f8/hpack-4.1.0.tar.gz" + } + ], + "project_name": "hpack", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "4.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", + "url": "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", + "url": "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz" + } + ], + "project_name": "httpcore", + "requires_dists": [ + "anyio<5.0,>=4.0; extra == \"asyncio\"", + "certifi", + "h11>=0.16", + "h2<5,>=3; extra == \"http2\"", + "socksio==1.*; extra == \"socks\"", + "trio<1.0,>=0.22.0; extra == \"trio\"" + ], + "requires_python": ">=3.8", + "version": "1.0.9" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", + "url": "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", + "url": "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz" + } + ], + "project_name": "httpx", + "requires_dists": [ + "anyio", + "brotli; platform_python_implementation == \"CPython\" and extra == \"brotli\"", + "brotlicffi; platform_python_implementation != \"CPython\" and extra == \"brotli\"", + "certifi", + "click==8.*; extra == \"cli\"", + "h2<5,>=3; extra == \"http2\"", + "httpcore==1.*", + "idna", + "pygments==2.*; extra == \"cli\"", + "rich<14,>=10; extra == \"cli\"", + "socksio==1.*; extra == \"socks\"", + "zstandard>=0.18.0; extra == \"zstd\"" + ], + "requires_python": ">=3.8", + "version": "0.28.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "efe075535c62e130b30e836b138e13785f6f043d1f0539e0a39aa411a99e90b8", + "url": "https://files.pythonhosted.org/packages/89/a5/33b49ba7bea7c41bb37f74ec0f8beea0831e052330196633fe2c77516ea6/huggingface_hub-1.14.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "d6d2c9cd6be1d02ae9ec6672d5587d10a427f377db688e82528f426a041622c2", + "url": "https://files.pythonhosted.org/packages/39/40/43109e943fd718b0ccd0cd61eb4f1c347df22bf81f5874c6f22adf44bcff/huggingface_hub-1.14.0.tar.gz" + } + ], + "project_name": "huggingface-hub", + "requires_dists": [ + "Jinja2; extra == \"all\"", + "Jinja2; extra == \"dev\"", + "Jinja2; extra == \"testing\"", + "Pillow; extra == \"all\"", + "Pillow; extra == \"dev\"", + "Pillow; extra == \"testing\"", + "authlib>=1.3.2; extra == \"all\"", + "authlib>=1.3.2; extra == \"dev\"", + "authlib>=1.3.2; extra == \"oauth\"", + "authlib>=1.3.2; extra == \"testing\"", + "duckdb; extra == \"all\"", + "duckdb; extra == \"dev\"", + "duckdb; extra == \"testing\"", + "fastai>=2.4; extra == \"fastai\"", + "fastapi; extra == \"all\"", + "fastapi; extra == \"all\"", + "fastapi; extra == \"dev\"", + "fastapi; extra == \"dev\"", + "fastapi; extra == \"oauth\"", + "fastapi; extra == \"testing\"", + "fastapi; extra == \"testing\"", + "fastcore>=1.3.27; extra == \"fastai\"", + "filelock>=3.10.0", + "fsspec>=2023.5.0", + "gradio>=5.0.0; extra == \"gradio\"", + "hf-xet<2.0.0,>=1.4.3; extra == \"hf-xet\"", + "hf-xet<2.0.0,>=1.4.3; platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"arm64\" or platform_machine == \"aarch64\"", + "httpx; extra == \"all\"", + "httpx; extra == \"dev\"", + "httpx; extra == \"oauth\"", + "httpx; extra == \"testing\"", + "httpx<1,>=0.23.0", + "itsdangerous; extra == \"all\"", + "itsdangerous; extra == \"dev\"", + "itsdangerous; extra == \"oauth\"", + "itsdangerous; extra == \"testing\"", + "jedi; extra == \"all\"", + "jedi; extra == \"dev\"", + "jedi; extra == \"testing\"", + "libcst>=1.4.0; extra == \"all\"", + "libcst>=1.4.0; extra == \"dev\"", + "libcst>=1.4.0; extra == \"quality\"", + "mcp>=1.8.0; extra == \"mcp\"", + "mypy==1.15.0; extra == \"all\"", + "mypy==1.15.0; extra == \"dev\"", + "mypy==1.15.0; extra == \"quality\"", + "numpy; extra == \"all\"", + "numpy; extra == \"dev\"", + "numpy; extra == \"testing\"", + "packaging>=20.9", + "pytest-asyncio; extra == \"all\"", + "pytest-asyncio; extra == \"dev\"", + "pytest-asyncio; extra == \"testing\"", + "pytest-cov; extra == \"all\"", + "pytest-cov; extra == \"dev\"", + "pytest-cov; extra == \"testing\"", + "pytest-env; extra == \"all\"", + "pytest-env; extra == \"dev\"", + "pytest-env; extra == \"testing\"", + "pytest-mock; extra == \"all\"", + "pytest-mock; extra == \"dev\"", + "pytest-mock; extra == \"testing\"", + "pytest-rerunfailures<16.0; extra == \"all\"", + "pytest-rerunfailures<16.0; extra == \"dev\"", + "pytest-rerunfailures<16.0; extra == \"testing\"", + "pytest-vcr; extra == \"all\"", + "pytest-vcr; extra == \"dev\"", + "pytest-vcr; extra == \"testing\"", + "pytest-xdist; extra == \"all\"", + "pytest-xdist; extra == \"dev\"", + "pytest-xdist; extra == \"testing\"", + "pytest>=8.4.2; extra == \"all\"", + "pytest>=8.4.2; extra == \"dev\"", + "pytest>=8.4.2; extra == \"testing\"", + "pyyaml>=5.1", + "requests; extra == \"gradio\"", + "ruff>=0.9.0; extra == \"all\"", + "ruff>=0.9.0; extra == \"dev\"", + "ruff>=0.9.0; extra == \"quality\"", + "safetensors[torch]; extra == \"torch\"", + "soundfile; extra == \"all\"", + "soundfile; extra == \"dev\"", + "soundfile; extra == \"testing\"", + "toml; extra == \"fastai\"", + "torch; extra == \"torch\"", + "tqdm>=4.42.1", + "ty; extra == \"all\"", + "ty; extra == \"dev\"", + "ty; extra == \"quality\"", + "typer>=0.20.0", + "types-PyYAML; extra == \"all\"", + "types-PyYAML; extra == \"dev\"", + "types-PyYAML; extra == \"typing\"", + "types-simplejson; extra == \"all\"", + "types-simplejson; extra == \"dev\"", + "types-simplejson; extra == \"typing\"", + "types-toml; extra == \"all\"", + "types-toml; extra == \"dev\"", + "types-toml; extra == \"typing\"", + "types-tqdm; extra == \"all\"", + "types-tqdm; extra == \"dev\"", + "types-tqdm; extra == \"typing\"", + "types-urllib3; extra == \"all\"", + "types-urllib3; extra == \"dev\"", + "types-urllib3; extra == \"typing\"", + "typing-extensions>=4.1.0", + "typing-extensions>=4.8.0; extra == \"all\"", + "typing-extensions>=4.8.0; extra == \"dev\"", + "typing-extensions>=4.8.0; extra == \"typing\"", + "urllib3<2.0; extra == \"all\"", + "urllib3<2.0; extra == \"dev\"", + "urllib3<2.0; extra == \"testing\"" + ], + "requires_python": ">=3.10.0", + "version": "1.14.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5", + "url": "https://files.pythonhosted.org/packages/48/30/47d0bf6072f7252e6521f3447ccfa40b421b6824517f82854703d0f5a98b/hyperframe-6.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08", + "url": "https://files.pythonhosted.org/packages/02/e7/94f8232d4a74cc99514c13a9f995811485a6903d48e5d952771ef6322e30/hyperframe-6.1.0.tar.gz" + } + ], + "project_name": "hyperframe", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "6.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e6b14c37ecb73e89c77d78cdb4c2cc8f3fb59a885c5b3f819ff4ed80f25af1b4", + "url": "https://files.pythonhosted.org/packages/6e/aa/8caf6a0a3e62863cbb9dab27135660acba46903b703e224f14f447e57934/hyperlink-21.0.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b", + "url": "https://files.pythonhosted.org/packages/3a/51/1947bd81d75af87e3bb9e34593a4cf118115a8feb451ce7a69044ef1412e/hyperlink-21.0.0.tar.gz" + } + ], + "project_name": "hyperlink", + "requires_dists": [ + "idna>=2.5", + "typing; python_version < \"3.5\"" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.6", + "version": "21.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "20e6a87f786f768c092a721ad107fc9df0eb89347be9396cadf3f4abbd1fb78a", + "url": "https://files.pythonhosted.org/packages/94/84/d9273cd09688070a6523c4aee4663a8538721b2b755c4962aafae0011e72/identify-2.6.19-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6be5020c38fcb07da56c53733538a3081ea5aa70d36a156f83044bfbf9173842", + "url": "https://files.pythonhosted.org/packages/52/63/51723b5f116cc04b061cb6f5a561790abf249d25931d515cd375e063e0f4/identify-2.6.19.tar.gz" + } + ], + "project_name": "identify", + "requires_dists": [ + "ukkonen; extra == \"license\"" + ], + "requires_python": ">=3.10", + "version": "2.6.19" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", + "url": "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc", + "url": "https://files.pythonhosted.org/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz" + } + ], + "project_name": "idna", + "requires_dists": [ + "mypy>=1.11.2; extra == \"all\"", + "pytest>=8.3.2; extra == \"all\"", + "ruff>=0.6.2; extra == \"all\"" + ], + "requires_python": ">=3.8", + "version": "3.15" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", + "url": "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", + "url": "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz" + } + ], + "project_name": "importlib-metadata", + "requires_dists": [ + "flufl.flake8; extra == \"test\"", + "furo; extra == \"doc\"", + "ipython; extra == \"perf\"", + "jaraco.packaging>=9.3; extra == \"doc\"", + "jaraco.test>=5.4; extra == \"test\"", + "jaraco.tidelift>=1.4; extra == \"doc\"", + "mypy<1.19; platform_python_implementation == \"PyPy\" and extra == \"type\"", + "packaging; extra == \"test\"", + "pyfakefs; extra == \"test\"", + "pytest!=8.1.*,>=6; extra == \"test\"", + "pytest-checkdocs>=2.4; extra == \"check\"", + "pytest-cov; extra == \"cover\"", + "pytest-enabler>=3.4; extra == \"enabler\"", + "pytest-mypy>=1.0.1; extra == \"type\"", + "pytest-perf>=0.9.2; extra == \"test\"", + "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"check\"", + "rst.linker>=1.9; extra == \"doc\"", + "sphinx-lint; extra == \"doc\"", + "sphinx>=3.5; extra == \"doc\"", + "zipp>=3.20" + ], + "requires_python": ">=3.9", + "version": "8.7.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a34450716b1c4341fe6676a0598e88a39e04189f4dce5dc96f656e040baa10b3", + "url": "https://files.pythonhosted.org/packages/1d/55/0f4df2a44053867ea9cbea73fc588b03c55605cd695cee0a3d86f0029cb2/incremental-24.11.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "87d3480dbb083c1d736222511a8cf380012a8176c2456d01ef483242abbbcf8c", + "url": "https://files.pythonhosted.org/packages/ef/3c/82e84109e02c492f382c711c58a3dd91badda6d746def81a1465f74dc9f5/incremental-24.11.0.tar.gz" + } + ], + "project_name": "incremental", + "requires_dists": [ + "packaging>=17.0", + "tomli; python_version < \"3.11\"" + ], + "requires_python": ">=3.8", + "version": "24.11.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f38b2b640938a4f35ade69ac3d053042959b62a0f1076a5bbaa1b9526605a8a2", + "url": "https://files.pythonhosted.org/packages/59/91/aa6bde563e0085a02a435aa99b49ef75b0a4b062635e606dab23ce18d720/inflection-0.5.1-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417", + "url": "https://files.pythonhosted.org/packages/e1/7e/691d061b7329bc8d54edbf0ec22fbfb2afe61facb681f9aaa9bff7a27d04/inflection-0.5.1.tar.gz" + } + ], + "project_name": "inflection", + "requires_dists": [], + "requires_python": ">=3.5", + "version": "0.5.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", + "url": "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", + "url": "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz" + } + ], + "project_name": "iniconfig", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "2.3.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "28b89bc70f751b559aeca209e6120393d43fbe2490de0559662be7a9787e3d75", + "url": "https://files.pythonhosted.org/packages/3e/95/c7c34aa53c16353c56d0b802fba48d5f5caa2cdee7958acbcb795c830416/isort-8.0.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "171ac4ff559cdc060bcfff550bc8404a486fee0caab245679c2abe7cb253c78d", + "url": "https://files.pythonhosted.org/packages/ef/7c/ec4ab396d31b3b395e2e999c8f46dec78c5e29209fac49d1f4dace04041d/isort-8.0.1.tar.gz" + } + ], + "project_name": "isort", + "requires_dists": [ + "colorama; extra == \"colors\"" + ], + "requires_python": ">=3.10.0", + "version": "8.0.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", + "url": "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", + "url": "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz" + } + ], + "project_name": "jinja2", + "requires_dists": [ + "Babel>=2.7; extra == \"i18n\"", + "MarkupSafe>=2.0" + ], + "requires_python": ">=3.7", + "version": "3.1.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", + "url": "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d", + "url": "https://files.pythonhosted.org/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz" + } + ], + "project_name": "jmespath", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "1.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", + "url": "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", + "url": "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz" + } + ], + "project_name": "joblib", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "1.5.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "72f65de312a3f10900d7685557f84cb61a9733c50dcc27271a39f5b0051bf528", + "url": "https://files.pythonhosted.org/packages/2d/14/1c65fccf8413d5f5c6e8425f84675169654395098000d8bddc4e9d3390e1/jsbeautifier-1.15.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "5bb18d9efb9331d825735fbc5360ee8f1aac5e52780042803943aa7f854f7592", + "url": "https://files.pythonhosted.org/packages/ea/98/d6cadf4d5a1c03b2136837a435682418c29fdeb66be137128544cecc5b7a/jsbeautifier-1.15.4.tar.gz" + } + ], + "project_name": "jsbeautifier", + "requires_dists": [ + "editorconfig>=0.12.2", + "six>=1.13.0" + ], + "requires_python": null, + "version": "1.15.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "56cf861bab076b1178eb8c92e1311d273a9b9acea2ccc82c276abf839ebaef3a", + "url": "https://files.pythonhosted.org/packages/b8/42/cf027b4ac873b076189d935b135397675dac80cb29acb13e1ab86ad6c631/json5-0.14.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b3f492fad9f6cdbced8b7d40b28b9b1c9701c5f561bef0d33b81c2ff433fefcb", + "url": "https://files.pythonhosted.org/packages/9c/4b/6f8906aaf67d501e259b0adab4d312945bb7211e8b8d4dcc77c92320edaa/json5-0.14.0.tar.gz" + } + ], + "project_name": "json5", + "requires_dists": [], + "requires_python": ">=3.8.0", + "version": "0.14.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade", + "url": "https://files.pythonhosted.org/packages/73/07/02e16ed01e04a374e644b575638ec7987ae846d25ad97bcc9945a3ee4b0e/jsonpatch-1.33-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c", + "url": "https://files.pythonhosted.org/packages/42/78/18813351fe5d63acad16aec57f94ec2b70a09e53ca98145589e185423873/jsonpatch-1.33.tar.gz" + } + ], + "project_name": "jsonpatch", + "requires_dists": [ + "jsonpointer>=1.9" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7", + "version": "1.33" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8ff8b95779d071ba472cf5bc913028df06031797532f08a7d5b602d8b2a488ca", + "url": "https://files.pythonhosted.org/packages/9e/6a/a83720e953b1682d2d109d3c2dbb0bc9bf28cc1cbc205be4ef4be5da709d/jsonpointer-3.1.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0b801c7db33a904024f6004d526dcc53bbb8a4a0f4e32bfd10beadf60adf1900", + "url": "https://files.pythonhosted.org/packages/18/c7/af399a2e7a67fd18d63c40c5e62d3af4e67b836a2107468b6a5ea24c4304/jsonpointer-3.1.1.tar.gz" + } + ], + "project_name": "jsonpointer", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "3.1.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", + "url": "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", + "url": "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz" + } + ], + "project_name": "jsonschema", + "requires_dists": [ + "attrs>=22.2.0", + "fqdn; extra == \"format\"", + "fqdn; extra == \"format-nongpl\"", + "idna; extra == \"format\"", + "idna; extra == \"format-nongpl\"", + "isoduration; extra == \"format\"", + "isoduration; extra == \"format-nongpl\"", + "jsonpointer>1.13; extra == \"format\"", + "jsonpointer>1.13; extra == \"format-nongpl\"", + "jsonschema-specifications>=2023.03.6", + "referencing>=0.28.4", + "rfc3339-validator; extra == \"format\"", + "rfc3339-validator; extra == \"format-nongpl\"", + "rfc3986-validator>0.1.0; extra == \"format-nongpl\"", + "rfc3987-syntax>=1.1.0; extra == \"format-nongpl\"", + "rfc3987; extra == \"format\"", + "rpds-py>=0.25.0", + "uri-template; extra == \"format\"", + "uri-template; extra == \"format-nongpl\"", + "webcolors>=1.11; extra == \"format\"", + "webcolors>=24.6.0; extra == \"format-nongpl\"" + ], + "requires_python": ">=3.10", + "version": "4.26.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", + "url": "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", + "url": "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz" + } + ], + "project_name": "jsonschema-specifications", + "requires_dists": [ + "referencing>=0.31.0" + ], + "requires_python": ">=3.9", + "version": "2025.9.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "efcfc559da324d41d61ca311b0c64965ea35b4c55cc04ee36e55386145dace93", + "url": "https://files.pythonhosted.org/packages/fb/0f/834427d8c03ff1d7e867d3db3d176470c64871753252b21b4f4897d1fa45/kombu-5.6.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8060497058066c6f5aed7c26d7cd0d3b574990b09de842a8c5aaed0b92cc5a55", + "url": "https://files.pythonhosted.org/packages/b6/a5/607e533ed6c83ae1a696969b8e1c137dfebd5759a2e9682e26ff1b97740b/kombu-5.6.2.tar.gz" + } + ], + "project_name": "kombu", + "requires_dists": [ + "PyYAML>=3.10; extra == \"yaml\"", + "amqp<6.0.0,>=5.1.1", + "azure-identity>=1.12.0; extra == \"azurestoragequeues\"", + "azure-servicebus>=7.10.0; extra == \"azureservicebus\"", + "azure-storage-queue>=12.6.0; extra == \"azurestoragequeues\"", + "boto3>=1.26.143; extra == \"sqs\"", + "confluent-kafka>=2.2.0; extra == \"confluentkafka\"", + "google-cloud-monitoring>=2.16.0; extra == \"gcpubsub\"", + "google-cloud-pubsub>=2.18.4; extra == \"gcpubsub\"", + "grpcio==1.75.1; extra == \"gcpubsub\"", + "kazoo>=2.8.0; extra == \"zookeeper\"", + "librabbitmq>=2.0.0; python_version < \"3.11\" and extra == \"librabbitmq\"", + "msgpack==1.1.2; extra == \"msgpack\"", + "packaging", + "protobuf==6.32.1; extra == \"gcpubsub\"", + "pycurl>=7.43.0.5; (sys_platform != \"win32\" and platform_python_implementation == \"CPython\") and extra == \"sqs\"", + "pymongo==4.15.3; extra == \"mongodb\"", + "pyro4==4.82; extra == \"pyro\"", + "python-consul2==0.1.5; extra == \"consul\"", + "qpid-python==1.36.0-1; extra == \"qpid\"", + "qpid-tools==1.36.0-1; extra == \"qpid\"", + "redis!=4.5.5,!=5.0.2,<6.5,>=4.5.2; extra == \"redis\"", + "softlayer_messaging>=1.0.3; extra == \"slmq\"", + "sqlalchemy<2.1,>=1.4.48; extra == \"sqlalchemy\"", + "tzdata>=2025.2", + "urllib3>=1.26.16; extra == \"sqs\"", + "vine==5.1.0" + ], + "requires_python": ">=3.9", + "version": "5.6.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "23cbbdb46e38ddd1dd5247e6167e96013eae74bea4c5949c550809970a9e565c", + "url": "https://files.pythonhosted.org/packages/0f/1a/86c38c27b81913a1c6c12448cab55defb5a1097c7dc9a4cea83f55477a2d/langchain_core-1.4.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "1dc341eed802ed9c117c0df3923c991e5e9e226571e5725c194eeb5bd93d1a7f", + "url": "https://files.pythonhosted.org/packages/59/de/679a53472c25860837e32c0442c962fa86e95317a36460e2c9d5c91b17c2/langchain_core-1.4.0.tar.gz" + } + ], + "project_name": "langchain-core", + "requires_dists": [ + "jsonpatch<2.0.0,>=1.33.0", + "langchain-protocol>=0.0.14", + "langsmith<1.0.0,>=0.3.45", + "packaging>=23.2.0", + "pydantic<3.0.0,>=2.7.4", + "pyyaml<7.0.0,>=5.3.0", + "tenacity!=8.4.0,<10.0.0,>=8.1.0", + "typing-extensions<5.0.0,>=4.7.0", + "uuid-utils<1.0,>=0.12.0" + ], + "requires_python": "<4.0.0,>=3.10.0", + "version": "1.4.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "461eb794358f83d5e42635a5797799ffec7b4702314e34edf73ac21e75d3ef79", + "url": "https://files.pythonhosted.org/packages/1d/7a/9c97a7b9cbe4c5dc6a44cdb1545450c28f0c8ce89b9c1f0ee7fbad896263/langchain_protocol-0.0.15-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9ab2d11ee73944754f10e037e717098d3a6796f0e58afa9cadda6154e7655ade", + "url": "https://files.pythonhosted.org/packages/4f/24/9777489d6fbbee64af0c8f96d4f840239c408cf694f3394672807dafc490/langchain_protocol-0.0.15.tar.gz" + } + ], + "project_name": "langchain-protocol", + "requires_dists": [ + "typing-extensions<5.0.0,>=4.7.0" + ], + "requires_python": "<4.0.0,>=3.10.0", + "version": "0.0.15" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "03fd5895a8d4b70db1ff63ebc3bacead29dd20cd794a8b1a483e7ec9018f7a65", + "url": "https://files.pythonhosted.org/packages/f6/e8/e3304ac0015c2bdb04ad9785e4ed65c788855ce7857ce6104dd2f5d322db/langgraph-1.2.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4a9baaf62afc5d5f63144a50095140a34b9aa9b7cea695d25326d564775348e7", + "url": "https://files.pythonhosted.org/packages/58/61/d5d25e783035aa307d289b37e082258a6061c0fb4caa4a284f3bf1e87169/langgraph-1.2.0.tar.gz" + } + ], + "project_name": "langgraph", + "requires_dists": [ + "langchain-core<2,>=1.4.0", + "langgraph-checkpoint<5.0.0,>=4.1.0", + "langgraph-prebuilt<1.2.0,>=1.1.0", + "langgraph-sdk<0.4.0,>=0.3.0", + "pydantic>=2.7.4", + "xxhash>=3.5.0" + ], + "requires_python": ">=3.10", + "version": "1.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8bc2a0466a20c38b865ce6671b42093fd5c041133f32351cae4222e0eeaf7fb5", + "url": "https://files.pythonhosted.org/packages/93/74/d3be2b41955e20ccd624dba5f6fe9d38dcee385ba470a6e13ed86732fc86/langgraph_checkpoint-4.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e5bb304e30fc1363ac8fcb5f7dee5ca2185d77fe475b0d01de2c5f91324c2c21", + "url": "https://files.pythonhosted.org/packages/02/b4/6005c5dd88ad484fe6235d4c43a0d2cee7e91b08ad85a180985c2662df87/langgraph_checkpoint-4.1.0.tar.gz" + } + ], + "project_name": "langgraph-checkpoint", + "requires_dists": [ + "langchain-core>=0.2.38", + "ormsgpack>=1.12.0" + ], + "requires_python": ">=3.10", + "version": "4.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "51e311747d755b751d5c6b39b0c1446124d3a7643d2515017e6714b323508fc9", + "url": "https://files.pythonhosted.org/packages/e9/43/3fe1a700b8490ed02679cdbbc8c915eb23a092faf496c9c1118abcd10be3/langgraph_prebuilt-1.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "3c579cf6eed2d17f9c157c2d0fcaddcd8688524e7022d3b22b37a3bf4589d528", + "url": "https://files.pythonhosted.org/packages/29/66/ed9b93f56bc17ef22d551892f0ac2b225a97fe0fcf23a511b857f70d590b/langgraph_prebuilt-1.1.0.tar.gz" + } + ], + "project_name": "langgraph-prebuilt", + "requires_dists": [ + "langchain-core>=1.3.1", + "langgraph-checkpoint<5.0.0,>=2.1.0" + ], + "requires_python": ">=3.10", + "version": "1.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "68935bf6f4924eda92617a9e5dfb4f4281197508c648cb9d62ff083907607f9d", + "url": "https://files.pythonhosted.org/packages/34/96/1c9f9fbfe756ddd850a2585e7f1949d8ebb97fdaa7a5eff8f45ed1314670/langgraph_sdk-0.3.14-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "acd1674c538e97f3cdaa610f6dd7e34bc9bad30167f0ccc482dcd563325e81f5", + "url": "https://files.pythonhosted.org/packages/02/f1/134046c20bc4a4a15d410d1d21c9e298a3e9923777b4cc867b8669bc636b/langgraph_sdk-0.3.14.tar.gz" + } + ], + "project_name": "langgraph-sdk", + "requires_dists": [ + "httpx>=0.25.2", + "orjson>=3.11.5" + ], + "requires_python": ">=3.10", + "version": "0.3.14" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4e334ab223d10129c9943c461d95fa9089523638ea29cd048045a7f99b973f50", + "url": "https://files.pythonhosted.org/packages/db/94/8b872959ea529ecfbbe2c3f91d9ebf98cb8dbd9e3f7487bc134740d3d235/langsmith-0.8.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "989b387f6ff92ec5f9d14c0edb333e2579590cad5a1ca07042d924b0ec43cd10", + "url": "https://files.pythonhosted.org/packages/d4/e9/4ceeba766bae47de1a6ecdaa4024d10eff63eed936796b77005742399e8d/langsmith-0.8.4.tar.gz" + } + ], + "project_name": "langsmith", + "requires_dists": [ + "claude-agent-sdk>=0.1.0; python_version >= \"3.10\" and extra == \"claude-agent-sdk\"", + "google-adk>=1.0.0; extra == \"google-adk\"", + "httpx<1,>=0.23.0", + "langsmith-pyo3>=0.1.0rc2; extra == \"langsmith-pyo3\"", + "openai-agents>=0.0.3; extra == \"openai-agents\"", + "opentelemetry-api>=1.30.0; extra == \"otel\"", + "opentelemetry-api>=1.30.0; extra == \"strands-agents\"", + "opentelemetry-exporter-otlp-proto-http>=1.30.0; extra == \"otel\"", + "opentelemetry-exporter-otlp-proto-http>=1.30.0; extra == \"strands-agents\"", + "opentelemetry-sdk>=1.30.0; extra == \"otel\"", + "opentelemetry-sdk>=1.30.0; extra == \"strands-agents\"", + "orjson>=3.9.14; platform_python_implementation != \"PyPy\"", + "packaging>=23.2", + "pydantic<3,>=2", + "pytest>=7.0.0; extra == \"pytest\"", + "requests-toolbelt>=1.0.0", + "requests>=2.0.0", + "rich>=13.9.4; extra == \"pytest\"", + "strands-agents-tools>=0.2.0; extra == \"strands-agents\"", + "strands-agents>=0.1.0; extra == \"strands-agents\"", + "uuid-utils<1.0,>=0.12.0", + "vcrpy>=7.0.0; extra == \"pytest\"", + "vcrpy>=7.0.0; extra == \"vcr\"", + "websockets>=15.0; extra == \"sandbox\"", + "wrapt>=1.16.0; extra == \"google-adk\"", + "xxhash>=3.0.0", + "zstandard>=0.23.0" + ], + "requires_python": ">=3.10", + "version": "0.8.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "7b8e7100bffbe579b7c92a3c6a8852ce333e0de171e696a2063e1e39ec9cc50a", + "url": "https://files.pythonhosted.org/packages/9d/c2/8edf65cf2c98bfbf6535b65f4bcc461ecec65ae6b9e3fb5a4308b9a5fb7a/libipld-3.3.2-cp313-cp313-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "8d7cd1e7e88b0fbc8f4aa267bdea2d10452c9dd0e1aafa82a5e0751427f222b0", + "url": "https://files.pythonhosted.org/packages/2e/56/3a19a6067bde8827146cd771583e8930cf952709f036328579747647f38f/libipld-3.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "63bc6858d73c324e29d74155bdb339e14330a88bb1a8cc8fdc295048337dca09", + "url": "https://files.pythonhosted.org/packages/67/a6/2bf577bde352fdb81ebe2e271e542b85f1aeae630405cae1b9d07a97b5e9/libipld-3.3.2-cp313-cp313-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "1a7de390a3eb897d3194f6c96067c21338fbe6e0fc1145ab6b51af276aa7a08e", + "url": "https://files.pythonhosted.org/packages/68/09/dd0f39cf78dbc7f5f2ca1208fc9ff284b56c2b90edf3dbf98c4b36491b6c/libipld-3.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "a48bc2f7845825143a36f6a305680823a2816488593024803064d0803e3cee35", + "url": "https://files.pythonhosted.org/packages/73/f8/0c02a2acb246603f5351d0a71055d0c835bc0bc5332c5ca5d29a1d95b04c/libipld-3.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7e85ccd9136110e63943d95232b193c893e369c406273d235160e5cc4b39c9ce", + "url": "https://files.pythonhosted.org/packages/83/2b/4e84e033268d2717c692e5034e016b1d82501736cd297586fd1c7378ccd5/libipld-3.3.2.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "b040dab7eb04b0ff730e68840f40eb225c9f14e73ad21238b76c7b8ded3ad99d", + "url": "https://files.pythonhosted.org/packages/bd/41/aff762ccf5a80b66a911c576afcd850f0d64cb43d51cb63c29429dc68230/libipld-3.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "196a8fcd86ae0c8096cea85ff308edf315d77fbb677ef3dd9eff0be9da526499", + "url": "https://files.pythonhosted.org/packages/bf/75/ca6fe1673c80f7f4164edf9647dd2cb622455a73890e96648c44c361c918/libipld-3.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "4140f030eb3cfff17d04b9481f13aaed0b2910d1371fe7489394120ed1d09ae5", + "url": "https://files.pythonhosted.org/packages/cc/83/850a0bb214c31c128447e29cdbea816225ee2c8fbb397a8c865f895198e4/libipld-3.3.2-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "76731ebebd824fa45e51cc85506b108aa5da7322e43864909895f1779e9e4b41", + "url": "https://files.pythonhosted.org/packages/de/9b/0b4ee60ede82cdd301e2266a8172e8ee6f1b40c7dbd797510e632314ddf6/libipld-3.3.2-cp313-cp313-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e7627f371682160cae818f817eb846bc8c267a5daa028748a7c73103d8df00eb", + "url": "https://files.pythonhosted.org/packages/f4/2e/ca50530aed1911d99a730f30ab73e7731da8299a933b909a96fcdbb1baf6/libipld-3.3.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + } + ], + "project_name": "libipld", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "3.3.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "970b09f7044ea2b64c9da42fd3d335666518cfd1c6e8a182c95da73d0214b41e", + "url": "https://files.pythonhosted.org/packages/ae/66/6e6323787d592b55204a42595ff1102da5115601b53a7e9ddebc889a6da5/librt-0.11.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "075dc3ef4458a278e0195cbf6ac9d38808d9b906c5a6c7f7f79c3888276a3fb1", + "url": "https://files.pythonhosted.org/packages/40/08/9e7f6b5d2b5bed6ad055cdd5925f192bb403a51280f86b56554d9d0699a2/librt-0.11.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "83d3e1f72bd42f6c5c0b7daec530c3f829bd02db42c70b8ddf0c2d90a2459930", + "url": "https://files.pythonhosted.org/packages/40/e7/c6ac4240899c7f3248079d5a9900debe0dadb3fdeaf856684c987105ba47/librt-0.11.0-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "557183ddc36babe46b27dd60facbd5adb4492181a5be887587d57cda6e092f21", + "url": "https://files.pythonhosted.org/packages/4a/50/356187247d09013490481033183b3532b58acf8028bcb34b2b56a375c9b2/librt-0.11.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "fa475675db22290c3158e1d42326d0f5a65f04f44a0e68c3630a25b53560fb9c", + "url": "https://files.pythonhosted.org/packages/61/fd/caa1d60b12f7dd79ccea23054e06eeaebe266a5f52c40a6b651069200ce5/librt-0.11.0-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "78dc31f7fdfe9c9d0eb0e8f42d139db230e826415bbcabd9f0e9faaaee909894", + "url": "https://files.pythonhosted.org/packages/82/61/e59168d4d0bf2bf90f4f0caf7a001bfc60254c3af4586013b04dc3ef517b/librt-0.11.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a9010e2ed5b3a9e158c5fd966b3ab7e834bb3d3aacc8f66c91dd4b57a3799230", + "url": "https://files.pythonhosted.org/packages/8f/21/7f8e97a1e4dae952a5a95948f6f8507a173bc1e669f54340bba6ca1ca31b/librt-0.11.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "7c39513d8b7477a2e1ed8c43fc21c524e8d5a0f8d4e8b7b074dbdbe7820a08e2", + "url": "https://files.pythonhosted.org/packages/a6/6d/d8ee9c114bebf2c50e29ec2aa940826fccb62a645c3e4c18760987d0e16d/librt-0.11.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "621db29691044bdeda22e789e482e1b0f3a985d90e3426c9c6d17606416205ea", + "url": "https://files.pythonhosted.org/packages/b8/a9/dc744f5c2b4978d48db970be29f22716d3413d28b14ad99740817315cf2c/librt-0.11.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "4ce1f21fbe589bc1afd7872dece84fb0e1144f794a288e58a10d2c54a55c43be", + "url": "https://files.pythonhosted.org/packages/eb/b5/a81322dbeedeeaf9c1ee6f001734d28a09d8383ac9e6779bc24bbd0743c6/librt-0.11.0-cp313-cp313-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "7aef3cf1d5af86e770ab04bfd993dfc4ae8b8c17f66fb77dd4a7d50de7bbb1a3", + "url": "https://files.pythonhosted.org/packages/f0/43/0b5708af2bd30a46400e72ba6bdaa8f066f15fb9a688527e34220e8d6c06/librt-0.11.0-cp313-cp313-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl" + } + ], + "project_name": "librt", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "0.11.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", + "url": "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", + "url": "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz" + } + ], + "project_name": "markdown", + "requires_dists": [ + "coverage; extra == \"testing\"", + "mdx_gh_links>=0.2; extra == \"docs\"", + "mkdocs-gen-files; extra == \"docs\"", + "mkdocs-literate-nav; extra == \"docs\"", + "mkdocs-nature>=0.6; extra == \"docs\"", + "mkdocs-section-index; extra == \"docs\"", + "mkdocs>=1.6; extra == \"docs\"", + "mkdocstrings[python]>=0.28.3; extra == \"docs\"", + "pyyaml; extra == \"testing\"" + ], + "requires_python": ">=3.10", + "version": "3.10.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", + "url": "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", + "url": "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz" + } + ], + "project_name": "markdown-it-py", + "requires_dists": [ + "commonmark~=0.9; extra == \"compare\"", + "coverage; extra == \"testing\"", + "gprof2dot; extra == \"profiling\"", + "ipykernel; extra == \"rtd\"", + "jupyter_sphinx; extra == \"rtd\"", + "linkify-it-py<3,>=1; extra == \"linkify\"", + "markdown-it-pyrs; extra == \"compare\"", + "markdown~=3.4; extra == \"compare\"", + "mdit-py-plugins>=0.5.0; extra == \"plugins\"", + "mdit-py-plugins>=0.5.0; extra == \"rtd\"", + "mdurl~=0.1", + "mistletoe~=1.0; extra == \"compare\"", + "mistune~=3.0; extra == \"compare\"", + "myst-parser; extra == \"rtd\"", + "panflute~=2.3; extra == \"compare\"", + "psutil; extra == \"benchmarking\"", + "pytest-benchmark; extra == \"benchmarking\"", + "pytest-cov; extra == \"testing\"", + "pytest-regressions; extra == \"testing\"", + "pytest-timeout; extra == \"testing\"", + "pytest; extra == \"benchmarking\"", + "pytest; extra == \"testing\"", + "pyyaml; extra == \"rtd\"", + "requests; extra == \"testing\"", + "sphinx-book-theme~=1.0; extra == \"rtd\"", + "sphinx-copybutton; extra == \"rtd\"", + "sphinx-design; extra == \"rtd\"", + "sphinx; extra == \"rtd\"" + ], + "requires_python": ">=3.10", + "version": "4.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", + "url": "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", + "url": "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", + "url": "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", + "url": "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", + "url": "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", + "url": "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", + "url": "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", + "url": "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", + "url": "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", + "url": "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", + "url": "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", + "url": "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", + "url": "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", + "url": "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", + "url": "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", + "url": "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", + "url": "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl" + } + ], + "project_name": "markupsafe", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "3.0.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "eb2a815ccc0c4b62417c531e07c02414e000c419abd319326843eb6370b772b3", + "url": "https://files.pythonhosted.org/packages/e6/03/09b2f7a490ff60ee4f8e1a9ea4d34578bc7a288365ce5b3f4f606a9f4e47/mastodon_py-2.2.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b52c85850272b4ff7a666b87c62432c5059f25c29fb485ffa1f608938744d8a4", + "url": "https://files.pythonhosted.org/packages/ba/87/0c676d38a315bf659beb9e22952085825e59e87fece35ad44e0ccd26d799/mastodon_py-2.2.1.tar.gz" + } + ], + "project_name": "mastodon-py", + "requires_dists": [ + "blurhash>=1.1.4; extra == \"blurhash\"", + "cryptography>=1.6.0; extra == \"webpush\"", + "decorator>=4.0.0", + "graphemeu>=0.7.2; extra == \"grapheme\"", + "http_ece>=1.0.5; extra == \"webpush\"", + "pytest-cov; extra == \"test\"", + "pytest-cov; extra == \"test-old\"", + "pytest-mock; extra == \"test\"", + "pytest-mock; extra == \"test-old\"", + "pytest-recording; extra == \"test\"", + "pytest-recording; extra == \"test-old\"", + "pytest-retry; extra == \"test\"", + "pytest; extra == \"test\"", + "pytest; extra == \"test-old\"", + "python-dateutil", + "python-magic-bin; platform_system == \"Windows\" and extra == \"magic\"", + "python-magic; platform_system != \"Windows\" and extra == \"magic\"", + "pytz; extra == \"test\"", + "pytz; extra == \"test-old\"", + "requests-mock; extra == \"test\"", + "requests-mock; extra == \"test-old\"", + "requests>=2.4.2", + "sphinx-rtd-theme; extra == \"docs\"", + "vcrpy; extra == \"test\"", + "vcrpy; extra == \"test-old\"" + ], + "requires_python": null, + "version": "2.2.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", + "url": "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", + "url": "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz" + } + ], + "project_name": "mccabe", + "requires_dists": [], + "requires_python": ">=3.6", + "version": "0.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", + "url": "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", + "url": "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz" + } + ], + "project_name": "mdurl", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "0.1.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", + "url": "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", + "url": "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz" + } + ], + "project_name": "mpmath", + "requires_dists": [ + "codecov; extra == \"develop\"", + "gmpy2>=2.1.0a4; platform_python_implementation != \"PyPy\" and extra == \"gmpy\"", + "pycodestyle; extra == \"develop\"", + "pytest-cov; extra == \"develop\"", + "pytest>=4.6; extra == \"develop\"", + "pytest>=4.6; extra == \"tests\"", + "sphinx; extra == \"docs\"", + "wheel; extra == \"develop\"" + ], + "requires_python": null, + "version": "1.3.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794", + "url": "https://files.pythonhosted.org/packages/28/ce/698c1eff75626e4124b4d78e21cca0b4cc90043afb80a507626ea354ab52/msgpack-1.1.2-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162", + "url": "https://files.pythonhosted.org/packages/38/f8/4398c46863b093252fe67368b44edc6c13b17f4e6b0e4929dbf0bdb13f23/msgpack-1.1.2-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e", + "url": "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e", + "url": "https://files.pythonhosted.org/packages/5d/ba/459f18c16f2b3fc1a1ca871f72f07d70c07bf768ad0a507a698b8052ac58/msgpack-1.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf", + "url": "https://files.pythonhosted.org/packages/6b/31/b46518ecc604d7edf3a4f94cb3bf021fc62aa301f0cb849936968164ef23/msgpack-1.1.2-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7", + "url": "https://files.pythonhosted.org/packages/92/dc/c385f38f2c2433333345a82926c6bfa5ecfff3ef787201614317b58dd8be/msgpack-1.1.2-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999", + "url": "https://files.pythonhosted.org/packages/d3/68/93180dce57f684a61a88a45ed13047558ded2be46f03acb8dec6d7c513af/msgpack-1.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + } + ], + "project_name": "msgpack", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "1.1.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", + "url": "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", + "url": "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz" + } + ], + "project_name": "networkx", + "requires_dists": [ + "asv; extra == \"benchmarking\"", + "build>=0.10; extra == \"release\"", + "cairocffi>=1.7; extra == \"example\"", + "changelist==0.5; extra == \"release\"", + "contextily>=1.6; extra == \"example\"", + "igraph>=0.11; extra == \"example\"", + "intersphinx-registry; extra == \"doc\"", + "iplotx>=0.9.0; extra == \"example\"", + "lxml>=4.6; extra == \"extra\"", + "matplotlib>=3.8; extra == \"default\"", + "momepy>=0.7.2; extra == \"example\"", + "mypy>=1.15; extra == \"developer\"", + "myst-nb>=1.1; extra == \"doc\"", + "numpy>=1.25; extra == \"default\"", + "numpydoc>=1.8.0; extra == \"doc\"", + "osmnx>=2.0.0; extra == \"example\"", + "pandas>=2.0; extra == \"default\"", + "pillow>=10; extra == \"doc\"", + "pre-commit>=4.1; extra == \"developer\"", + "pydata-sphinx-theme>=0.16; extra == \"doc\"", + "pydot>=3.0.1; extra == \"extra\"", + "pygraphviz>=1.14; extra == \"extra\"", + "pytest-cov>=4.0; extra == \"test\"", + "pytest-mpl; extra == \"test-extras\"", + "pytest-randomly; extra == \"test-extras\"", + "pytest-xdist>=3.0; extra == \"test\"", + "pytest>=7.2; extra == \"test\"", + "scikit-learn>=1.5; extra == \"example\"", + "scipy>=1.11.2; extra == \"default\"", + "seaborn>=0.13; extra == \"example\"", + "sphinx-gallery>=0.18; extra == \"doc\"", + "sphinx>=8.0; extra == \"doc\"", + "sympy>=1.10; extra == \"extra\"", + "texext>=0.6.7; extra == \"doc\"", + "twine>=4.0; extra == \"release\"", + "virtualenv; extra == \"benchmarking\"", + "wheel>=0.40; extra == \"release\"" + ], + "requires_python": "!=3.14.1,>=3.11", + "version": "3.6.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", + "url": "https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb", + "url": "https://files.pythonhosted.org/packages/24/bf/d1bda4f6168e0b2e9e5958945e01910052158313224ada5ce1fb2e1113b8/nodeenv-1.10.0.tar.gz" + } + ], + "project_name": "nodeenv", + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7", + "version": "1.10.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4e874c976154687c1f71715b034739b45c7711bec81db01914770373d125e392", + "url": "https://files.pythonhosted.org/packages/b5/1a/3b88ccd3694681356f70da841630e4725a7264d6a885c8d442a697e1146b/numpy-2.4.4-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "08f2e31ed5e6f04b118e49821397f12767934cfdd12a1ce86a058f91e004ee50", + "url": "https://files.pythonhosted.org/packages/14/1d/d0a583ce4fefcc3308806a749a536c201ed6b5ad6e1322e227ee4848979d/numpy-2.4.4-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4636de7fd195197b7535f231b5de9e4b36d2c440b6e566d2e4e4746e6af0ca93", + "url": "https://files.pythonhosted.org/packages/29/8d/35a3a6ce5ad371afa58b4700f1c820f8f279948cca32524e0a695b0ded83/numpy-2.4.4-cp313-cp313t-macosx_14_0_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "99d838547ace2c4aace6c4f76e879ddfe02bb58a80c1549928477862b7a6d6ed", + "url": "https://files.pythonhosted.org/packages/34/fb/14570d65c3bde4e202a031210475ae9cde9b7686a2e7dc97ee67d2833b35/numpy-2.4.4-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "45dbed2ab436a9e826e302fcdcbe9133f9b0006e5af7168afb8963a6520da103", + "url": "https://files.pythonhosted.org/packages/7d/90/8d23e3b0dafd024bf31bdec225b3bb5c2dbfa6912f8a53b8659f21216cbf/numpy-2.4.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "0aec54fd785890ecca25a6003fd9a5aed47ad607bbac5cd64f836ad8666f4959", + "url": "https://files.pythonhosted.org/packages/8a/77/2ba9d87081fd41f6d640c83f26fb7351e536b7ce6dd9061b6af5904e8e46/numpy-2.4.4-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4bbc7f303d125971f60ec0aaad5e12c62d0d2c925f0ab1273debd0e4ba37aba5", + "url": "https://files.pythonhosted.org/packages/99/5d/dab4339177a905aad3e2221c915b35202f1ec30d750dd2e5e9d9a72b804b/numpy-2.4.4-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "e823b8b6edc81e747526f70f71a9c0a07ac4e7ad13020aa736bb7c9d67196115", + "url": "https://files.pythonhosted.org/packages/c1/62/2b7a48fbb745d344742c0277f01286dead15f3f68e4f359fbfcf7b48f70f/numpy-2.4.4-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "d2a8490669bfe99a233298348acc2d824d496dee0e66e31b66a6022c2ad74a5c", + "url": "https://files.pythonhosted.org/packages/cd/da/464d551604320d1491bc345efed99b4b7034143a85787aab78d5691d5a0e/numpy-2.4.4-cp313-cp313-macosx_14_0_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c901b15172510173f5cb310eae652908340f8dede90fff9e3bf6c0d8dfd92f83", + "url": "https://files.pythonhosted.org/packages/d1/73/a9d864e42a01896bb5974475438f16086be9ba1f0d19d0bb7a07427c4a8b/numpy-2.4.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2d390634c5182175533585cc89f3608a4682ccb173cc9bb940b2881c8d6f8fa0", + "url": "https://files.pythonhosted.org/packages/d7/9f/b8cef5bffa569759033adda9481211426f12f53299629b410340795c2514/numpy-2.4.4.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "f8474c4241bc18b750be2abea9d7a9ec84f46ef861dbacf86a4f6e043401f79e", + "url": "https://files.pythonhosted.org/packages/e2/a9/ad248e8f58beb7a0219b413c9c7d8151c5d285f7f946c3e26695bdbbe2df/numpy-2.4.4-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "4a19d9dba1a76618dd86b164d608566f393f8ec6ac7c44f0cc879011c45e65af", + "url": "https://files.pythonhosted.org/packages/e5/87/499737bfba066b4a3bebff24a8f1c5b2dee410b209bc6668c9be692580f0/numpy-2.4.4-cp313-cp313-macosx_14_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "5a285b3b96f951841799528cd1f4f01cd70e7e0204b4abebac9463eecfcf2a40", + "url": "https://files.pythonhosted.org/packages/e6/db/338535d9b152beabeb511579598418ba0212ce77cf9718edd70262cc4370/numpy-2.4.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4d6d57903571f86180eb98f8f0c839fa9ebbfb031356d87f1361be91e433f5b7", + "url": "https://files.pythonhosted.org/packages/eb/e4/0564a65e7d3d97562ed6f9b0fd0fb0a6f559ee444092f105938b50043876/numpy-2.4.4-cp313-cp313t-macosx_14_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "ad2e2ef14e0b04e544ea2fa0a36463f847f113d314aa02e5b402fdf910ef309e", + "url": "https://files.pythonhosted.org/packages/f4/da/477731acbd5a58a946c736edfdabb2ac5b34c3d08d1ba1a7b437fa0884df/numpy-2.4.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + } + ], + "project_name": "numpy", + "requires_dists": [], + "requires_python": ">=3.11", + "version": "2.4.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "37936a16db8fe4ac1f065c2139360608a543a09275cb1a1af612e08cfa065436", + "url": "https://files.pythonhosted.org/packages/3b/cd/154ca20c38269e05eff77c1464e6c1da89f50a6390b565e9d82e06bc11e1/nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b7a210458267ac818974c53038fbec2e969d5c99f305ab15c72522fa9f001dd5", + "url": "https://files.pythonhosted.org/packages/a7/a1/0bd24ee8c8d03adac032fd2909426a00c88f8c57961b1277ded97f91119f/nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_aarch64.whl" + } + ], + "project_name": "nvidia-cublas", + "requires_dists": [ + "nvidia-cuda-nvrtc" + ], + "requires_python": ">=3", + "version": "13.1.1.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4eb01c08e859bf924d222250d2e8f8b8ff6d3db4721288cf35d14252a4d933c8", + "url": "https://files.pythonhosted.org/packages/33/6d/737d164b4837a9bbd202f5ae3078975f0525a55730fe871d8ed4e3b952b0/nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "796bd679890ee55fb14a94629b698b6db54bcfd833d391d5e94017dd9d7d3151", + "url": "https://files.pythonhosted.org/packages/2a/2a/80353b103fc20ce05ef51e928daed4b6015db4aaa9162ed0997090fe2250/nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_aarch64.whl" + } + ], + "project_name": "nvidia-cuda-cupti", + "requires_dists": [], + "requires_python": ">=3", + "version": "13.0.85" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d27f20a0ca67a4bb34268a5e951033496c5b74870b868bacd046b1b8e0c3267b", + "url": "https://files.pythonhosted.org/packages/b7/dc/6bb80850e0b7edd6588d560758f17e0550893a1feaf436807d64d2da040f/nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ad9b6d2ead2435f11cbb6868809d2adeeee302e9bb94bcf0539c7a40d80e8575", + "url": "https://files.pythonhosted.org/packages/c3/68/483a78f5e8f31b08fb1bb671559968c0ca3a065ac7acabfc7cee55214fd6/nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl" + } + ], + "project_name": "nvidia-cuda-nvrtc", + "requires_dists": [], + "requires_python": ">=3", + "version": "13.0.88" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "7f82250d7782aa23b6cfe765ecc7db554bd3c2870c43f3d1821f1d18aebf0548", + "url": "https://files.pythonhosted.org/packages/2e/24/d1558f3b68b1d26e706813b1d10aa1d785e4698c425af8db8edc3dced472/nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ef9bcbe90493a2b9d810e43d249adb3d02e98dd30200d86607d8d02687c43f55", + "url": "https://files.pythonhosted.org/packages/87/4f/17d7b9b8e285199c58ce28e31b5c5bbaa4d8271af06a89b6405258245de2/nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + } + ], + "project_name": "nvidia-cuda-runtime", + "requires_dists": [], + "requires_python": ">=3", + "version": "13.0.96" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0c45dd8eeb50b603f07995b1b300c62ffe6a1980482b82b3bcf94a4ca9d49304", + "url": "https://files.pythonhosted.org/packages/6e/5e/edb9c0ae051602c3ccaffe424256463636d639e27d7f302dde9975ef9e7a/nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e31454ae00094b0c55319d9d15b6fa2fc50a9e1c0f5c8c80fb75258234e731e1", + "url": "https://files.pythonhosted.org/packages/56/c5/83384d846b2fd17c44bd499b36c75a45ed4f095fbbb2252294e89cea5c5c/nvidia_cudnn_cu13-9.20.0.48-py3-none-manylinux_2_27_aarch64.whl" + } + ], + "project_name": "nvidia-cudnn-cu13", + "requires_dists": [ + "nvidia-cublas" + ], + "requires_python": ">=3", + "version": "9.20.0.48" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6c44f692dce8fd5ffd3e3df134b6cdb9c2f72d99cf40b62c32dde45eea9ddad3", + "url": "https://files.pythonhosted.org/packages/a8/2f/7b57e29836ea8714f81e9898409196f47d772d5ddedddf1592eadb8ab743/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2708c852ef8cd89d1d2068bdbece0aa188813a0c934db3779b9b1faa8442e5f5", + "url": "https://files.pythonhosted.org/packages/8b/ae/f417a75c0259e85c1d2f83ca4e960289a5f814ed0cea74d18c353d3e989d/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + } + ], + "project_name": "nvidia-cufft", + "requires_dists": [ + "nvidia-nvjitlink" + ], + "requires_python": ">=3", + "version": "12.0.0.61" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "bdc0deedc61f548bddf7733bdc216456c2fdb101d020e1ab4b88d232d5e2f6d1", + "url": "https://files.pythonhosted.org/packages/ab/73/cc4a14c9813a8a0d509417cf5f4bdaba76e924d58beb9864f5a7baceefbf/nvidia_cufile-1.15.1.6-py3-none-manylinux_2_27_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "08a3ecefae5a01c7f5117351c64f17c7c62efa5fffdbe24fc7d298da19cd0b44", + "url": "https://files.pythonhosted.org/packages/3f/70/4f193de89a48b71714e74602ee14d04e4019ad36a5a9f20c425776e72cd6/nvidia_cufile-1.15.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + } + ], + "project_name": "nvidia-cufile", + "requires_dists": [], + "requires_python": ">=3", + "version": "1.15.1.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1aee33a5da6e1db083fe2b90082def8915f30f3248d5896bcec36a579d941bfc", + "url": "https://files.pythonhosted.org/packages/a5/9f/be0a41ca4a4917abf5cb9ae0daff1a6060cc5de950aec0396de9f3b52bc5/nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "133df5a7509c3e292aaa2b477afd0194f06ce4ea24d714d616ff36439cee349a", + "url": "https://files.pythonhosted.org/packages/1e/72/7c2ae24fb6b63a32e6ae5d241cc65263ea18d08802aaae087d9f013335a2/nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_aarch64.whl" + } + ], + "project_name": "nvidia-curand", + "requires_dists": [], + "requires_python": ">=3", + "version": "10.4.0.35" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0a759da5dea5c0ea10fd307de75cdeb59e7ea4fcb8add0924859b944babf1112", + "url": "https://files.pythonhosted.org/packages/5f/67/cba3777620cdacb99102da4042883709c41c709f4b6323c10781a9c3aa34/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "02c2457eaa9e39de20f880f4bd8820e6a1cfb9f9a34f820eb12a155aa5bc92d2", + "url": "https://files.pythonhosted.org/packages/c8/c3/b30c9e935fc01e3da443ec0116ed1b2a009bb867f5324d3f2d7e533e776b/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_aarch64.whl" + } + ], + "project_name": "nvidia-cusolver", + "requires_dists": [ + "nvidia-cublas", + "nvidia-cusparse", + "nvidia-nvjitlink" + ], + "requires_python": ">=3", + "version": "12.0.4.66" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2b3c89c88d01ee0e477cb7f82ef60a11a4bcd57b6b87c33f789350b59759360b", + "url": "https://files.pythonhosted.org/packages/fa/18/623c77619c31d62efd55302939756966f3ecc8d724a14dab2b75f1508850/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "80bcc4662f23f1054ee334a15c72b8940402975e0eab63178fc7e670aa59472c", + "url": "https://files.pythonhosted.org/packages/f8/94/5c26f33738ae35276672f12615a64bd008ed5be6d1ebcb23579285d960a9/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + } + ], + "project_name": "nvidia-cusparse", + "requires_dists": [ + "nvidia-nvjitlink" + ], + "requires_python": ">=3", + "version": "12.6.3.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "786ce87568c303fadb5afcc7102d454cd3040d75f6f8626f5db460d1871f4dd0", + "url": "https://files.pythonhosted.org/packages/34/7d/2661f2fb3ac4302f3a246f5fc030213ac60c1fe0bce84f9783dbd831dbb7/nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4dca476c50bf4780d46cd0bfbd82e2bc10a08e4fef7950917ce8d7578d22a23f", + "url": "https://files.pythonhosted.org/packages/46/e1/cdc1797eadf82d3a9a575a19b33fdc871a97edbec42c00b5b5e914f4aff4/nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_aarch64.whl" + } + ], + "project_name": "nvidia-cusparselt-cu13", + "requires_dists": [], + "requires_python": null, + "version": "0.8.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "edd81538446786ec3b73972543e53bb43bcaf0bfc8ef76cb679fcc390ffe136d", + "url": "https://files.pythonhosted.org/packages/67/f4/58e4e91b6919367c7aafb8e36fce9aad1a3047e536bf7e2fd560927d3a4c/nvidia_nccl_cu13-2.29.7-py3-none-manylinux_2_18_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "674a12383e3c38a1bcccae7d4f3633b37852230b6047883cb2f4c2d1b36d9bf5", + "url": "https://files.pythonhosted.org/packages/72/0d/daf50d44177ee0cbc7ff0a0c91eb5ff676c82be42f9a970bc7597f440c3a/nvidia_nccl_cu13-2.29.7-py3-none-manylinux_2_18_aarch64.whl" + } + ], + "project_name": "nvidia-nccl-cu13", + "requires_dists": [], + "requires_python": ">=3", + "version": "2.29.7" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e931536ccc7d467a98ba1d8b89ff7fa7f1fa3b13f2b0069118cd7f47bff07d0c", + "url": "https://files.pythonhosted.org/packages/ab/2c/93c5250e64df4f894f1cbb397c6fd71f79813f9fd79d7cd61de3f97b3c2d/nvidia_nvjitlink-13.0.88-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "13a74f429e23b921c1109976abefacc69835f2f433ebd323d3946e11d804e47b", + "url": "https://files.pythonhosted.org/packages/56/7a/123e033aaff487c77107195fa5a2b8686795ca537935a24efae476c41f05/nvidia_nvjitlink-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl" + } + ], + "project_name": "nvidia-nvjitlink", + "requires_dists": [], + "requires_python": ">=3", + "version": "13.0.88" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "290f0a2ee94c9f3687a02502f3b9299a9f9fe826e6d0287ee18482e78d495b80", + "url": "https://files.pythonhosted.org/packages/3c/35/a9bf80a609e74e3b000fef598933235c908fcefcef9026042b8e6dfde2a9/nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6dc2a197f38e5d0376ad52cd1a2a3617d3cdc150fd5966f4aee9bcebb1d68fe9", + "url": "https://files.pythonhosted.org/packages/dc/0f/05cc9c720236dcd2db9c1ab97fff629e96821be2e63103569da0c9b72f19/nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + } + ], + "project_name": "nvidia-nvshmem-cu13", + "requires_dists": [], + "requires_python": ">=3", + "version": "3.4.5" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "cb7780edb6b14107373c835bf8b72e7a178bac7367e23da7acb108f973f157a6", + "url": "https://files.pythonhosted.org/packages/a8/64/3708a90d1ebe202ffdeb7185f878a3c84d15c2b2c31858da2ce0583e2def/nvidia_nvtx-13.0.85-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "4936d1d6780fbe68db454f5e72a42ff64d1fd6397df9f363ae786930fd5c1cd4", + "url": "https://files.pythonhosted.org/packages/c2/f3/d86c845465a2723ad7e1e5c36dcd75ddb82898b3f53be47ebd429fb2fa5d/nvidia_nvtx-13.0.85-py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl" + } + ], + "project_name": "nvidia-nvtx", + "requires_dists": [], + "requires_python": ">=3", + "version": "13.0.85" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a22df900e75c76dc08440710e51f52f1aa6b451b429298896023e60db5b3139f", + "url": "https://files.pythonhosted.org/packages/29/59/3e7118ed140f76b0982ba4321bdaed1997a0473f9720de2d10788a577033/opentelemetry_api-1.41.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0ad1814d73b875f84494387dae86ce0b12c68556331ce6ce8fe789197c949621", + "url": "https://files.pythonhosted.org/packages/fa/fc/b7564cbef36601aef0d6c9bc01f7badb64be8e862c2e1c3c5c3b43b53e4f/opentelemetry_api-1.41.1.tar.gz" + } + ], + "project_name": "opentelemetry-api", + "requires_dists": [ + "importlib-metadata<8.8.0,>=6.0", + "typing-extensions>=4.5.0" + ], + "requires_python": ">=3.9", + "version": "1.41.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "10da74dad6a49344b9b7b21b6182e3060373a235fde1528616d5f01f92e66aa9", + "url": "https://files.pythonhosted.org/packages/29/48/bce76d3ea772b609757e9bc844e02ab408a6446609bf74fb562062ba6b71/opentelemetry_exporter_otlp_proto_common-1.41.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0e253156ea9c36b0bd3d2440c5c9ba7dd1f3fb64ba7a08fc85fbac536b56e1fb", + "url": "https://files.pythonhosted.org/packages/ae/fa/f9e3bd3c4d692b3ce9a2880a167d1f79681a1bea11f00d5bf76adc03e6ea/opentelemetry_exporter_otlp_proto_common-1.41.1.tar.gz" + } + ], + "project_name": "opentelemetry-exporter-otlp-proto-common", + "requires_dists": [ + "opentelemetry-proto==1.41.1" + ], + "requires_python": ">=3.9", + "version": "1.41.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1a21e8f49c7a946d935551e90947d6c3eb39236723c6624401da0f33d68edcb4", + "url": "https://files.pythonhosted.org/packages/ba/4d/ef07ff2fc630849f2080ae0ae73a61f67257905b7ac79066640bfa0c5739/opentelemetry_exporter_otlp_proto_http-1.41.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4747a9604c8550ab38c6fd6180e2fcb80de3267060bef2c306bad3cb443302bc", + "url": "https://files.pythonhosted.org/packages/33/5b/9d3c7f70cca10136ba82a81e738dee626c8e7fc61c6887ea9a58bf34c606/opentelemetry_exporter_otlp_proto_http-1.41.1.tar.gz" + } + ], + "project_name": "opentelemetry-exporter-otlp-proto-http", + "requires_dists": [ + "googleapis-common-protos~=1.52", + "opentelemetry-api~=1.15", + "opentelemetry-exporter-credential-provider-gcp>=0.59b0; extra == \"gcp-auth\"", + "opentelemetry-exporter-otlp-proto-common==1.41.1", + "opentelemetry-proto==1.41.1", + "opentelemetry-sdk~=1.41.1", + "requests~=2.7", + "typing-extensions>=4.5.0" + ], + "requires_python": ">=3.9", + "version": "1.41.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "976fc6e640f2006599e97429c949e622c108d0c17c2059347d1e6c93c707f257", + "url": "https://files.pythonhosted.org/packages/4d/0f/45adbaea1f81b847cffdcee4f4b5f89297e42facf7fac78c7aaac4c38e75/opentelemetry_instrumentation-0.62b1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "90e92a905ba4f84db06ac3aec96701df6c079b2d66e9379f8739f0a1bdcc7f45", + "url": "https://files.pythonhosted.org/packages/52/cb/0523b92c112a6cc70be43724343dc45225d3af134419844d7879a07755d4/opentelemetry_instrumentation-0.62b1.tar.gz" + } + ], + "project_name": "opentelemetry-instrumentation", + "requires_dists": [ + "opentelemetry-api~=1.4", + "opentelemetry-semantic-conventions==0.62b1", + "packaging>=18.0", + "wrapt<3.0.0,>=1.0.0" + ], + "requires_python": ">=3.9", + "version": "0.62b1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "50567a47b7adc4ea552d09709de4d73fea7b4ff24ab0e9d38739d03fcd3f95ef", + "url": "https://files.pythonhosted.org/packages/24/51/f38a31ac8f8e3bd365f301f697661679addaf548d52a05cfdde4448a5493/opentelemetry_instrumentation_celery-0.62b1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f0035abd464a2989414a9c5ecdd79a25c87bd8c43f96c7f39e07000c6f25dfef", + "url": "https://files.pythonhosted.org/packages/35/86/9e78c174b2f6ea92af3f99aa7488807b74290a5cd44a8e05bfbfd7b109be/opentelemetry_instrumentation_celery-0.62b1.tar.gz" + } + ], + "project_name": "opentelemetry-instrumentation-celery", + "requires_dists": [ + "celery<6.0,>=4.0; extra == \"instruments\"", + "opentelemetry-api~=1.12", + "opentelemetry-instrumentation==0.62b1", + "opentelemetry-semantic-conventions==0.62b1" + ], + "requires_python": ">=3.9", + "version": "0.62b1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5ac96ef25019fbea5e2739c9b4b7ce17e4379e2b1ec9fdce6b696a5c09ceabbe", + "url": "https://files.pythonhosted.org/packages/67/7c/306249a95e88ce4de1491d7bf49280c72e297b207c1da6967d0ec0078d9a/opentelemetry_instrumentation_django-0.62b1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "268c9b3d234510ab835acea0524ba65361389f6e2c291b495ba8072c7bb59003", + "url": "https://files.pythonhosted.org/packages/dc/82/659d2192cb076bc836639c23876f67cc9afc85629694666479c189975cd4/opentelemetry_instrumentation_django-0.62b1.tar.gz" + } + ], + "project_name": "opentelemetry-instrumentation-django", + "requires_dists": [ + "django>=2.0; extra == \"instruments\"", + "opentelemetry-api~=1.12", + "opentelemetry-instrumentation-asgi==0.62b1; extra == \"asgi\"", + "opentelemetry-instrumentation-wsgi==0.62b1", + "opentelemetry-instrumentation==0.62b1", + "opentelemetry-semantic-conventions==0.62b1", + "opentelemetry-util-http==0.62b1" + ], + "requires_python": ">=3.9", + "version": "0.62b1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a2df11de0113f504043e2b0fa0288238a93ee49ff607bd5100cb2d3a75bc771f", + "url": "https://files.pythonhosted.org/packages/f7/0e/60fec0780e16929c821df7c55c4f0bea45d6ef562e662c5f27f47d0ff195/opentelemetry_instrumentation_wsgi-0.62b1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "02a364fd9c940a46b19c825c5bfe386b007d5292ef91573894164836953fe831", + "url": "https://files.pythonhosted.org/packages/36/db/19f1d66cead56e52291fccaa235b07ad45a5c24be1c740301a840c68235a/opentelemetry_instrumentation_wsgi-0.62b1.tar.gz" + } + ], + "project_name": "opentelemetry-instrumentation-wsgi", + "requires_dists": [ + "opentelemetry-api~=1.12", + "opentelemetry-instrumentation==0.62b1", + "opentelemetry-semantic-conventions==0.62b1", + "opentelemetry-util-http==0.62b1" + ], + "requires_python": ">=3.9", + "version": "0.62b1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0496713b804d127a4147e32849fbaf5683fac8ee98550e8e7679cd706c289720", + "url": "https://files.pythonhosted.org/packages/e4/1e/5cd77035e3e82070e2265a63a760f715aacd3cb16dddc7efee913f297fcc/opentelemetry_proto-1.41.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4b9d2eb631237ea43b80e16c073af438554e32bc7e9e3f8ca4a9582f900020e5", + "url": "https://files.pythonhosted.org/packages/99/e8/633c6d8a9c8840338b105907e55c32d3da1983abab5e52f899f72a82c3d1/opentelemetry_proto-1.41.1.tar.gz" + } + ], + "project_name": "opentelemetry-proto", + "requires_dists": [ + "protobuf<7.0,>=5.0" + ], + "requires_python": ">=3.9", + "version": "1.41.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "edee379c126c1bce952b0c812b48fe8ff35b30df0eecf17e98afa4d598b7d85d", + "url": "https://files.pythonhosted.org/packages/b4/e7/a1420b698aad018e1cf60fdbaaccbe49021fb415e2a0d81c242f4c518f54/opentelemetry_sdk-1.41.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "724b615e1215b5aeacda0abb8a6a8922c9a1853068948bd0bd225a56d0c792e6", + "url": "https://files.pythonhosted.org/packages/58/d0/54ee30dab82fb0acda23d144502771ff76ef8728459c83c3e89ef9fb1825/opentelemetry_sdk-1.41.1.tar.gz" + } + ], + "project_name": "opentelemetry-sdk", + "requires_dists": [ + "jsonschema>=4.0; extra == \"file-configuration\"", + "opentelemetry-api==1.41.1", + "opentelemetry-semantic-conventions==0.62b1", + "pyyaml>=6.0; extra == \"file-configuration\"", + "typing-extensions>=4.5.0" + ], + "requires_python": ">=3.9", + "version": "1.41.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "cf506938103d331fbb78eded0d9788095f7fd59016f2bda813c3324e5a74a93c", + "url": "https://files.pythonhosted.org/packages/eb/a6/83dc2ab6fa397ee66fba04fe2e74bdf7be3b3870005359ceb7689103c058/opentelemetry_semantic_conventions-0.62b1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "c5cc6e04a7f8c7cdd30be2ed81499fa4e75bfbd52c9cb70d40af1f9cd3619802", + "url": "https://files.pythonhosted.org/packages/9e/de/911ac9e309052aca1b20b2d5549d3db45d1011e1a610e552c6ccdd1b64f8/opentelemetry_semantic_conventions-0.62b1.tar.gz" + } + ], + "project_name": "opentelemetry-semantic-conventions", + "requires_dists": [ + "opentelemetry-api==1.41.1", + "typing-extensions>=4.5.0" + ], + "requires_python": ">=3.9", + "version": "0.62b1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c57e8a6c19fc422c288e6074e882f506f85030b69b7376182f74f9257b9261f0", + "url": "https://files.pythonhosted.org/packages/5d/85/a9d9d32161c1ced61346267db4c9702da54f81ec5dc88214bc65c23f4e9d/opentelemetry_util_http-0.62b1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "adf6facbb89aef8f8bc566e2f04624942ba08a7b678b3479a91051a8f4dc70a3", + "url": "https://files.pythonhosted.org/packages/24/1b/aa71b63e18d30a8384036b9937f40f7618f8030a7aa213155fb54f6f2b47/opentelemetry_util_http-0.62b1.tar.gz" + } + ], + "project_name": "opentelemetry-util-http", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "0.62b1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "9f78cf8fec5bd627f4082b8dfeac7871b43d7f3274904492a43dab39f18a19a0", + "url": "https://files.pythonhosted.org/packages/04/83/45fbb6d962e260807f99441db9613cee868ceda4baceda59b3720a563f97/orjson-3.11.9-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4fd66214623f1b17501df9f0543bef0b833979ab5b6ded1e1d123222866aa8c9", + "url": "https://files.pythonhosted.org/packages/11/d4/5bdb0626801230139987385554c5d4c42255218ac906525bf4347f22cd95/orjson-3.11.9-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ffe02797b5e9f3a9d8292ddcd289b474ad13e81ad83cd1891a240811f1d2cb81", + "url": "https://files.pythonhosted.org/packages/21/0f/c9ede0bf052f6b4051e64a7d4fa91b725cccf8321a6a786e86eb03519f00/orjson-3.11.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "4bab1b2d6141fe7b32ae71dac905666ece4f94936efbfb13d55bb7739a3a6021", + "url": "https://files.pythonhosted.org/packages/32/33/93fcc25907235c344ae73122f8a4e01d2d393ef062b4af7d2e2487a32c37/orjson-3.11.9-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "97db4c94a7db398a5bd636273324f0b3fd58b350bbbac8bb380ceb825a9b40f4", + "url": "https://files.pythonhosted.org/packages/3d/57/1b30daf70f0d8180e9a73cefbfbdd99e4bf19eb020466502b01fba7e0e50/orjson-3.11.9-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "8aff7da9952a5ad1cef8e68017724d96c7b9a66e99e91d6252e1b133d67a7b10", + "url": "https://files.pythonhosted.org/packages/66/60/52b0054c4c700d5aa7fc5b7ca96917400d8f061307778578e67a10e25852/orjson-3.11.9-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "4fef17e1f8722c11587a6ef18e35902450221da0028e65dbaaa543619e68e48f", + "url": "https://files.pythonhosted.org/packages/7e/0c/964746fcafbd16f8ff53219ad9f6b412b34f345c75f384ad434ceaadb538/orjson-3.11.9.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "844417969855fc7a41be124aafe83dc424592a7f77cd4501900c67307122b92c", + "url": "https://files.pythonhosted.org/packages/8f/27/b1e6dadb3c080313c03fdd8067b85e6a0460c7d8d6a1c3984ef77b904e4d/orjson-3.11.9-cp313-cp313-macosx_15_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "4e39364e726a8fff737309aff059ff67d8a8c8d5b677be7bb49a8b3e84b7e218", + "url": "https://files.pythonhosted.org/packages/a1/08/dca0082dd2a194acb93e5457e73455388e2e2ca464a2672449a9ddbb679d/orjson-3.11.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4d4e98d6f3b8afed8bc8cd9718ec0cdf46661826beefb53fe8eafb37f2bf0362", + "url": "https://files.pythonhosted.org/packages/d5/97/1e3dc2b2a28b7b2528f403d2fc1d79ec5f39af3bc143ab65d3ec26426385/orjson-3.11.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "8ecc30f10465fa1e0ce13fd01d9e22c316e5053a719a8d915d4545a09a5ff677", + "url": "https://files.pythonhosted.org/packages/fa/88/a21fb53b3ede6703aede6dce4710ed4111e5b201cfa6bbff5e544f9d47d7/orjson-3.11.9-cp313-cp313-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "3a81d52442a7c99b3662333235b3adf96a1715864658b35bb797212be7bddb97", + "url": "https://files.pythonhosted.org/packages/fc/39/31fbfe7850f2de32dee7e7e5c09f26d403ab01e440ac96001c6b01ad3c99/orjson-3.11.9-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "0e4eed3b200023042814d2fc8a5d2e880f13b52e1ed2485e83da4f3962f7dc1a", + "url": "https://files.pythonhosted.org/packages/fd/26/d398e28048dc18205bbe812f2c88cb9b40313db2470778e25964796458fe/orjson-3.11.9-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + } + ], + "project_name": "orjson", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "3.11.9" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "cec70477d4371cd524534cd16472d8b9cc187e0e3043a8790545a9a9b296c258", + "url": "https://files.pythonhosted.org/packages/fb/f1/bb2c7223398543dedb3dbf8bb93aaa737b387de61c5feaad6f908841b782/ormsgpack-1.12.2-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "944a2233640273bee67521795a73cf1e959538e0dfb7ac635505010455e53b33", + "url": "https://files.pythonhosted.org/packages/12/0c/f1761e21486942ab9bb6feaebc610fa074f7c5e496e6962dea5873348077/ormsgpack-1.12.2.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "5af04800d844451cf102a59c74a841324868d3f1625c296a06cc655c542a6685", + "url": "https://files.pythonhosted.org/packages/19/bb/6d226bc4cf9fc20d8eb1d976d027a3f7c3491e8f08289a2e76abe96a65f3/ormsgpack-1.12.2-cp313-cp313-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "39c1bd2092880e413902910388be8715f70b9f15f20779d44e673033a6146f2d", + "url": "https://files.pythonhosted.org/packages/1c/a2/072343e1413d9443e5a252a8eb591c2d5b1bffbe5e7bfc78c069361b92eb/ormsgpack-1.12.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f3601f19afdbea273ed70b06495e5794606a8b690a568d6c996a90d7255e51c1", + "url": "https://files.pythonhosted.org/packages/6e/31/5efa31346affdac489acade2926989e019e8ca98129658a183e3add7af5e/ormsgpack-1.12.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "50b7249244382209877deedeee838aef1542f3d0fc28b8fe71ca9d7e1896a0d7", + "url": "https://files.pythonhosted.org/packages/a2/8b/a0da3b98a91d41187a63b02dda14267eefc2a74fcb43cc2701066cf1510e/ormsgpack-1.12.2-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "5ea60cb5f210b1cfbad8c002948d73447508e629ec375acb82910e3efa8ff355", + "url": "https://files.pythonhosted.org/packages/eb/29/bb0eba3288c0449efbb013e9c6f58aea79cf5cb9ee1921f8865f04c1a9d7/ormsgpack-1.12.2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "29a9f17a3dac6054c0dce7925e0f4995c727f7c41859adf9b5572180f640d172", + "url": "https://files.pythonhosted.org/packages/eb/56/d0087278beef833187e0167f8527235ebe6f6ffc2a143e9de12a98b1ce87/ormsgpack-1.12.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + } + ], + "project_name": "ormsgpack", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "1.12.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", + "url": "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", + "url": "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz" + } + ], + "project_name": "packaging", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "26.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", + "url": "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a", + "url": "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz" + } + ], + "project_name": "pathspec", + "requires_dists": [ + "google-re2>=1.1; extra == \"re2\"", + "hyperscan>=0.7; extra == \"hyperscan\"", + "typing-extensions>=4; extra == \"optional\"" + ], + "requires_python": ">=3.9", + "version": "1.1.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "dac8d77255a37e81a2efcbd1fc05f1c15ee82200e6c240d7e127e25e365c39ea", + "url": "https://files.pythonhosted.org/packages/c0/a8/27fb307055087f3668f6d0a8ccb636e7431d56ed0750e07a60547b1e083e/pillow-12.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "88ddbc66737e277852913bd1e07c150cc7bb124539f94c4e2df5344494e0a612", + "url": "https://files.pythonhosted.org/packages/01/a6/1265e977f17d93ea37aa28aa81bad4fa597933879fac2520d24e021c8da3/pillow-12.2.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "5d2fd0fa6b5d9d1de415060363433f28da8b1526c1c129020435e186794b3795", + "url": "https://files.pythonhosted.org/packages/34/46/6c717baadcd62bc8ed51d238d521ab651eaa74838291bda1f86fe1f864c9/pillow-12.2.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "efd8c21c98c5cc60653bcb311bef2ce0401642b7ce9d09e03a7da87c878289d4", + "url": "https://files.pythonhosted.org/packages/36/a3/f9a77144231fb8d40ee27107b4463e205fa4677e2ca2548e14da5cf18dce/pillow-12.2.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d362d1878f00c142b7e1a16e6e5e780f02be8195123f164edf7eddd911eefe7c", + "url": "https://files.pythonhosted.org/packages/3c/83/5982eb4a285967baa70340320be9f88e57665a387e3a53a7f0db8231a0cd/pillow-12.2.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5cdfebd752ec52bf5bb4e35d9c64b40826bc5b40a13df7c3cda20a2c03a0f5ed", + "url": "https://files.pythonhosted.org/packages/4b/6e/3ccb54ce8ec4ddd1accd2d89004308b7b0b21c4ac3d20fa70af4760a4330/pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "042db20a421b9bafecc4b84a8b6e444686bd9d836c7fd24542db3e7df7baad9b", + "url": "https://files.pythonhosted.org/packages/4d/a4/b342930964e3cb4dce5038ae34b0eab4653334995336cd486c5a8c25a00c/pillow-12.2.0-cp313-cp313t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2c727a6d53cb0018aadd8018c2b938376af27914a68a492f59dfcaca650d5eea", + "url": "https://files.pythonhosted.org/packages/4e/48/6ffc514adce69f6050d0753b1a18fd920fce8cac87620d5a31231b04bfc5/pillow-12.2.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "eedf4b74eda2b5a4b2b2fb4c006d6295df3bf29e459e198c90ea48e130dc75c3", + "url": "https://files.pythonhosted.org/packages/67/ee/21d4e8536afd1a328f01b359b4d3997b291ffd35a237c877b331c1c3b71c/pillow-12.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "56b25336f502b6ed02e889f4ece894a72612fe885889a6e8c4c80239ff6e5f5f", + "url": "https://files.pythonhosted.org/packages/71/43/905a14a8b17fdb1ccb58d282454490662d2cb89a6bfec26af6d3520da5ec/pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "f1c943e96e85df3d3478f7b691f229887e143f81fedab9b20205349ab04d73ed", + "url": "https://files.pythonhosted.org/packages/73/dd/42107efcb777b16fa0393317eac58f5b5cf30e8392e266e76e51cff28c3d/pillow-12.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "00a2865911330191c0b818c59103b58a5e697cae67042366970a6b6f1b20b7f9", + "url": "https://files.pythonhosted.org/packages/78/5f/e9f86ab0146464e8c133fe85df987ed9e77e08b29d8d35f9f9f4d6f917ba/pillow-12.2.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5", + "url": "https://files.pythonhosted.org/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "dd025009355c926a84a612fecf58bb315a3f6814b17ead51a8e48d3823d9087f", + "url": "https://files.pythonhosted.org/packages/9f/de/23198e0a65a9cf06123f5435a5d95cea62a635697f8f03d134d3f3a96151/pillow-12.2.0-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "03f6fab9219220f041c74aeaa2939ff0062bd5c364ba9ce037197f4c6d498cd9", + "url": "https://files.pythonhosted.org/packages/a8/68/b93e09e5e8549019e61acf49f65b1a8530765a7f812c77a7461bca7e4494/pillow-12.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9f08483a632889536b8139663db60f6724bfcb443c96f1b18855860d7d5c0fd4", + "url": "https://files.pythonhosted.org/packages/c1/fc/ac4ee3041e7d5a565e1c4fd72a113f03b6394cc72ab7089d27608f8aaccb/pillow-12.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1e1757442ed87f4912397c6d35a0db6a7b52592156014706f17658ff58bbf795", + "url": "https://files.pythonhosted.org/packages/ed/1e/409007f56a2fdce61584fd3acbc2bbc259857d555196cedcadc68c015c82/pillow-12.2.0-cp313-cp313-musllinux_1_2_x86_64.whl" + } + ], + "project_name": "pillow", + "requires_dists": [ + "arro3-compute; extra == \"test-arrow\"", + "arro3-core; extra == \"test-arrow\"", + "check-manifest; extra == \"tests\"", + "coverage>=7.4.2; extra == \"tests\"", + "defusedxml; extra == \"tests\"", + "defusedxml; extra == \"xmp\"", + "furo; extra == \"docs\"", + "markdown2; extra == \"tests\"", + "nanoarrow; extra == \"test-arrow\"", + "olefile; extra == \"docs\"", + "olefile; extra == \"fpx\"", + "olefile; extra == \"mic\"", + "olefile; extra == \"tests\"", + "packaging; extra == \"tests\"", + "pyarrow; extra == \"test-arrow\"", + "pyroma>=5; extra == \"tests\"", + "pytest-cov; extra == \"tests\"", + "pytest-timeout; extra == \"tests\"", + "pytest-xdist; extra == \"tests\"", + "pytest; extra == \"tests\"", + "sphinx-autobuild; extra == \"docs\"", + "sphinx-copybutton; extra == \"docs\"", + "sphinx-inline-tabs; extra == \"docs\"", + "sphinx>=8.2; extra == \"docs\"", + "sphinxext-opengraph; extra == \"docs\"", + "trove-classifiers>=2024.10.12; extra == \"tests\"" + ], + "requires_python": ">=3.10", + "version": "12.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917", + "url": "https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a", + "url": "https://files.pythonhosted.org/packages/9f/4a/0883b8e3802965322523f0b200ecf33d31f10991d0401162f4b23c698b42/platformdirs-4.9.6.tar.gz" + } + ], + "project_name": "platformdirs", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "4.9.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", + "url": "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", + "url": "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz" + } + ], + "project_name": "pluggy", + "requires_dists": [ + "coverage; extra == \"testing\"", + "pre-commit; extra == \"dev\"", + "pytest-benchmark; extra == \"testing\"", + "pytest; extra == \"testing\"", + "tox; extra == \"dev\"" + ], + "requires_python": ">=3.9", + "version": "1.6.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "3cdc5f565312224bc570c49337bd21428bba0ef363bbcf58b9ef4a9f11779968", + "url": "https://files.pythonhosted.org/packages/4b/a6/38c8e2f318bf67d338f4d629e93b0b4b9af331f455f0390ea8ce4a099b26/portalocker-3.2.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "1f3002956a54a8c3730586c5c77bf18fae4149e07eaf1c29fc3faf4d5a3f89ac", + "url": "https://files.pythonhosted.org/packages/5e/77/65b857a69ed876e1951e88aaba60f5ce6120c33703f7cb61a3c894b8c1b6/portalocker-3.2.0.tar.gz" + } + ], + "project_name": "portalocker", + "requires_dists": [ + "coverage-conditional-plugin>=0.9.0; extra == \"tests\"", + "portalocker[redis]; extra == \"tests\"", + "portalocker[tests]; extra == \"docs\"", + "pytest-cov>=2.8.1; extra == \"tests\"", + "pytest-mypy>=0.8.0; extra == \"tests\"", + "pytest-rerunfailures>=15.0; extra == \"tests\"", + "pytest-timeout>=2.1.0; extra == \"tests\"", + "pytest>=5.4.1; extra == \"tests\"", + "pywin32>=226; platform_system == \"Windows\"", + "redis; extra == \"redis\"", + "sphinx>=6.0.0; extra == \"tests\"", + "types-pywin32>=310.0.0.20250429; extra == \"tests\"", + "types-redis; extra == \"tests\"" + ], + "requires_python": ">=3.9", + "version": "3.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "15917a81a06e20ff0aaaf1358481f4588449fa2421233040cb25e5c8202a3e2f", + "url": "https://files.pythonhosted.org/packages/73/ca/60ec131c3b43bff58261167045778b2509b83922ce8f935ac89d871bd3ea/praw-7.8.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "3c5767909f71e48853eb6335fef7b50a43cbe3da728cdfb16d3be92904b0a4d8", + "url": "https://files.pythonhosted.org/packages/4c/52/7dd0b3d9ccb78e90236420ef6c51b6d9b2400a7229442f0cfcf2258cce21/praw-7.8.1.tar.gz" + } + ], + "project_name": "praw", + "requires_dists": [ + "betamax-matchers<0.5,>=0.3.0; extra == \"test\"", + "betamax<0.9,>=0.8; extra == \"test\"", + "coveralls; extra == \"ci\"", + "furo; extra == \"readthedocs\"", + "packaging; extra == \"dev\"", + "praw[lint]; extra == \"dev\"", + "praw[readthedocs]; extra == \"lint\"", + "praw[test]; extra == \"dev\"", + "prawcore<3,>=2.4", + "pre-commit; extra == \"lint\"", + "pytest>=2.7.3; extra == \"test\"", + "requests<3,>=2.20.1; extra == \"test\"", + "ruff>=0.0.291; extra == \"lint\"", + "sphinx; extra == \"readthedocs\"", + "update_checker>=0.18", + "urllib3<2,==1.26.*; extra == \"test\"", + "websocket-client>=0.54.0" + ], + "requires_python": "~=3.8", + "version": "7.8.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "29af5da58d85704b439ad3c820873ad541f4535e00bb98c66f0fbcc8c603065a", + "url": "https://files.pythonhosted.org/packages/96/5c/8af904314e42d5401afcfaff69940dc448e974f80f7aa39b241a4fbf0cf1/prawcore-2.4.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b7b2b5a1d04406e086ab4e79988dc794df16059862f329f4c6a43ed09986c335", + "url": "https://files.pythonhosted.org/packages/8a/62/d4c99cf472205f1e5da846b058435a6a7c988abf8eb6f7d632a7f32f4a77/prawcore-2.4.0.tar.gz" + } + ], + "project_name": "prawcore", + "requires_dists": [ + "betamax<0.9,>=0.8; extra == \"test\"", + "coveralls; extra == \"ci\"", + "packaging; extra == \"dev\"", + "prawcore[lint]; extra == \"dev\"", + "prawcore[test]; extra == \"dev\"", + "pre-commit; extra == \"lint\"", + "pytest>=2.7.3; extra == \"test\"", + "requests<3.0,>=2.6.0", + "ruff>=0.0.291; extra == \"lint\"", + "urllib3<2,==1.26.*; extra == \"test\"" + ], + "requires_python": "~=3.8", + "version": "2.4.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e2cf246f7299edcabcf15f9b0571fdce06058527f0a06535068a86d38089f29b", + "url": "https://files.pythonhosted.org/packages/80/6e/4b28b62ecb6aae56769c34a8ff1d661473ec1e9519e2d5f8b2c150086b26/pre_commit-4.6.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "718d2208cef53fdc38206e40524a6d4d9576d103eb16f0fec11c875e7716e9d9", + "url": "https://files.pythonhosted.org/packages/8e/22/2de9408ac81acbb8a7d05d4cc064a152ccf33b3d480ebe0cd292153db239/pre_commit-4.6.0.tar.gz" + } + ], + "project_name": "pre-commit", + "requires_dists": [ + "cfgv>=2.0.0", + "identify>=1.0.0", + "nodeenv>=0.11.1", + "pyyaml>=5.1", + "virtualenv>=20.10.0" + ], + "requires_python": ">=3.10", + "version": "4.6.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", + "url": "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", + "url": "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz" + } + ], + "project_name": "prompt-toolkit", + "requires_dists": [ + "wcwidth" + ], + "requires_python": ">=3.8", + "version": "3.0.52" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901", + "url": "https://files.pythonhosted.org/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593", + "url": "https://files.pythonhosted.org/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9720e6961b251bde64edfdab7d500725a2af5280f3f4c87e57c0208376aa8c3a", + "url": "https://files.pythonhosted.org/packages/5c/01/a3c3ed5cd186f39e7880f8303cc51385a198a81469d53d0fdecf1f64d929/protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135", + "url": "https://files.pythonhosted.org/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3", + "url": "https://files.pythonhosted.org/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2", + "url": "https://files.pythonhosted.org/packages/ee/90/b3c01fdec7d2f627b3a6884243ba328c1217ed2d978def5c12dc50d328a3/protobuf-6.33.6-cp39-abi3-manylinux2014_aarch64.whl" + } + ], + "project_name": "protobuf", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "6.33.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b6bbc25ccf05c8fad3b061d9db2ef0909a555171b84b07f29458a447253d679a", + "url": "https://files.pythonhosted.org/packages/5c/e0/7b3dee031daae7743609ce3c746565d4a3ed7c2c186479eb48e34e838c64/psycopg-3.3.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e21207764952cff81b6b8bdacad9a3939f2793367fdac2987b3aac36a651b5bc", + "url": "https://files.pythonhosted.org/packages/db/2f/cb91e5502ec9de1de6f1b76cfbf69531932725361168bb06963620c77e2e/psycopg-3.3.4.tar.gz" + } + ], + "project_name": "psycopg", + "requires_dists": [ + "Sphinx>=9.1; extra == \"docs\"", + "anyio>=4.0; extra == \"test\"", + "ast-comments>=1.1.2; extra == \"dev\"", + "black>=26.1.0; extra == \"dev\"", + "codespell>=2.2; extra == \"dev\"", + "cython-lint>=0.16; extra == \"dev\"", + "dnspython>=2.1; extra == \"dev\"", + "flake8>=4.0; extra == \"dev\"", + "furo==2025.12.19; extra == \"docs\"", + "isort-psycopg; extra == \"dev\"", + "isort[colors]>=6.0; extra == \"dev\"", + "mypy>=1.19.0; extra == \"dev\"", + "mypy>=1.19.0; implementation_name != \"pypy\" and extra == \"test\"", + "pproxy>=2.7; extra == \"test\"", + "pre-commit>=4.0.1; extra == \"dev\"", + "psycopg-binary==3.3.4; implementation_name != \"pypy\" and extra == \"binary\"", + "psycopg-c==3.3.4; implementation_name != \"pypy\" and extra == \"c\"", + "psycopg-pool; extra == \"pool\"", + "pytest-cov>=3.0; extra == \"test\"", + "pytest-randomly>=3.5; extra == \"test\"", + "pytest>=6.2.5; extra == \"test\"", + "sphinx-autobuild>=2025.8.25; extra == \"docs\"", + "sphinx-autodoc-typehints>=3.10.2; extra == \"docs\"", + "types-setuptools>=57.4; extra == \"dev\"", + "types-shapely>=2.0; extra == \"dev\"", + "typing-extensions>=4.6; python_version < \"3.13\"", + "tzdata; sys_platform == \"win32\"", + "wheel>=0.37; extra == \"dev\"" + ], + "requires_python": ">=3.10", + "version": "3.3.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5c4ab71be17bdca30cb34c34c4e1496e2f5d6f20c199c12bad226070b22ef9bf", + "url": "https://files.pythonhosted.org/packages/e9/65/768364d4a97a15b1a7f47ba52688c1686f22941d8332a8398cefc468e25f/psycopg_binary-3.3.4-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fbd1d4ed566895ad2d3bf4ddfd8bae90026930ddf29df3b9d91d32c8c47866a7", + "url": "https://files.pythonhosted.org/packages/09/43/13e9c406fbbf354580476e248a16b64802a376873ebe6339e30bb655572d/psycopg_binary-3.3.4-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b6f5a29e9c775b9f12a1a717aa7a2c80f9e1db6f27ba44a5b59c80ac61d2ffcf", + "url": "https://files.pythonhosted.org/packages/0e/0e/94e842ff4a7f98ed162580ca2e8b8864b28c1e0350f2443f8ee47f821167/psycopg_binary-3.3.4-cp313-cp313-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "75a9067e236f9b9ae3535b66fe99bddb33d39c0de10112e49b9ab11eee53dc31", + "url": "https://files.pythonhosted.org/packages/22/be/2923cd7c3683e7afdecf4f10796a18de02f5c5ddc0969aa2ad0a8cdd3bbd/psycopg_binary-3.3.4-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "26df2717e59c0473e4465a97dfb1b7afebaa479277870fd5784d1436470db47c", + "url": "https://files.pythonhosted.org/packages/36/fc/f0381ddcd45eff3bb70dbca6823a996048d7f507b2ec3fc92c6fabc0fe87/psycopg_binary-3.3.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "136f199a407b5348b9b857c504aff60c77622a28482e7195839ce1b51238c4cc", + "url": "https://files.pythonhosted.org/packages/86/e4/2f8a47ee97f90cd2b933d0463081d35631ff419de2b8c984a5f369857de0/psycopg_binary-3.3.4-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1dc1f79fd16bb1f3f4421417a514607539f17804d95c7ed617265369d1981cae", + "url": "https://files.pythonhosted.org/packages/95/40/fa545ae152c24327651e5624e4902121e808270be36c10b12e9939be09bc/psycopg_binary-3.3.4-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "b56b603ebcea8aa10b46228b8410ba7f13e7c2ee54389d4d9be0927fd8ce2a70", + "url": "https://files.pythonhosted.org/packages/96/a0/2c913d6fe13d6a8bd13597d36739bf47af063ad9399e402cfecab16f3c1e/psycopg_binary-3.3.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "ee17a2cf4943cde261adfad1bbc5bf38d6b3776d7afff74c7cabcbeaeb08c260", + "url": "https://files.pythonhosted.org/packages/d0/83/fc6c174b672e29b7de996ea77b6cbddf46c891751c3355f6974292baa6b4/psycopg_binary-3.3.4-cp313-cp313-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "c677c4ad433cb7150c8cd304a0769ae3bcfbe5ea0676eb53faa7b1443b16d0d3", + "url": "https://files.pythonhosted.org/packages/e7/38/205d10bc1ad0df4a21c5c51659126bd3ea0ef98fcad1e852f78c249bb9c3/psycopg_binary-3.3.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + } + ], + "project_name": "psycopg-binary", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "3.3.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b9bfb8695a1c7e3632e800fb83c943bf67ed45ddd87cd0344851610c69a5a482", + "url": "https://files.pythonhosted.org/packages/1d/c7/28220d37e041fe1df03e857fe48f768dcd30cd151480bf6f00da8713214a/py-ubjson-0.16.1.tar.gz" + } + ], + "project_name": "py-ubjson", + "requires_dists": [ + "Pympler<0.8,>=0.7; extra == \"dev\"", + "coverage<4.6,>=4.5.3; extra == \"dev\"" + ], + "requires_python": null, + "version": "0.16.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a80184d120f0864a52a073acc6fc642847d0be408e7c7252f31390c0f4eadcde", + "url": "https://files.pythonhosted.org/packages/5d/a0/7d793dce3fa811fe047d6ae2431c672364b462850c6235ae306c0efd025f/pyasn1-0.6.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "697a8ecd6d98891189184ca1fa05d1bb00e2f84b5977c481452050549c8a72cf", + "url": "https://files.pythonhosted.org/packages/5c/5f/6583902b6f79b399c9c40674ac384fd9cd77805f9e6205075f828ef11fb2/pyasn1-0.6.3.tar.gz" + } + ], + "project_name": "pyasn1", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "0.6.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", + "url": "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", + "url": "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz" + } + ], + "project_name": "pyasn1-modules", + "requires_dists": [ + "pyasn1<0.7.0,>=0.6.1" + ], + "requires_python": ">=3.8", + "version": "0.4.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", + "url": "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", + "url": "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz" + } + ], + "project_name": "pycparser", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "3.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba", + "url": "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6", + "url": "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz" + } + ], + "project_name": "pydantic", + "requires_dists": [ + "annotated-types>=0.6.0", + "email-validator>=2.0.0; extra == \"email\"", + "pydantic-core==2.46.4", + "typing-extensions>=4.14.1", + "typing-inspection>=0.4.2", + "tzdata; (python_version >= \"3.9\" and platform_system == \"Windows\") and extra == \"timezone\"" + ], + "requires_python": ">=3.9", + "version": "2.13.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d", + "url": "https://files.pythonhosted.org/packages/c2/eb/4f6c8a41efa30baa755590f4141abf3a8c370fab610915733e74134a7270/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76", + "url": "https://files.pythonhosted.org/packages/03/d5/fd02da45b659668b05923b17ba3a0100a0a3d5541e3bd8fcc4ecb711309e/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a", + "url": "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e739fee756ba1010f8bcccb534252e85a35fe45ae92c295a06059ce58b74ccd3", + "url": "https://files.pythonhosted.org/packages/21/f2/95727e1368be3d3ed485eaab7adbd7dda408f33f7a36e8b48e0144002b91/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "0186750b482eefa11d7f435892b09c5c606193ef3375bcf94aa00ae6bfb66262", + "url": "https://files.pythonhosted.org/packages/2c/e2/f35033184cb11d0052daf4416e8e10a502ea2ac006fc4f459aee872727d1/pydantic_core-2.46.4-cp313-cp313-manylinux_2_31_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008", + "url": "https://files.pythonhosted.org/packages/51/a2/5d30b469c5267a17b39dec53208222f76a8d351dfac4af661888c5aee77d/pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "633147d34cf4550417f12e2b1a0383973bdf5cdfde212cb09e9a581cf10820be", + "url": "https://files.pythonhosted.org/packages/59/31/0c864784e31f09f05cdd87606f08923b9c9e7f6e51dd27f20f62f975ce9f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd", + "url": "https://files.pythonhosted.org/packages/5a/f2/c8d7773ede6af08036423a00ae0ceffce266c3c52a096c435d68c896083f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "5855698a4856556d86e8e6cd8434bc3ac0314ee8e12089ae0e143f64c6256e4e", + "url": "https://files.pythonhosted.org/packages/7e/7b/6ceeb1cc90e193862f444ebe373d8fdf613f0a82572dde03fb10734c6c71/pydantic_core-2.46.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "9d56801be94b86a9da183e5f3766e6310752b99ff647e38b09a9500d88e46e76", + "url": "https://files.pythonhosted.org/packages/9c/86/5d99feea3f77c7234b8718075b23db11532773c1a0dbd9b9490215dc2eeb/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1", + "url": "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4", + "url": "https://files.pythonhosted.org/packages/c1/81/4fa520eaffa8bd7d1525e644cd6d39e7d60b1592bc5b516693c7340b50f1/pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "2412e734dcb48da14d4e4006b82b46b74f2518b8a26ee7e58c6844a6cd6d03c4", + "url": "https://files.pythonhosted.org/packages/d2/3a/508ac615935ef7588cf6d9e9b91309fdc2da751af865e02a9098de88258c/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + } + ], + "project_name": "pydantic-core", + "requires_dists": [ + "typing-extensions>=4.14.1" + ], + "requires_python": ">=3.9", + "version": "2.46.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", + "url": "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", + "url": "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz" + } + ], + "project_name": "pygments", + "requires_dists": [ + "colorama>=0.4.6; extra == \"windows-terminal\"" + ], + "requires_python": ">=3.9", + "version": "2.20.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c", + "url": "https://files.pythonhosted.org/packages/e5/7a/8dd906bd22e79e47397a61742927f6747fe93242ef86645ee9092e610244/pyjwt-2.12.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b", + "url": "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz" + } + ], + "project_name": "pyjwt", + "requires_dists": [ + "coverage[toml]==7.10.7; extra == \"dev\"", + "coverage[toml]==7.10.7; extra == \"tests\"", + "cryptography>=3.4.0; extra == \"crypto\"", + "cryptography>=3.4.0; extra == \"dev\"", + "pre-commit; extra == \"dev\"", + "pytest<9.0.0,>=8.4.2; extra == \"dev\"", + "pytest<9.0.0,>=8.4.2; extra == \"tests\"", + "sphinx-rtd-theme; extra == \"dev\"", + "sphinx-rtd-theme; extra == \"docs\"", + "sphinx; extra == \"dev\"", + "sphinx; extra == \"docs\"", + "typing_extensions>=4.0; python_version < \"3.11\"", + "zope.interface; extra == \"dev\"", + "zope.interface; extra == \"docs\"" + ], + "requires_python": ">=3.9", + "version": "2.12.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "00f51c9b14a3b3ae08cff6b2cdd43f28165c78b165b628692e428fb1f8dc2cf2", + "url": "https://files.pythonhosted.org/packages/d5/6f/9ac2548e290764781f9e7e2aaf0685b086379dabfb29ca38536985471eaf/pylint-4.0.5-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8cd6a618df75deb013bd7eb98327a95f02a6fb839205a6bbf5456ef96afb317c", + "url": "https://files.pythonhosted.org/packages/e4/b6/74d9a8a68b8067efce8d07707fe6a236324ee1e7808d2eb3646ec8517c7d/pylint-4.0.5.tar.gz" + } + ], + "project_name": "pylint", + "requires_dists": [ + "astroid<=4.1.dev0,>=4.0.2", + "colorama>=0.4.5; sys_platform == \"win32\"", + "dill>=0.2; python_version < \"3.11\"", + "dill>=0.3.6; python_version >= \"3.11\"", + "dill>=0.3.7; python_version >= \"3.12\"", + "gitpython>3; extra == \"testutils\"", + "isort!=5.13,<9,>=5", + "mccabe<0.8,>=0.6", + "platformdirs>=2.2", + "pyenchant~=3.2; extra == \"spelling\"", + "tomli>=1.1; python_version < \"3.11\"", + "tomlkit>=0.10.1", + "typing-extensions>=3.10; python_version < \"3.10\"" + ], + "requires_python": ">=3.10.0", + "version": "4.0.5" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "76ef7e7bbbcf7ee86adbb2beac0ffaa7232509a17bf4a488d81467a1bbaa215b", + "url": "https://files.pythonhosted.org/packages/e5/0d/d775fec0dde8ca5d20e9170a2ca332dfa21b77f7e7e47fc3ab9b2261773c/pylint_django-2.7.0-py3-none-any.whl" + } + ], + "project_name": "pylint-django", + "requires_dists": [ + "Django>=2.2; extra == \"with-django\"", + "pylint-plugin-utils>=0.8", + "pylint<5,>=3.0" + ], + "requires_python": "<4.0,>=3.9", + "version": "2.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "16e9b84e5326ba893a319a0323fcc8b4bcc9c71fc654fcabba0605596c673818", + "url": "https://files.pythonhosted.org/packages/5e/c9/a3b871b0b590c49e38884af6dab58ab9711053bd5c39b8899b72e367b9f6/pylint_plugin_utils-0.9.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "5468d763878a18d5cc4db46eaffdda14313b043c962a263a7d78151b90132055", + "url": "https://files.pythonhosted.org/packages/73/85/24eaf5d0d078fc8799ae6d89faf326d6e4d27d862fc9a710a52ab07b7bb5/pylint_plugin_utils-0.9.0.tar.gz" + } + ], + "project_name": "pylint-plugin-utils", + "requires_dists": [ + "pylint>=1.7" + ], + "requires_python": "<4.0,>=3.9", + "version": "0.9.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4f9d971bc5298b8bc1fab282803da04bf000c755d4ad9d99b52de2569ca19a70", + "url": "https://files.pythonhosted.org/packages/73/b8/a0e2790ae249d6f38c9f66de7a211621a7ab2650217bcd04e1262f578a56/pyopenssl-26.2.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8c6fcecd1183a7fc897548dfe388b0cdb7f37e018200d8409cf33959dbe35387", + "url": "https://files.pythonhosted.org/packages/1a/51/27a5ad5f939d08f690a326ef9582cda7140555180db71695f6fb747d6a36/pyopenssl-26.2.0.tar.gz" + } + ], + "project_name": "pyopenssl", + "requires_dists": [ + "cryptography<49,>=46.0.0", + "pretend; extra == \"test\"", + "pytest-rerunfailures; extra == \"test\"", + "pytest>=3.0.1; extra == \"test\"", + "sphinx!=5.2.0,!=5.2.0.post0,!=7.2.5; extra == \"docs\"", + "sphinx_rtd_theme; extra == \"docs\"", + "typing-extensions>=4.9; python_version < \"3.13\" and python_version >= \"3.8\"" + ], + "requires_python": ">=3.8", + "version": "26.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "aa3ea228cab90c845c7a60d28db7a844c04315356392aa09fafcee98c8c22fb3", + "url": "https://files.pythonhosted.org/packages/16/6b/330d8ebae582b30c2959a1ef4c3bc344ebde48c2ff0c3f113c4710735e11/pyright-1.1.409-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "986ee05beca9e077c165758ad123667c679e050059a2546aa02473930394bc93", + "url": "https://files.pythonhosted.org/packages/51/4e/3aa27f74211522dba7e9cbc3e74de779c6d4b654c54e50a4840623be8014/pyright-1.1.409.tar.gz" + } + ], + "project_name": "pyright", + "requires_dists": [ + "nodeenv>=1.6.0", + "nodejs-wheel-binaries; extra == \"all\"", + "nodejs-wheel-binaries; extra == \"nodejs\"", + "twine>=3.4.1; extra == \"all\"", + "twine>=3.4.1; extra == \"dev\"", + "typing-extensions>=4.1" + ], + "requires_python": ">=3.7", + "version": "1.1.409" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", + "url": "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", + "url": "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz" + } + ], + "project_name": "pytest", + "requires_dists": [ + "argcomplete; extra == \"dev\"", + "attrs>=19.2; extra == \"dev\"", + "colorama>=0.4; sys_platform == \"win32\"", + "exceptiongroup>=1; python_version < \"3.11\"", + "hypothesis>=3.56; extra == \"dev\"", + "iniconfig>=1.0.1", + "mock; extra == \"dev\"", + "packaging>=22", + "pluggy<2,>=1.5", + "pygments>=2.7.2", + "requests; extra == \"dev\"", + "setuptools; extra == \"dev\"", + "tomli>=1; python_version < \"3.11\"", + "xmlschema; extra == \"dev\"" + ], + "requires_python": ">=3.10", + "version": "9.0.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "3ff300c49f8350ba2953b90297d23bf5f589db69545f56f1ec5f8cff5da83e85", + "url": "https://files.pythonhosted.org/packages/83/a5/41d091f697c09609e7ef1d5d61925494e0454ebf51de7de05f0f0a728f1d/pytest_django-4.12.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "df94ec819a83c8979c8f6de13d9cdfbe76e8c21d39473cfe2b40c9fc9be3c758", + "url": "https://files.pythonhosted.org/packages/13/2b/db9a193df89e5660137f5428063bcc2ced7ad790003b26974adf5c5ceb3b/pytest_django-4.12.0.tar.gz" + } + ], + "project_name": "pytest-django", + "requires_dists": [ + "pytest>=7.0.0" + ], + "requires_python": ">=3.10", + "version": "4.12.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0a25e2eb88fe5168d535041d09a4529a188176ae608a6d249ee65abc0949630d", + "url": "https://files.pythonhosted.org/packages/5a/cc/06253936f4a7fa2e0f48dfe6d851d9c56df896a9ab09ac019d70b760619c/pytest_mock-3.15.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "1849a238f6f396da19762269de72cb1814ab44416fa73a8686deac10b0d87a0f", + "url": "https://files.pythonhosted.org/packages/68/14/eb014d26be205d38ad5ad20d9a80f7d201472e08167f0bb4361e251084a9/pytest_mock-3.15.1.tar.gz" + } + ], + "project_name": "pytest-mock", + "requires_dists": [ + "pre-commit; extra == \"dev\"", + "pytest-asyncio; extra == \"dev\"", + "pytest>=6.2.5", + "tox; extra == \"dev\"" + ], + "requires_python": ">=3.9", + "version": "3.15.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", + "url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", + "url": "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" + } + ], + "project_name": "python-dateutil", + "requires_dists": [ + "six>=1.5" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", + "version": "2.9.0.post0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ed188687ebb3b82c01a17cd5ac62fc94d9f6487a7f1a0f9dfe89753fec91039c", + "url": "https://files.pythonhosted.org/packages/b7/6f/a05a317a66fee0aad270011461f1a63a453ed12471249f172f7d2e2bc7b4/python_discovery-1.3.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "62f6db28064c9613e7ca76cb3f00c38c839a07c31c00dfe7ed0986493d2150a6", + "url": "https://files.pythonhosted.org/packages/48/60/e88788207d81e46362cfbef0d4aaf4c0f49efc3c12d4c3fa3f542c34ebec/python_discovery-1.3.1.tar.gz" + } + ], + "project_name": "python-discovery", + "requires_dists": [ + "covdefaults>=2.3; extra == \"testing\"", + "coverage>=7.5.4; extra == \"testing\"", + "filelock>=3.15.4", + "furo>=2025.12.19; extra == \"docs\"", + "platformdirs<5,>=4.3.6", + "pytest-mock>=3.14; extra == \"testing\"", + "pytest>=8.3.5; extra == \"testing\"", + "setuptools>=75.1; extra == \"testing\"", + "sphinx-autodoc-typehints>=3.6.3; extra == \"docs\"", + "sphinx>=9.1; extra == \"docs\"", + "sphinxcontrib-mermaid>=2; extra == \"docs\"", + "sphinxcontrib-towncrier>=0.4; extra == \"docs\"", + "towncrier>=25.8; extra == \"docs\"" + ], + "requires_python": ">=3.8", + "version": "1.3.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", + "url": "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", + "url": "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" + } + ], + "project_name": "python-dotenv", + "requires_dists": [ + "click>=5.0; extra == \"cli\"" + ], + "requires_python": ">=3.10", + "version": "1.2.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", + "url": "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", + "url": "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", + "url": "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", + "url": "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", + "url": "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", + "url": "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", + "url": "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", + "url": "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl" + } + ], + "project_name": "pyyaml", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "6.0.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "093aa8cf8a420ee3ad2a68b007e1378d7992b2600e0b53c193fc172674f659cd", + "url": "https://files.pythonhosted.org/packages/d6/10/c437bd2ac41ef30d3019063e6ce537dc111e9214473b337ee88f7fa6359a/qdrant_client-1.18.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "52e8ece1a7d40519801bf0b70713bfa0f6b7ae28c7275bbe0b0286fbed7f6db4", + "url": "https://files.pythonhosted.org/packages/65/45/5b1bdd15a3c7730eefb9c113600829e20d689b82b5a23f9e07d107094004/qdrant_client-1.18.0.tar.gz" + } + ], + "project_name": "qdrant-client", + "requires_dists": [ + "fastembed-gpu<0.9,>=0.8; extra == \"fastembed-gpu\"", + "fastembed<0.9,>=0.8; extra == \"fastembed\"", + "grpcio>=1.41.0", + "httpx[http2]>=0.20.0", + "numpy<2.3.0,>=1.21; python_version == \"3.10\"", + "numpy>=1.21; python_version == \"3.11\"", + "numpy>=1.26; python_version == \"3.12\"", + "numpy>=2.1.0; python_version == \"3.13\"", + "numpy>=2.3.0; python_version >= \"3.14\"", + "portalocker<4.0,>=2.7.0", + "protobuf>=3.20.0", + "pydantic!=2.0.*,!=2.1.*,!=2.2.0,>=1.10.8", + "urllib3<3,>=1.26.14" + ], + "requires_python": ">=3.10", + "version": "1.18.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f0544fa9604264e9464cdf4814e7d4830f74b165d52f2a330a760a88dd248b7f", + "url": "https://files.pythonhosted.org/packages/e8/02/89e2ed7e85db6c93dfa9e8f691c5087df4e3551ab39081a4d7c6d1f90e05/redis-6.4.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b01bc7282b8444e28ec36b261df5375183bb47a07eb9c603f284e89cbc5ef010", + "url": "https://files.pythonhosted.org/packages/0d/d6/e8b92798a5bd67d659d51a18170e91c16ac3b59738d91894651ee255ed49/redis-6.4.0.tar.gz" + } + ], + "project_name": "redis", + "requires_dists": [ + "async-timeout>=4.0.3; python_full_version < \"3.11.3\"", + "cryptography>=36.0.1; extra == \"ocsp\"", + "hiredis>=3.2.0; extra == \"hiredis\"", + "pyjwt>=2.9.0; extra == \"jwt\"", + "pyopenssl>=20.0.1; extra == \"ocsp\"", + "requests>=2.31.0; extra == \"ocsp\"" + ], + "requires_python": ">=3.9", + "version": "6.4.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", + "url": "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", + "url": "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" + } + ], + "project_name": "referencing", + "requires_dists": [ + "attrs>=22.2.0", + "rpds-py>=0.7.0", + "typing-extensions>=4.4.0; python_version < \"3.13\"" + ], + "requires_python": ">=3.10", + "version": "0.37.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "dfbe4579b9f08036aa7d101d1835437a20783574ac66327e6b29b4018a138081", + "url": "https://files.pythonhosted.org/packages/a9/29/92ff47f75990131ea4f24ba17819e5a9d141e10819807e09addd73409af6/regex-2026.5.9-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d659eee77986549c9ea45b861c7567e44d6287c3dc9a4565478853f7b9fe2ff6", + "url": "https://files.pythonhosted.org/packages/12/f4/499e74a20c156fc75836ee04a72a38d1a063978f600937f9760467beb1b0/regex-2026.5.9-cp313-cp313-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "c8b9b9d294cfea3cd19c718ade7cc93492b2c4991abd9a68d0b3477ae6d8e100", + "url": "https://files.pythonhosted.org/packages/18/d4/80882e799e440dd878b0979cbebf8fa4d54624a332c83037c7a701649e3f/regex-2026.5.9-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "508f56a89ba9cb26e4168cbc37dbd60a28d82430a9e18ad1d25fe0883c314ca2", + "url": "https://files.pythonhosted.org/packages/1a/89/f05169e8588aac365f35ffc7f3bc3184f095ef4cfded7cfaa3c7fd5dbd89/regex-2026.5.9-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "2acfb48634f64996b57f90f39afa692ff362162722581921fe92239a59960f3c", + "url": "https://files.pythonhosted.org/packages/23/5c/d78d4924e7fc875557b9e9b768423925fdfaac5549d06da7810019a9bd26/regex-2026.5.9-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a8820737949116ffff55fe18f9fc644530063ba6ebfcb8314239416e78f1347c", + "url": "https://files.pythonhosted.org/packages/2d/e7/d0eaf5713828417b9e5648cf81fa9bacd4961f6ab98c380c2034f8716e35/regex-2026.5.9-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "b6d189041f15691cfa2b6c4290448ec221244d225b3f5fe9e7771b34ffcdf6e2", + "url": "https://files.pythonhosted.org/packages/30/e1/c93444052cf41581f3c884ab3fb5823daf0992f11cd4388d4275ca610558/regex-2026.5.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d7bdc0ab8f3dd7e1b4f9ab88634e13374669db86bb3c72e8292f07ae313f539f", + "url": "https://files.pythonhosted.org/packages/44/da/bf30abaaa737b58f4a4b8c4a03659e02fd92092c822e0197ed9e0daab917/regex-2026.5.9-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7e30b874d341fac767d7df5a0870540541c2c054b80cfaac116e8d367a8a7ff2", + "url": "https://files.pythonhosted.org/packages/4c/47/742ef579c61730f8d268e5cf1f9ce0e37e2ea041ad0f5644724f2378e463/regex-2026.5.9-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "e82db382b44d0111b22601c509c89f64434816c9e0eef9d1989cda8cc6ff1c04", + "url": "https://files.pythonhosted.org/packages/50/fe/0cf96b882f540e62e8b9956599798203d599c44cf4c77917ca27400ff69b/regex-2026.5.9-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "2efa205e6d98b24d1f3ab395c11aa15cdf10935bca283d0285e0499c284fba21", + "url": "https://files.pythonhosted.org/packages/5b/92/7eebc0d0a01e78629695f342ba17e0deaff8fb45e79cc0d7b98287da6e3e/regex-2026.5.9-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "debb893095e944091c16e641a6e33c1b0f4cb61ab945ec5afbf53ce7068834d8", + "url": "https://files.pythonhosted.org/packages/6e/e1/4a57a83350319b1271f0d7a249b8672513ed928b237a741631270de6caea/regex-2026.5.9-cp313-cp313-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "8e76e8161ad00694cfce6767d5dea860c6391ac5b83e5c3a39661e696f11fc7e", + "url": "https://files.pythonhosted.org/packages/7d/62/8ca59a24c55bc34d166eefaf3717bd77772f329fdbf984d86581e0a3571c/regex-2026.5.9-cp313-cp313t-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "fd190e88a895a8901325fad284a3f74ea52b1da8525b76cc811fa9b1edf0ce2b", + "url": "https://files.pythonhosted.org/packages/7f/ab/cb0999802dcb0fb95b1ab005e8d4163d8afdd67efc2cb6b6630ac13f8cb1/regex-2026.5.9-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7e87577720152d2caae19fe2baaf1f8d5ca12091e9e229f03915c37d1e4b9178", + "url": "https://files.pythonhosted.org/packages/87/83/a5c1c525fba0aa656e88ad0face0b1829788ef4c2fb6b26df58aa1151b84/regex-2026.5.9-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "ddda5340e6c01a293027dd46232fa79eaff1b48058ce7a98f572b6445b088041", + "url": "https://files.pythonhosted.org/packages/8d/3d/30f2ae62cef3278bb5bb821f467277a55fb73f01032cf85997e15e8289a8/regex-2026.5.9-cp313-cp313t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "d626b84406444b165fc0ba981604edea39f0588ff1f92baa23fe50799ea9afdb", + "url": "https://files.pythonhosted.org/packages/aa/da/797e91ecec6f84135da778ddce78c20e0af5d2a15c26f87a81bc3eadb6db/regex-2026.5.9-cp313-cp313-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "728d8bfd28a8845c8b6bc5dc7ce010453d206396786c0765c2740cb65f37791e", + "url": "https://files.pythonhosted.org/packages/ae/ff/8db60211e2286e396aad7dc7725356c502bff0901ea05bd6cdc2e1a042b9/regex-2026.5.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d29eebfc9525db68cad3c97eedd7f754fa265aa5cd0cf4f863b2421e1b48fc9f", + "url": "https://files.pythonhosted.org/packages/bf/e0/5214774090e7b4524dcea3e3c4aa74141d43043f8beb49c1599db1c8b53a/regex-2026.5.9-cp313-cp313-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "48036f6374aaa79eb3b754ec29c61d1c6b1606749d705a13f8854fa2539671f6", + "url": "https://files.pythonhosted.org/packages/c4/43/fd1177a2032037c681baecdb3422ee4e1424aec4e4f470ef47793d325274/regex-2026.5.9-cp313-cp313t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "aa0fbdbac82cb3e4450d0ccde7d7a35607f4cb2dd9fba4b8b69bfaf8c9fa6aed", + "url": "https://files.pythonhosted.org/packages/d3/9b/b3fdd62b003baa1a9b593cd8c8699c9651c2e80cc21a5c715707983c42d7/regex-2026.5.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "57e8915c7986aa33d25e4d3629cef711cd2863f2961b10409f0c04cb8b7d9020", + "url": "https://files.pythonhosted.org/packages/d4/30/66ab84588765f5b4b271a9ca09ef7ce2b87caa95176ec3d2ad65d7bc4902/regex-2026.5.9-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "205109e96b3cf5adf8f4cd62bedde9487feb282b9497a3535451e5a24cd706a0", + "url": "https://files.pythonhosted.org/packages/d8/ae/7d2089bcd78ad0c0161bc684339df50032acb438a7bd3305e7ddb1193cec/regex-2026.5.9-cp313-cp313t-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "a8234aa23ec39894bfe4a3f1b85616a7032481964a13ac6fc9f10de4f6fca270", + "url": "https://files.pythonhosted.org/packages/dc/0e/49aee608ad09480e7fd276898c99ec6192985fa331abe4eb3a986094490b/regex-2026.5.9.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "8f3af7a4903c5c04a11a196a5aa75cdd7dd3f8508132f9fb3259d9f5908e3b88", + "url": "https://files.pythonhosted.org/packages/e2/6c/e41bfeecb589716843e7c4df09ba46ff2a42961457afece19059d85caeef/regex-2026.5.9-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "01f28d868834624c934b8d2e0aa1c8341337e37831f4a012f18a5afcba4cbaf3", + "url": "https://files.pythonhosted.org/packages/e8/e9/d21346f7b60ed58789371358ed66b09d00f832e1bd7c06e55d9da5679882/regex-2026.5.9-cp313-cp313t-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "b96350aa424e79d4fd6b567b344dcbe2b2d6bfc48dfe7717587e1fa6d43da6ff", + "url": "https://files.pythonhosted.org/packages/f2/7d/9fbf919768368d3f8a4f6c692cf2aa61e482b2b81ec6a298ace4cbf02480/regex-2026.5.9-cp313-cp313t-macosx_11_0_arm64.whl" + } + ], + "project_name": "regex", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "2026.5.9" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", + "url": "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", + "url": "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz" + } + ], + "project_name": "requests", + "requires_dists": [ + "PySocks!=1.5.7,>=1.5.6; extra == \"socks\"", + "certifi>=2023.5.7", + "chardet<8,>=3.0.2; extra == \"use-chardet-on-py3\"", + "charset_normalizer<4,>=2", + "idna<4,>=2.5", + "urllib3<3,>=1.26" + ], + "requires_python": ">=3.10", + "version": "2.34.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06", + "url": "https://files.pythonhosted.org/packages/3f/51/d4db610ef29373b879047326cbf6fa98b6c1969d6f6dc423279de2b1be2c/requests_toolbelt-1.0.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6", + "url": "https://files.pythonhosted.org/packages/f3/61/d7545dafb7ac2230c70d38d31cbfe4cc64f7144dc41f6e4e4b78ecd9f5bb/requests-toolbelt-1.0.0.tar.gz" + } + ], + "project_name": "requests-toolbelt", + "requires_dists": [ + "requests<3.0.0,>=2.0.1" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", + "version": "1.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", + "url": "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", + "url": "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz" + } + ], + "project_name": "rich", + "requires_dists": [ + "ipywidgets<9,>=7.5.1; extra == \"jupyter\"", + "markdown-it-py>=2.2.0", + "pygments<3.0.0,>=2.13.0" + ], + "requires_python": ">=3.9.0", + "version": "15.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4c5f36a861bc4b7da6516dbdf302c55313afa09b81931e8280361a4f6c9a2d27", + "url": "https://files.pythonhosted.org/packages/6d/61/21b8c41f68e60c8cc3b2e25644f0e3681926020f11d06ab0b78e3c6bbff1/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5d4c2aa7c50ad4728a094ebd5eb46c452e9cb7edbfdb18f9e1221f597a73e1e7", + "url": "https://files.pythonhosted.org/packages/06/c1/3088fc04b6624eb12a57eb814f0d4997a44b0d208d6cace713033ff1a6ba/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "922e10f31f303c7c920da8981051ff6d8c1a56207dbdf330d9047f6d30b70e5e", + "url": "https://files.pythonhosted.org/packages/0d/bf/27e39f5971dc4f305a4fb9c672ca06f290f7c4e261c568f3dea16a410d47/rpds_py-0.30.0-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "47f9a91efc418b54fb8190a6b4aa7813a23fb79c51f4bb84e418f5476c38b8db", + "url": "https://files.pythonhosted.org/packages/14/14/f59b0127409a33c6ef6f5c1ebd5ad8e32d7861c9c7adfa9a624fc3889f6c/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "61046904275472a76c8c90c9ccee9013d70a6d0f73eecefd38c1ae7c39045a08", + "url": "https://files.pythonhosted.org/packages/1c/5d/15bbf0fb4a3f58a3b1c67855ec1efcc4ceaef4e86644665fff03e1b66d8d/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "dd8ff7cf90014af0c0f787eea34794ebf6415242ee1d6fa91eaba725cc441e84", + "url": "https://files.pythonhosted.org/packages/20/af/3f2f423103f1113b36230496629986e0ef7e199d2aa8392452b484b38ced/rpds_py-0.30.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "39c02563fc592411c2c61d26b6c5fe1e51eaa44a75aa2c8735ca88b0d9599daa", + "url": "https://files.pythonhosted.org/packages/3d/55/fa3b9cf31d0c963ecf1ba777f7cf4b2a2c976795ac430d24a1f43d25a6ba/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "cdc62c8286ba9bf7f47befdcea13ea0e26bf294bda99758fd90535cbaf408000", + "url": "https://files.pythonhosted.org/packages/40/58/442ada3bba6e8e6615fc00483135c14a7538d2ffac30e2d933ccf6852232/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6bdfdb946967d816e6adf9a3d8201bfad269c67efe6cefd7093ef959683c8de0", + "url": "https://files.pythonhosted.org/packages/4b/9a/453255d2f769fe44e07ea9785c8347edaf867f7026872e76c1ad9f7bed92/rpds_py-0.30.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "2771c6c15973347f50fece41fc447c054b7ac2ae0502388ce3b6738cd366e3d4", + "url": "https://files.pythonhosted.org/packages/58/70/faed8186300e3b9bdd138d0273109784eea2396c68458ed580f885dfe7ad/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a4796a717bf12b9da9d3ad002519a86063dcac8988b030e405704ef7d74d2d9d", + "url": "https://files.pythonhosted.org/packages/58/95/d9275b05ab96556fefff73a385813eb66032e4c99f411d0795372d9abcea/rpds_py-0.30.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "945dccface01af02675628334f7cf49c2af4c1c904748efc5cf7bbdf0b579f95", + "url": "https://files.pythonhosted.org/packages/5f/60/525a50f45b01d70005403ae0e25f43c0384369ad24ffe46e8d9068b50086/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "51a1234d8febafdfd33a42d97da7a43f5dcb120c1060e352a3fbc0c6d36e2083", + "url": "https://files.pythonhosted.org/packages/60/ca/780cf3b1a32b18c0f05c441958d3758f02544f1d613abf9488cd78876378/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "76fec018282b4ead0364022e3c54b60bf368b9d926877957a8624b58419169b7", + "url": "https://files.pythonhosted.org/packages/77/57/5999eb8c58671f1c11eba084115e77a8899d6e694d2a18f69f0ba471ec8b/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "eb2c4071ab598733724c08221091e8d80e89064cd472819285a9ab0f24bcedb9", + "url": "https://files.pythonhosted.org/packages/82/86/d5f2e04f2aa6247c613da0c1dd87fcd08fa17107e858193566048a1e2f0a/rpds_py-0.30.0-cp313-cp313t-manylinux_2_31_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "9cf69cdda1f5968a30a359aba2f7f9aa648a9ce4b580d6826437f2b291cfc86e", + "url": "https://files.pythonhosted.org/packages/91/c4/fc70cd0249496493500e7cc2de87504f5aa6509de1e88623431fec76d4b6/rpds_py-0.30.0-cp313-cp313-manylinux_2_31_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "c77afbd5f5250bf27bf516c7c4a016813eb2d3e116139aed0096940c5982da94", + "url": "https://files.pythonhosted.org/packages/a3/31/622a86cdc0c45d6df0e9ccb6becdba5074735e7033c20e401a6d9d0e2ca0/rpds_py-0.30.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1f3587eb9b17f3789ad50824084fa6f81921bbf9a795826570bda82cb3ed91f2", + "url": "https://files.pythonhosted.org/packages/b3/66/e0be3e162ac299b3a22527e8913767d869e6cc75c46bd844aa43fb81ab62/rpds_py-0.30.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "9027da1ce107104c50c81383cae773ef5c24d296dd11c99e2629dbd7967a20c6", + "url": "https://files.pythonhosted.org/packages/b7/de/f7192e12b21b9e9a68a6d0f249b4af3fdcdff8418be0767a627564afa1f1/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "0a59119fc6e3f460315fe9d08149f8102aa322299deaa5cab5b40092345c2136", + "url": "https://files.pythonhosted.org/packages/bd/a8/073cac3ed2c6387df38f71296d002ab43496a96b92c823e76f46b8af0543/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "ba81a9203d07805435eb06f536d95a266c21e5b2dfbf6517748ca40c98d19e31", + "url": "https://files.pythonhosted.org/packages/d8/42/c612a833183b39774e8ac8fecae81263a68b9583ee343db33ab571a7ce55/rpds_py-0.30.0-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "692bef75a5525db97318e8cd061542b5a79812d711ea03dbc1f6f8dbb0c5f0d2", + "url": "https://files.pythonhosted.org/packages/e0/af/5ab4833eadc36c0a8ed2bc5c0de0493c04f6c06de223170bd0798ff98ced/rpds_py-0.30.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "f83424d738204d9770830d35290ff3273fbb02b41f919870479fab14b9d303b2", + "url": "https://files.pythonhosted.org/packages/ed/dc/d61221eb88ff410de3c49143407f6f3147acf2538c86f2ab7ce65ae7d5f9/rpds_py-0.30.0-cp313-cp313-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e7536cd91353c5273434b4e003cbda89034d67e7710eab8761fd918ec6c69cf8", + "url": "https://files.pythonhosted.org/packages/fd/32/55fb50ae104061dbc564ef15cc43c013dc4a9f4527a1f4d99baddf56fe5f/rpds_py-0.30.0-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "eb0b93f2e5c2189ee831ee43f156ed34e2a89a78a66b98cadad955972548be5a", + "url": "https://files.pythonhosted.org/packages/ff/1b/b10de890a0def2a319a2626334a7f0ae388215eb60914dbac8a3bae54435/rpds_py-0.30.0-cp313-cp313t-macosx_10_12_x86_64.whl" + } + ], + "project_name": "rpds-py", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "0.30.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f345a13937bd7f09f6f5d19fa0721b0c103e00e7f62bc67089a8e5e037719e0b", + "url": "https://files.pythonhosted.org/packages/c2/13/070fb048c24080fba188f66371e2a92785be257ad02242066dc7255ac6e9/ruff-0.15.13-py3-none-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e8d9a8e08013542e94d3220bc5b62cc3e5ef87c5f74bff367d3fac14fab013e6", + "url": "https://files.pythonhosted.org/packages/19/4c/7585735f6b53b0f12de13618b2f7d250a844f018822efc899df2e7b8295f/ruff-0.15.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "ae9c17e5eb4430c154e76abc25d79a318190f5a997f38fb6b114416c5319ffc9", + "url": "https://files.pythonhosted.org/packages/1f/e3/6b999bbc66cd51e5f073842bc2a3995e99c5e0e72e16b15e7261f7abf57a/ruff-0.15.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "f9d89f17f7ba7fb2ed42921f0df75da797a9a5d71bc39049e2c687cf2baf44b7", + "url": "https://files.pythonhosted.org/packages/24/21/a7d5c126d5b557715ef81098f3db2fe20f622a039ff2e626af28d674ab80/ruff-0.15.13.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "6590d009e7cb7ebf36f83dbdd44a3fa48a0994ff6f1cdc1b08006abe58f98dc7", + "url": "https://files.pythonhosted.org/packages/86/ca/caa871ee7be718c45256fada4e16a218ee3e33f0c4a46b729a60a24912e6/ruff-0.15.13-py3-none-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9dbd6f94b434f896308e4d57fb7bfde0d02b99f7a64b3bdab0fdfa6a864203a5", + "url": "https://files.pythonhosted.org/packages/99/df/cf938cd6de3003178f03ad7c1ea2a6c099468c03a35037985070b37e76be/ruff-0.15.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2e2e39bff6c341f4b577a21b801326fab0b11847f48fcaa83f00a113c9b3cb55", + "url": "https://files.pythonhosted.org/packages/af/5a/642639e9f5db04f1e97fbd6e091c6fd20725bdf072fb114d00eefb9e6eb8/ruff-0.15.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "444b580fc72fd6887e650acd3e575e18cdc79dbcf42fb4030b491057921f61f8", + "url": "https://files.pythonhosted.org/packages/c6/61/11d458dc6ac22504fd8e237b29dfd40504c7fbbcc8930402cfe51a8e63ed/ruff-0.15.13-py3-none-linux_armv6l.whl" + }, + { + "algorithm": "sha256", + "hash": "bf3259f3be4d181bda591da5db2571aed6853c6a048157756448020bc6c5cd22", + "url": "https://files.pythonhosted.org/packages/c7/7d/5d0973129b154ded2225729169d7068f26b467760b146493fde138415f23/ruff-0.15.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "1c26d2f66163deeb6e08d8b39fbbe983ce3c71cea06a6d7591cfd1421793c629", + "url": "https://files.pythonhosted.org/packages/d3/19/43f5f2e568dddde567fc41f8471f9432c09563e19d3e617a48cfa52f8f0a/ruff-0.15.13-py3-none-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "768494eb08b9cee54e2fd27969966f74db5a57f6eaa7a90fcb3306af34dfc4bd", + "url": "https://files.pythonhosted.org/packages/e1/4e/62c9b999875d4f14db80f277c030578f5e249c9852d65b7ac7ad0b43c041/ruff-0.15.13-py3-none-manylinux_2_31_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "cc411dfebe5eebe55ce041c6ae080eb7668955e866daa2fbb16692a784f1c4ca", + "url": "https://files.pythonhosted.org/packages/e8/31/bf1a0803d077e679cfeee5f2f67290a0fa79c7385b5d9a8c17b9db2c48f0/ruff-0.15.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7ef823f817fcd191dc934e984be9cf4094f808effa16f2542ad8e821ba02bbf2", + "url": "https://files.pythonhosted.org/packages/e8/e0/9e35f338990d3e41a82875ff7053ffe97541dae81c9d02143177f381d572/ruff-0.15.13-py3-none-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "fb75f9a3a7e42ffe117d734494e6c5e5cb3565d66e12612cb63d0e572a41a5b6", + "url": "https://files.pythonhosted.org/packages/fc/89/7e959047a104df3eb12863447c110140191fc5b6c4f379ea2e803fcdb0e4/ruff-0.15.13-py3-none-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "8cb74dd33bb2f6613faf7fc03b660053b5ac4f80e706d5788c6335e2a8048d51", + "url": "https://files.pythonhosted.org/packages/ff/52/5fd18f3b88cab63e88aa11516b3b4e1e5f720e5c330f8dbe5c26210f41f8/ruff-0.15.13-py3-none-musllinux_1_2_armv7l.whl" + } + ], + "project_name": "ruff", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "0.15.13" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ce3801712acf4ad3e89fb9990df97b4972e93f4b3b0004d214be5bce12814c20", + "url": "https://files.pythonhosted.org/packages/87/72/c6c32d2b657fa3dad1de340254e14390b1e334ce38268b7ad51abda3c8c2/s3transfer-0.17.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9edeb6d1c3c2f89d6050348548834ad8289610d886e5bf7b7207728bd43ce33a", + "url": "https://files.pythonhosted.org/packages/9b/ec/7c692cde9125b77e84b307354d4fb705f98b8ccad59a036d5957ca75bfc3/s3transfer-0.17.0.tar.gz" + } + ], + "project_name": "s3transfer", + "requires_dists": [ + "botocore<2.0a.0,>=1.37.4", + "botocore[crt]<2.0a.0,>=1.37.4; extra == \"crt\"" + ], + "requires_python": ">=3.10", + "version": "0.17.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b0f6d66c1c538d5a94a73aa9ddca8ccc4227e6c9ff555322ea40bdd142391dd4", + "url": "https://files.pythonhosted.org/packages/4a/d8/0c8a7dc9b41dcac53c4cbf9df2b9c83e0e0097203de8b37a712b345c0be5/safetensors-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "cdab83a366799fa730f90a4ebb563e494f28e9e92c4819e556152ad55e43591b", + "url": "https://files.pythonhosted.org/packages/06/87/d26d8407c44175d8ae164a95b5a62707fcc445f3c0c56108e37d98070a3d/safetensors-0.7.0-cp38-abi3-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "672132907fcad9f2aedcb705b2d7b3b93354a2aec1b2f706c4db852abe338f85", + "url": "https://files.pythonhosted.org/packages/11/f5/57644a2ff08dc6325816ba7217e5095f17269dada2554b658442c66aed51/safetensors-0.7.0-cp38-abi3-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "07663963b67e8bd9f0b8ad15bb9163606cd27cc5a1b96235a50d8369803b96b0", + "url": "https://files.pythonhosted.org/packages/29/9c/6e74567782559a63bd040a236edca26fd71bc7ba88de2ef35d75df3bca5e/safetensors-0.7.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "1d060c70284127fa805085d8f10fbd0962792aed71879d00864acda69dbab981", + "url": "https://files.pythonhosted.org/packages/3c/a8/4b45e4e059270d17af60359713ffd83f97900d45a6afa73aaa0d737d48b6/safetensors-0.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "5d72abdb8a4d56d4020713724ba81dac065fedb7f3667151c4a637f1d3fb26c0", + "url": "https://files.pythonhosted.org/packages/86/31/17883e13a814bd278ae6e266b13282a01049b0c81341da7fd0e3e71a80a3/safetensors-0.7.0-cp38-abi3-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "54bef08bf00a2bff599982f6b08e8770e09cc012d7bba00783fc7ea38f1fb37d", + "url": "https://files.pythonhosted.org/packages/8e/1c/40c2ca924d60792c3be509833df711b553c60effbd91da6f5284a83f7122/safetensors-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "42cb091236206bb2016d245c377ed383aa7f78691748f3bb6ee1bfa51ae2ce6a", + "url": "https://files.pythonhosted.org/packages/9b/3a/13784a9364bd43b0d61eef4bea2845039bc2030458b16594a1bd787ae26e/safetensors-0.7.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "dac7252938f0696ddea46f5e855dd3138444e82236e3be475f54929f0c510d48", + "url": "https://files.pythonhosted.org/packages/a0/60/429e9b1cb3fc651937727befe258ea24122d9663e4d5709a48c9cbfceecb/safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "8469155f4cb518bafb4acf4865e8bb9d6804110d2d9bdcaa78564b9fd841e104", + "url": "https://files.pythonhosted.org/packages/ae/33/1debbbb70e4791dde185edb9413d1fe01619255abb64b300157d7f15dddd/safetensors-0.7.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "94fd4858284736bb67a897a41608b5b0c2496c9bdb3bf2af1fa3409127f20d57", + "url": "https://files.pythonhosted.org/packages/e8/00/374c0c068e30cd31f1e1b46b4b5738168ec79e7689ca82ee93ddfea05109/safetensors-0.7.0-cp38-abi3-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "e07d91d0c92a31200f25351f4acb2bc6aff7f48094e13ebb1d0fb995b54b6542", + "url": "https://files.pythonhosted.org/packages/f1/06/578ffed52c2296f93d7fd2d844cabfa92be51a587c38c8afbb8ae449ca89/safetensors-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "c82f4d474cf725255d9e6acf17252991c3c8aac038d6ef363a4bf8be2f6db517", + "url": "https://files.pythonhosted.org/packages/fa/47/aef6c06649039accf914afef490268e1067ed82be62bcfa5b7e886ad15e8/safetensors-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl" + } + ], + "project_name": "safetensors", + "requires_dists": [ + "flax>=0.6.3; extra == \"jax\"", + "h5py>=3.7.0; extra == \"testing\"", + "huggingface-hub>=0.12.1; extra == \"testing\"", + "huggingface-hub>=0.12.1; extra == \"testingfree\"", + "hypothesis>=6.70.2; extra == \"testing\"", + "hypothesis>=6.70.2; extra == \"testingfree\"", + "jax>=0.3.25; extra == \"jax\"", + "jaxlib>=0.3.25; extra == \"jax\"", + "mlx>=0.0.9; extra == \"mlx\"", + "numpy>=1.21.6; extra == \"numpy\"", + "packaging; extra == \"torch\"", + "paddlepaddle>=2.4.1; extra == \"paddlepaddle\"", + "pytest-benchmark>=4.0.0; extra == \"testing\"", + "pytest-benchmark>=4.0.0; extra == \"testingfree\"", + "pytest>=7.2.0; extra == \"testing\"", + "pytest>=7.2.0; extra == \"testingfree\"", + "ruff; extra == \"quality\"", + "safetensors[all]; extra == \"dev\"", + "safetensors[jax]; extra == \"all\"", + "safetensors[numpy]; extra == \"all\"", + "safetensors[numpy]; extra == \"jax\"", + "safetensors[numpy]; extra == \"paddlepaddle\"", + "safetensors[numpy]; extra == \"pinned-tf\"", + "safetensors[numpy]; extra == \"tensorflow\"", + "safetensors[numpy]; extra == \"testing\"", + "safetensors[numpy]; extra == \"testingfree\"", + "safetensors[numpy]; extra == \"torch\"", + "safetensors[paddlepaddle]; extra == \"all\"", + "safetensors[pinned-tf]; extra == \"all\"", + "safetensors[quality]; extra == \"all\"", + "safetensors[testing]; extra == \"all\"", + "safetensors[torch]; extra == \"all\"", + "setuptools-rust>=1.5.2; extra == \"testing\"", + "setuptools-rust>=1.5.2; extra == \"testingfree\"", + "tensorflow==2.18.0; extra == \"pinned-tf\"", + "tensorflow>=2.11.0; extra == \"tensorflow\"", + "torch>=1.10; extra == \"torch\"" + ], + "requires_python": ">=3.9", + "version": "0.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "80832434a6cc114f5219211eec13dcbc16c2bac0e31ef64c6d346cde3cf054cb", + "url": "https://files.pythonhosted.org/packages/fe/56/a85473cd75f200c9759e3a5f0bcab2d116c92a8a02ee08ccd73b870f8bb4/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "0d6ae97234d5d7079dc0040990a6f7aeb97cb7fa7e8945f1999a429b23569e0a", + "url": "https://files.pythonhosted.org/packages/03/aa/e22e0768512ce9255eba34775be2e85c2048da73da1193e841707f8f039c/scikit_learn-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd", + "url": "https://files.pythonhosted.org/packages/0e/d4/40988bf3b8e34feec1d0e6a051446b1f66225f8529b9309becaeef62b6c4/scikit_learn-1.8.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "74b66d8689d52ed04c271e1329f0c61635bcaf5b926db9b12d58914cdc01fe57", + "url": "https://files.pythonhosted.org/packages/2d/5a/3f1caed8765f33eabb723596666da4ebbf43d11e96550fb18bdec42b467b/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "8fdf95767f989b0cfedb85f7ed8ca215d4be728031f56ff5a519ee1e3276dc2e", + "url": "https://files.pythonhosted.org/packages/38/cf/06896db3f71c75902a8e9943b444a56e727418f6b4b4a90c98c934f51ed4/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "72358cce49465d140cc4e7792015bb1f0296a9742d5622c67e31399b75468b9e", + "url": "https://files.pythonhosted.org/packages/46/1e/05962ea1cebc1cf3876667ecb14c283ef755bf409993c5946ade3b77e303/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "edec98c5e7c128328124a029bceb09eda2d526997780fef8d65e9a69eead963e", + "url": "https://files.pythonhosted.org/packages/58/37/31b83b2594105f61a381fc74ca19e8780ee923be2d496fcd8d2e1147bd99/scikit_learn-1.8.0-cp313-cp313-macosx_12_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "fe1c011a640a9f0791146011dfd3c7d9669785f9fed2b2a5f9e207536cf5c2fd", + "url": "https://files.pythonhosted.org/packages/cc/56/a0c86f6930cfcd1c7054a2bc417e26960bb88d32444fe7f71d5c2cfae891/scikit_learn-1.8.0-cp313-cp313t-macosx_12_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "7cc267b6108f0a1499a734167282c00c4ebf61328566b55ef262d48e9849c735", + "url": "https://files.pythonhosted.org/packages/d2/7d/a630359fc9dcc95496588c8d8e3245cc8fd81980251079bc09c70d41d951/scikit_learn-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl" + } + ], + "project_name": "scikit-learn", + "requires_dists": [ + "Pillow>=10.1.0; extra == \"docs\"", + "conda-lock==3.0.1; extra == \"maintenance\"", + "cython>=3.1.2; extra == \"build\"", + "joblib>=1.3.0", + "joblib>=1.3.0; extra == \"install\"", + "matplotlib>=3.6.1; extra == \"benchmark\"", + "matplotlib>=3.6.1; extra == \"docs\"", + "matplotlib>=3.6.1; extra == \"examples\"", + "matplotlib>=3.6.1; extra == \"tests\"", + "memory_profiler>=0.57.0; extra == \"benchmark\"", + "memory_profiler>=0.57.0; extra == \"docs\"", + "meson-python>=0.17.1; extra == \"build\"", + "mypy>=1.15; extra == \"tests\"", + "numpy>=1.24.1", + "numpy>=1.24.1; extra == \"build\"", + "numpy>=1.24.1; extra == \"install\"", + "numpydoc>=1.2.0; extra == \"docs\"", + "numpydoc>=1.2.0; extra == \"tests\"", + "pandas>=1.5.0; extra == \"benchmark\"", + "pandas>=1.5.0; extra == \"docs\"", + "pandas>=1.5.0; extra == \"examples\"", + "pandas>=1.5.0; extra == \"tests\"", + "plotly>=5.18.0; extra == \"docs\"", + "plotly>=5.18.0; extra == \"examples\"", + "polars>=0.20.30; extra == \"docs\"", + "polars>=0.20.30; extra == \"tests\"", + "pooch>=1.8.0; extra == \"docs\"", + "pooch>=1.8.0; extra == \"examples\"", + "pooch>=1.8.0; extra == \"tests\"", + "pyamg>=5.0.0; extra == \"tests\"", + "pyarrow>=12.0.0; extra == \"tests\"", + "pydata-sphinx-theme>=0.15.3; extra == \"docs\"", + "pytest-cov>=2.9.0; extra == \"tests\"", + "pytest>=7.1.2; extra == \"tests\"", + "ruff>=0.11.7; extra == \"tests\"", + "scikit-image>=0.22.0; extra == \"docs\"", + "scikit-image>=0.22.0; extra == \"examples\"", + "scipy>=1.10.0", + "scipy>=1.10.0; extra == \"build\"", + "scipy>=1.10.0; extra == \"install\"", + "seaborn>=0.13.0; extra == \"docs\"", + "seaborn>=0.13.0; extra == \"examples\"", + "sphinx-copybutton>=0.5.2; extra == \"docs\"", + "sphinx-design>=0.6.0; extra == \"docs\"", + "sphinx-gallery>=0.17.1; extra == \"docs\"", + "sphinx-prompt>=1.4.0; extra == \"docs\"", + "sphinx-remove-toctrees>=1.0.0.post1; extra == \"docs\"", + "sphinx>=7.3.7; extra == \"docs\"", + "sphinxcontrib-sass>=0.3.4; extra == \"docs\"", + "sphinxext-opengraph>=0.9.1; extra == \"docs\"", + "threadpoolctl>=3.2.0", + "threadpoolctl>=3.2.0; extra == \"install\"", + "towncrier>=24.8.0; extra == \"docs\"" + ], + "requires_python": ">=3.11", + "version": "1.8.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "94055a11dfebe37c656e70317e1996dc197e1a15bbcc351bcdd4610e128fe1ca", + "url": "https://files.pythonhosted.org/packages/bd/12/d19da97efde68ca1ee5538bb261d5d2c062f0c055575128f11a2730e3ac1/scipy-1.17.1-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "010f4333c96c9bb1a4516269e33cb5917b08ef2166d5556ca2fd9f082a9e6ea0", + "url": "https://files.pythonhosted.org/packages/38/2e/524405c2b6392765ab1e2b722a41d5da33dc5c7b7278184a8ad29b6cb206/scipy-1.17.1-cp313-cp313t-macosx_12_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "dbc12c9f3d185f5c737d801da555fb74b3dcfa1a50b66a1a93e09190f41fab50", + "url": "https://files.pythonhosted.org/packages/4d/77/d3ed4becfdbd217c52062fafe35a72388d1bd82c2d0ba5ca19d6fcc93e11/scipy-1.17.1-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7ff200bf9d24f2e4d5dc6ee8c3ac64d739d3a89e2326ba68aaf6c4a2b838fd7d", + "url": "https://files.pythonhosted.org/packages/5b/58/3ce96251560107b381cbd6e8413c483bbb1228a6b919fa8652b0d4090e7f/scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "158dd96d2207e21c966063e1635b1063cd7787b627b6f07305315dd73d9c679e", + "url": "https://files.pythonhosted.org/packages/6d/a0/3cb6f4d2fb3e17428ad2880333cac878909ad1a89f678527b5328b93c1d4/scipy-1.17.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "d59c30000a16d8edc7e64152e30220bfbd724c9bbb08368c054e24c651314f0a", + "url": "https://files.pythonhosted.org/packages/6f/6b/17787db8b8114933a66f9dcc479a8272e4b4da75fe03b0c282f7b0ade8cd/scipy-1.17.1-cp313-cp313t-macosx_10_14_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5e3c5c011904115f88a39308379c17f91546f77c1667cea98739fe0fccea804c", + "url": "https://files.pythonhosted.org/packages/76/27/07ee1b57b65e92645f219b37148a7e7928b82e2b5dbeccecb4dff7c64f0b/scipy-1.17.1-cp313-cp313-macosx_10_14_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", + "url": "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "6609bc224e9568f65064cfa72edc0f24ee6655b47575954ec6339534b2798369", + "url": "https://files.pythonhosted.org/packages/8b/13/88b1d2384b424bf7c924f2038c1c409f8d88bb2a8d49d097861dd64a57b2/scipy-1.17.1-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "beeda3d4ae615106d7094f7e7cef6218392e4465cc95d25f900bebabfded0950", + "url": "https://files.pythonhosted.org/packages/8d/a5/9afd17de24f657fdfe4df9a3f1ea049b39aef7c06000c13db1530d81ccca/scipy-1.17.1-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "4b400bdc6f79fa02a4d86640310dde87a21fba0c979efff5248908c6f15fad1b", + "url": "https://files.pythonhosted.org/packages/b2/83/15087d945e0e4d48ce2377498abf5ad171ae013232ae31d06f336e64c999/scipy-1.17.1-cp313-cp313-macosx_14_0_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2b64ca7d4aee0102a97f3ba22124052b4bd2152522355073580bf4845e2550b6", + "url": "https://files.pythonhosted.org/packages/b4/e0/e58fbde4a1a594c8be8114eb4aac1a55bcd6587047efc18a61eb1f5c0d30/scipy-1.17.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "844e165636711ef41f80b4103ed234181646b98a53c8f05da12ca5ca289134f6", + "url": "https://files.pythonhosted.org/packages/d9/b8/8ccd9b766ad14c78386599708eb745f6b44f08400a5fd0ade7cf89b6fc93/scipy-1.17.1-cp313-cp313t-macosx_14_0_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6fac755ca3d2c3edcb22f479fceaa241704111414831ddd3bc6056e18516892f", + "url": "https://files.pythonhosted.org/packages/ec/ae/db19f8ab842e9b724bf5dbb7db29302a91f1e55bc4d04b1025d6d605a2c5/scipy-1.17.1-cp313-cp313-macosx_12_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "74cbb80d93260fe2ffa334efa24cb8f2f0f622a9b9febf8b483c0b865bfb3475", + "url": "https://files.pythonhosted.org/packages/f3/c3/2d834a5ac7bf3a0c806ad1508efc02dda3c8c61472a56132d7894c312dea/scipy-1.17.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "581b2264fc0aa555f3f435a5944da7504ea3a065d7029ad60e7c3d1ae09c5464", + "url": "https://files.pythonhosted.org/packages/f5/5f/f17563f28ff03c7b6799c50d01d5d856a1d55f2676f537ca8d28c7f627cd/scipy-1.17.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2ceb2d3e01c5f1d83c4189737a42d9cb2fc38a6eeed225e7515eef71ad301dce", + "url": "https://files.pythonhosted.org/packages/fd/c3/5bd7199f4ea8556c0c8e39f04ccb014ac37d1468e6cfa6a95c6b3562b76e/scipy-1.17.1-cp313-cp313t-macosx_14_0_arm64.whl" + } + ], + "project_name": "scipy", + "requires_dists": [ + "Cython; extra == \"test\"", + "array-api-strict>=2.3.1; extra == \"test\"", + "asv; extra == \"test\"", + "click<8.3.0; extra == \"dev\"", + "cython-lint>=0.12.2; extra == \"dev\"", + "gmpy2; extra == \"test\"", + "hypothesis>=6.30; extra == \"test\"", + "intersphinx_registry; extra == \"doc\"", + "jupyterlite-pyodide-kernel; extra == \"doc\"", + "jupyterlite-sphinx>=0.19.1; extra == \"doc\"", + "jupytext; extra == \"doc\"", + "linkify-it-py; extra == \"doc\"", + "matplotlib>=3.5; extra == \"doc\"", + "meson; extra == \"test\"", + "mpmath; extra == \"test\"", + "mypy==1.10.0; extra == \"dev\"", + "myst-nb>=1.2.0; extra == \"doc\"", + "ninja; sys_platform != \"emscripten\" and extra == \"test\"", + "numpy<2.7,>=1.26.4", + "numpydoc; extra == \"doc\"", + "pooch; extra == \"doc\"", + "pooch; extra == \"test\"", + "pycodestyle; extra == \"dev\"", + "pydata-sphinx-theme>=0.15.2; extra == \"doc\"", + "pytest-cov; extra == \"test\"", + "pytest-timeout; extra == \"test\"", + "pytest-xdist; extra == \"test\"", + "pytest>=8.0.0; extra == \"test\"", + "ruff>=0.12.0; extra == \"dev\"", + "scikit-umfpack; extra == \"test\"", + "sphinx-copybutton; extra == \"doc\"", + "sphinx-design>=0.4.0; extra == \"doc\"", + "sphinx<8.2.0,>=5.0.0; extra == \"doc\"", + "spin; extra == \"dev\"", + "tabulate; extra == \"doc\"", + "threadpoolctl; extra == \"test\"", + "types-psutil; extra == \"dev\"", + "typing_extensions; extra == \"dev\"" + ], + "requires_python": ">=3.11", + "version": "1.17.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "75313fdcc2397ec4b58297c25d6187fcca5a6b2aeb09570a72eff5a3223d8d58", + "url": "https://files.pythonhosted.org/packages/55/20/18416624bcbae866ec0b111979766cebabe8e5ff7563ab953ecbaf3ff9e7/sentence_transformers-5.5.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9cec675e68bfe09d07466d1f13ab06d1d79d60a0f45b154baf433bde6ae159cb", + "url": "https://files.pythonhosted.org/packages/2c/27/16d127a61303e05847d878b23687f3371868c76e738557fa80b4373a8c2b/sentence_transformers-5.5.0.tar.gz" + } + ], + "project_name": "sentence-transformers", + "requires_dists": [ + "accelerate>=0.20.3; extra == \"dev\"", + "accelerate>=0.20.3; extra == \"train\"", + "datasets>=2.0.0; extra == \"dev\"", + "datasets>=2.0.0; extra == \"train\"", + "huggingface-hub>=0.23.0", + "numpy>=1.20.0", + "optimum-intel[openvino]; extra == \"openvino\"", + "optimum-onnx[onnxruntime-gpu]; extra == \"onnx-gpu\"", + "optimum-onnx[onnxruntime]; extra == \"onnx\"", + "peft; extra == \"dev\"", + "pre-commit; extra == \"dev\"", + "pytest-cov; extra == \"dev\"", + "pytest-env; extra == \"dev\"", + "pytest-subtests; extra == \"dev\"", + "pytest-xdist; extra == \"dev\"", + "pytest; extra == \"dev\"", + "scikit-learn>=0.22.0", + "scipy>=1.0.0", + "torch>=1.11.0", + "tqdm>=4.0.0", + "transformers<6.0.0,>=4.41.0", + "transformers[audio,video,vision]; extra == \"dev\"", + "transformers[audio]; extra == \"audio\"", + "transformers[video]; extra == \"video\"", + "transformers[vision]; extra == \"image\"", + "typing_extensions>=4.5.0" + ], + "requires_python": ">=3.10", + "version": "5.5.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6b047fbd8a84fd0bb0d55ebce4031e400562b9196e1e0d3e0fe2b8a59f6d4a85", + "url": "https://files.pythonhosted.org/packages/08/2c/ca6dd598b384bc1ce581e24aaae0f2bed4ccac57749d5c3befbb5e742081/service_identity-24.2.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b8683ba13f0d39c6cd5d625d2c5f65421d6d707b013b375c355751557cbe8e09", + "url": "https://files.pythonhosted.org/packages/07/a5/dfc752b979067947261dbbf2543470c58efe735c3c1301dd870ef27830ee/service_identity-24.2.0.tar.gz" + } + ], + "project_name": "service-identity", + "requires_dists": [ + "attrs>=19.1.0", + "coverage[toml]>=5.0.2; extra == \"dev\"", + "coverage[toml]>=5.0.2; extra == \"tests\"", + "cryptography", + "furo; extra == \"docs\"", + "idna; extra == \"dev\"", + "idna; extra == \"idna\"", + "idna; extra == \"mypy\"", + "mypy; extra == \"dev\"", + "mypy; extra == \"mypy\"", + "myst-parser; extra == \"docs\"", + "pyasn1", + "pyasn1-modules", + "pyopenssl; extra == \"dev\"", + "pyopenssl; extra == \"docs\"", + "pytest; extra == \"dev\"", + "pytest; extra == \"tests\"", + "sphinx-notfound-page; extra == \"docs\"", + "sphinx; extra == \"docs\"", + "types-pyopenssl; extra == \"dev\"", + "types-pyopenssl; extra == \"mypy\"" + ], + "requires_python": ">=3.8", + "version": "24.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "fdd925d5c5d9f62e4b74b30d6dd7828ce236fd6ed998a08d81de62ce5a6310d6", + "url": "https://files.pythonhosted.org/packages/e1/e3/c164c88b2e5ce7b24d667b9bd83589cf4f3520d97cad01534cd3c4f55fdb/setuptools-81.0.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "487b53915f52501f0a79ccfd0c02c165ffe06631443a886740b91af4b7a5845a", + "url": "https://files.pythonhosted.org/packages/0d/1c/73e719955c59b8e424d015ab450f51c0af856ae46ea2da83eba51cc88de1/setuptools-81.0.0.tar.gz" + } + ], + "project_name": "setuptools", + "requires_dists": [ + "build[virtualenv]>=1.0.3; extra == \"test\"", + "filelock>=3.4.0; extra == \"test\"", + "furo; extra == \"doc\"", + "importlib_metadata>=6; python_version < \"3.10\" and extra == \"core\"", + "importlib_metadata>=7.0.2; python_version < \"3.10\" and extra == \"type\"", + "ini2toml[lite]>=0.14; extra == \"test\"", + "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"test\"", + "jaraco.develop>=7.21; sys_platform != \"cygwin\" and extra == \"type\"", + "jaraco.envs>=2.2; extra == \"test\"", + "jaraco.functools>=4; extra == \"core\"", + "jaraco.packaging>=9.3; extra == \"doc\"", + "jaraco.path>=3.7.2; extra == \"test\"", + "jaraco.test>=5.5; extra == \"test\"", + "jaraco.text>=3.7; extra == \"core\"", + "jaraco.tidelift>=1.4; extra == \"doc\"", + "more_itertools; extra == \"core\"", + "more_itertools>=8.8; extra == \"core\"", + "mypy==1.18.*; extra == \"type\"", + "packaging>=24.2; extra == \"core\"", + "packaging>=24.2; extra == \"test\"", + "pip>=19.1; extra == \"test\"", + "platformdirs>=4.2.2; extra == \"core\"", + "pygments-github-lexers==0.0.5; extra == \"doc\"", + "pyproject-hooks!=1.1; extra == \"doc\"", + "pyproject-hooks!=1.1; extra == \"test\"", + "pytest!=8.1.*,>=6; extra == \"test\"", + "pytest-checkdocs>=2.4; extra == \"check\"", + "pytest-cov; extra == \"cover\"", + "pytest-enabler>=2.2; extra == \"enabler\"", + "pytest-home>=0.5; extra == \"test\"", + "pytest-mypy; extra == \"type\"", + "pytest-perf; sys_platform != \"cygwin\" and extra == \"test\"", + "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"check\"", + "pytest-subprocess; extra == \"test\"", + "pytest-timeout; extra == \"test\"", + "pytest-xdist>=3; extra == \"test\"", + "rst.linker>=1.9; extra == \"doc\"", + "ruff>=0.13.0; sys_platform != \"cygwin\" and extra == \"check\"", + "sphinx-favicon; extra == \"doc\"", + "sphinx-inline-tabs; extra == \"doc\"", + "sphinx-lint; extra == \"doc\"", + "sphinx-notfound-page<2,>=1; extra == \"doc\"", + "sphinx-reredirects; extra == \"doc\"", + "sphinx>=3.5; extra == \"doc\"", + "sphinxcontrib-towncrier; extra == \"doc\"", + "tomli-w>=1.0.0; extra == \"test\"", + "tomli>=2.0.1; python_version < \"3.11\" and extra == \"core\"", + "towncrier<24.7; extra == \"doc\"", + "virtualenv>=13.0.0; extra == \"test\"", + "wheel>=0.43.0; extra == \"core\"", + "wheel>=0.44.0; extra == \"test\"" + ], + "requires_python": ">=3.9", + "version": "81.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9", + "url": "https://files.pythonhosted.org/packages/9e/bd/3704a8c3e0942d711c1299ebf7b9091930adae6675d7c8f476a7ce48653c/sgmllib3k-1.0.0.tar.gz" + } + ], + "project_name": "sgmllib3k", + "requires_dists": [], + "requires_python": null, + "version": "1.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", + "url": "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", + "url": "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz" + } + ], + "project_name": "shellingham", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "1.5.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", + "url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", + "url": "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz" + } + ], + "project_name": "six", + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", + "version": "1.17.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "12a08b3bf3eec877c519589833aed092e2444e68240a3577e8e26148acc7b1ba", + "url": "https://files.pythonhosted.org/packages/49/4b/359f28a903c13438ef59ebeee215fb25da53066db67b305c125f1c6d2a25/sqlparse-0.5.5-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e20d4a9b0b8585fdf63b10d30066c7c94c5d7a7ec47c889a2d83a3caa93ff28e", + "url": "https://files.pythonhosted.org/packages/90/76/437d71068094df0726366574cf3432a4ed754217b436eb7429415cf2d480/sqlparse-0.5.5.tar.gz" + } + ], + "project_name": "sqlparse", + "requires_dists": [ + "build; extra == \"dev\"", + "sphinx; extra == \"doc\"" + ], + "requires_python": ">=3.8", + "version": "0.5.5" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b557bb2e4b16ada179a517ec0fe6cbec5acf976c5619922bf29c457f89a451bd", + "url": "https://files.pythonhosted.org/packages/c4/7d/04fc3aa177403472d3ddae90953d8f878dc5fd21ba29c02fc9e97e10703f/standardwebhooks-1.0.1.tar.gz" + } + ], + "project_name": "standardwebhooks", + "requires_dists": [ + "Deprecated", + "attrs>=21.3.0", + "httpx>=0.23.0", + "python-dateutil", + "types-Deprecated", + "types-python-dateutil" + ], + "requires_python": ">=3.6", + "version": "1.0.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a8453e9b9e636ec59bd9e79bbd4a72f025981b3ba0f5837aebf48f02f37a7f9f", + "url": "https://files.pythonhosted.org/packages/a8/45/a132b9074aa18e799b891b91ad72133c98d8042c70f6240e4c5f9dabee2f/structlog-25.5.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "098522a3bebed9153d4570c6d0288abf80a031dfdb2048d59a49e9dc2190fc98", + "url": "https://files.pythonhosted.org/packages/ef/52/9ba0f43b686e7f3ddfeaa78ac3af750292662284b3661e91ad5494f21dbc/structlog-25.5.0.tar.gz" + } + ], + "project_name": "structlog", + "requires_dists": [ + "typing-extensions; python_version < \"3.11\"" + ], + "requires_python": ">=3.8", + "version": "25.5.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ba7832f52569335f736d4c61b4d7b6b475ceb304e849697c4345ff0d23a21ba2", + "url": "https://files.pythonhosted.org/packages/f3/64/5276ccdc306ea56cfa93901bac04670458909b272fb6d39be4c7b903e652/svix-1.93.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "31452c4ca43956dcf978fdba62f6ade06e5f5d1dc0d545a53ac18dd0577c1f9e", + "url": "https://files.pythonhosted.org/packages/98/49/6a2d5121e8df9eb74519d8106f74852fde18b2105774a43c7fdb45e07c3f/svix-1.93.0.tar.gz" + } + ], + "project_name": "svix", + "requires_dists": [ + "Deprecated", + "attrs>=21.3.0", + "httpx>=0.23.0", + "pydantic>=2.10", + "python-dateutil", + "standardwebhooks", + "types-Deprecated", + "types-python-dateutil" + ], + "requires_python": ">=3.6", + "version": "1.93.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", + "url": "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", + "url": "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz" + } + ], + "project_name": "sympy", + "requires_dists": [ + "hypothesis>=6.70.0; extra == \"dev\"", + "mpmath<1.4,>=1.1.0", + "pytest>=7.1.0; extra == \"dev\"" + ], + "requires_python": ">=3.9", + "version": "1.14.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "eda17cd0d4dda614efc0e710227654c60ddbeb1ca92cdcfc5c3bd1fc5f5a6e4a", + "url": "https://files.pythonhosted.org/packages/66/6b/32e51d847148b299088fc42d3d896845fd09c5247190133ea69dbe71ba51/tablib-3.9.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "1b6abd8edb0f35601e04c6161d79660fdcde4abb4a54f66cc9f9054bd55d5fe2", + "url": "https://files.pythonhosted.org/packages/11/00/416d2ba54d7d58a7f7c61bf62dfeb48fd553cf49614daf83312f2d2c156e/tablib-3.9.0.tar.gz" + } + ], + "project_name": "tablib", + "requires_dists": [ + "odfpy; extra == \"all\"", + "odfpy; extra == \"ods\"", + "openpyxl>=2.6.0; extra == \"all\"", + "openpyxl>=2.6.0; extra == \"xlsx\"", + "pandas; extra == \"all\"", + "pandas; extra == \"pandas\"", + "pyyaml; extra == \"all\"", + "pyyaml; extra == \"yaml\"", + "tabulate; extra == \"all\"", + "tabulate; extra == \"cli\"", + "xlrd; extra == \"all\"", + "xlrd; extra == \"xls\"", + "xlwt; extra == \"all\"", + "xlwt; extra == \"xls\"" + ], + "requires_python": ">=3.9", + "version": "3.9.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55", + "url": "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a", + "url": "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz" + } + ], + "project_name": "tenacity", + "requires_dists": [ + "pytest; extra == \"test\"", + "reno; extra == \"doc\"", + "sphinx; extra == \"doc\"", + "tornado>=4.5; extra == \"test\"", + "typeguard; extra == \"test\"" + ], + "requires_python": ">=3.10", + "version": "9.1.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", + "url": "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", + "url": "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz" + } + ], + "project_name": "threadpoolctl", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "3.6.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "38337540fbbddff8e999d59970f3c6f35a82de10053206a7562f1ea02d046fa5", + "url": "https://files.pythonhosted.org/packages/05/a1/d62dfe7376beaaf1394917e0f8e93ee5f67fea8fcf4107501db35996586b/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "791135ee325f2336f498590eb2f11dc5c295232f288e75c99a36c5dbce63088a", + "url": "https://files.pythonhosted.org/packages/16/04/fed398b05caa87ce9b1a1bb5166645e38196081b225059a6edaff6440fac/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "29c30b83d8dcd061078b05ae0cb94d3c710555fbb44861139f9f83dcca3dc3e4", + "url": "https://files.pythonhosted.org/packages/1d/28/5f9f5a4cc211b69e89420980e483831bcc29dade307955cc9dc858a40f01/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1e418a55456beedca4621dbab65a318981467a2b188e982a23e117f115ce5001", + "url": "https://files.pythonhosted.org/packages/2e/47/174dca0502ef88b28f1c9e06b73ce33500eedfac7a7692108aec220464e7/tokenizers-0.22.2-cp39-abi3-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "369cc9fc8cc10cb24143873a0d95438bb8ee257bb80c71989e3ee290e8d72c67", + "url": "https://files.pythonhosted.org/packages/2e/76/932be4b50ef6ccedf9d3c6639b056a967a86258c6d9200643f01269211ca/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "bfb88f22a209ff7b40a576d5324bf8286b519d7358663db21d6246fb17eea2d5", + "url": "https://files.pythonhosted.org/packages/47/50/b3ebb4243e7160bda8d34b731e54dd8ab8b133e50775872e7a434e524c28/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "df6c4265b289083bf710dff49bc51ef252f9d5be33a45ee2bed151114a56207b", + "url": "https://files.pythonhosted.org/packages/64/04/ca2363f0bfbe3b3d36e95bf67e56a4c88c8e3362b658e616d1ac185d47f2/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "37ae80a28c1d3265bb1f22464c856bd23c02a05bb211e56d0c5301a435be6c1a", + "url": "https://files.pythonhosted.org/packages/6c/fb/66e2da4704d6aadebf8cb39f1d6d1957df667ab24cff2326b77cda0dcb85/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "473b83b915e547aa366d1eee11806deaf419e17be16310ac0a14077f1e28f917", + "url": "https://files.pythonhosted.org/packages/73/6f/f80cfef4a312e1fb34baf7d85c72d4411afde10978d4657f8cdd811d3ccc/tokenizers-0.22.2.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "25b85325d0815e86e0bac263506dd114578953b7b53d7de09a6485e4a160a7dd", + "url": "https://files.pythonhosted.org/packages/78/59/09d0d9ba94dcd5f4f1368d4858d24546b4bdc0231c2354aa31d6199f0399/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "544dd704ae7238755d790de45ba8da072e9af3eea688f698b137915ae959281c", + "url": "https://files.pythonhosted.org/packages/92/97/5dbfabf04c7e348e655e907ed27913e03db0923abb5dfdd120d7b25630e1/tokenizers-0.22.2-cp39-abi3-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2249487018adec45d6e3554c71d46eb39fa8ea67156c640f7513eb26f318cec7", + "url": "https://files.pythonhosted.org/packages/d6/84/7990e799f1309a8b87af6b948f31edaa12a3ed22d11b352eaf4f4b2e5753/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1c774b1276f71e1ef716e5486f21e76333464f47bece56bbd554485982a9e03e", + "url": "https://files.pythonhosted.org/packages/e0/fa/89f4cb9e08df770b57adb96f8cbb7e22695a4cb6c2bd5f0c4f0ebcf33b66/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + } + ], + "project_name": "tokenizers", + "requires_dists": [ + "datasets; extra == \"testing\"", + "huggingface-hub<2.0,>=0.16.4", + "numpy; extra == \"testing\"", + "pytest-asyncio; extra == \"testing\"", + "pytest; extra == \"testing\"", + "requests; extra == \"testing\"", + "ruff; extra == \"testing\"", + "setuptools-rust; extra == \"docs\"", + "sphinx-rtd-theme; extra == \"docs\"", + "sphinx; extra == \"docs\"", + "tokenizers[testing]; extra == \"dev\"", + "ty; extra == \"testing\"" + ], + "requires_python": ">=3.9", + "version": "0.22.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4dbc8f0fc024412b57ced8757ac7461305126a648ff8c2c807fcb8e133a78738", + "url": "https://files.pythonhosted.org/packages/6a/43/8bd850ee71a191bf072e31302c73a66be413fecdd98fdcd111ecbcce13ca/tomlkit-0.15.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7d1a9ecba3086638211b13814ea79c90dd54dd11993564376f3aa92271f5c7a3", + "url": "https://files.pythonhosted.org/packages/51/db/03eaf4331631ef6b27d6e3c9b68c54dc6f0d63d87201fed600cc409307fd/tomlkit-0.15.0.tar.gz" + } + ], + "project_name": "tomlkit", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "0.15.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a6a2eebb237d3b1d9ad3b378e86d9b9e0782afdea8b1e0eba6a13646b9b49c07", + "url": "https://files.pythonhosted.org/packages/43/94/b0b4fdc3014122e0a7302fb90086d352aa48f2576f0b252561ebb38c01a8/torch-2.12.0-cp313-cp313t-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5d6b560dfa7d56291c07d615c3bb73e8d9943d9b6d87f76cd0d9d570c4797fa6", + "url": "https://files.pythonhosted.org/packages/49/8a/94bdecd13f5aaa90d45920b89789d9fe7c6f4af8c3cdd7ce01fcb59908fc/torch-2.12.0-cp313-cp313-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "90dd587a5f61bfe1307148b581e2084fc5bc4a06e2b90a20e9a36b81087ff16b", + "url": "https://files.pythonhosted.org/packages/86/ca/01896c80ba921676aa45886b2c5b8d774912de2a1f719de48169c6f755cd/torch-2.12.0-cp313-cp313-macosx_14_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "10ee1448a9f304d3b987eb4656f664ba6e4d7b410ca7a5a7c642199777a2cf88", + "url": "https://files.pythonhosted.org/packages/9b/ad/e95e822f3538171e22640a7fbe839a1fdb666600bf6487025de2ff03b11a/torch-2.12.0-cp313-cp313t-macosx_14_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "864392c73b7654f4d2b3ae712f607937d0dbb1101c4555fbb41848106b297f39", + "url": "https://files.pythonhosted.org/packages/a5/04/52bdaf4787eab6ac7d7f5851dff934e4def0bc8ead9c8fd2b69b3e529699/torch-2.12.0-cp313-cp313-manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "af68dbf403439cae9ceaeaaf92f8352b460787dcd27b92aa05c40dd4a19c0f1e", + "url": "https://files.pythonhosted.org/packages/b7/07/055d06d985b445d67422d25b033c11cf55bbb81785d4c4e68e28bca5820e/torch-2.12.0-cp313-cp313t-manylinux_2_28_aarch64.whl" + } + ], + "project_name": "torch", + "requires_dists": [ + "cuda-bindings<14,>=13.0.3; platform_system == \"Linux\"", + "cuda-toolkit[cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.2; platform_system == \"Linux\"", + "filelock", + "fsspec>=0.8.5", + "jinja2", + "networkx>=2.5.1", + "nvidia-cublas<=13.1.1.3,>=13.1.0.3; platform_system == \"Linux\"", + "nvidia-cudnn-cu13==9.20.0.48; platform_system == \"Linux\"", + "nvidia-cusparselt-cu13==0.8.1; platform_system == \"Linux\"", + "nvidia-nccl-cu13==2.29.7; platform_system == \"Linux\"", + "nvidia-nvshmem-cu13==3.4.5; platform_system == \"Linux\"", + "opt-einsum>=3.3; extra == \"opt-einsum\"", + "optree>=0.13.0; extra == \"optree\"", + "pyyaml; extra == \"pyyaml\"", + "setuptools<82", + "sympy>=1.13.3", + "triton==3.7.0; platform_system == \"Linux\"", + "typing-extensions>=4.10.0" + ], + "requires_python": ">=3.10", + "version": "2.12.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", + "url": "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", + "url": "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" + } + ], + "project_name": "tqdm", + "requires_dists": [ + "colorama; platform_system == \"Windows\"", + "importlib_metadata; python_version < \"3.8\"", + "ipywidgets>=6; extra == \"notebook\"", + "nbval; extra == \"dev\"", + "pytest-asyncio>=0.24; extra == \"dev\"", + "pytest-cov; extra == \"dev\"", + "pytest-timeout; extra == \"dev\"", + "pytest>=6; extra == \"dev\"", + "requests; extra == \"discord\"", + "requests; extra == \"telegram\"", + "slack-sdk; extra == \"slack\"" + ], + "requires_python": ">=3.7", + "version": "4.67.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5340fb95962162cdfdae5cc91d7f8fedd92ed75216c1154c5e1f590fcf56dd0e", + "url": "https://files.pythonhosted.org/packages/fc/b1/8be7e7ef0b5200491312201918b6125ef9c9df9dd0f0240ccef9ac824e6b/transformers-5.8.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4dd5b6de4105725104d84fd6abd74b305f4debfc251b38c648ee5dd087cf543b", + "url": "https://files.pythonhosted.org/packages/e7/e6/4134ea2fbea322cddc7ffc94a0d8ee47fe32ce8e876b320cd37d88edfc4d/transformers-5.8.1.tar.gz" + } + ], + "project_name": "transformers", + "requires_dists": [ + "GitPython<3.1.19; extra == \"deepspeed-testing\"", + "GitPython<3.1.19; extra == \"dev\"", + "GitPython<3.1.19; extra == \"quality\"", + "GitPython<3.1.19; extra == \"testing\"", + "Pillow<=15.0,>=10.0.1; extra == \"all\"", + "Pillow<=15.0,>=10.0.1; extra == \"dev\"", + "Pillow<=15.0,>=10.0.1; extra == \"vision\"", + "accelerate>=1.1.0; extra == \"accelerate\"", + "accelerate>=1.1.0; extra == \"all\"", + "accelerate>=1.1.0; extra == \"deepspeed\"", + "accelerate>=1.1.0; extra == \"deepspeed-testing\"", + "accelerate>=1.1.0; extra == \"deepspeed-testing\"", + "accelerate>=1.1.0; extra == \"dev\"", + "accelerate>=1.1.0; extra == \"dev\"", + "accelerate>=1.1.0; extra == \"serving\"", + "accelerate>=1.1.0; extra == \"testing\"", + "accelerate>=1.1.0; extra == \"torch\"", + "av; extra == \"all\"", + "av; extra == \"dev\"", + "av; extra == \"video\"", + "beautifulsoup4; extra == \"deepspeed-testing\"", + "beautifulsoup4; extra == \"dev\"", + "beautifulsoup4; extra == \"testing\"", + "blobfile; extra == \"all\"", + "blobfile; extra == \"dev\"", + "blobfile; extra == \"tiktoken\"", + "codecarbon>=2.8.1; extra == \"codecarbon\"", + "codecarbon>=2.8.1; extra == \"integrations\"", + "datasets>=2.15.0; extra == \"deepspeed-testing\"", + "datasets>=2.15.0; extra == \"deepspeed-testing\"", + "datasets>=2.15.0; extra == \"dev\"", + "datasets>=2.15.0; extra == \"dev\"", + "datasets>=2.15.0; extra == \"quality\"", + "datasets>=2.15.0; extra == \"retrieval\"", + "datasets>=2.15.0; extra == \"testing\"", + "datasets>=2.15.0; extra == \"testing\"", + "deepspeed>=0.9.3; extra == \"deepspeed\"", + "deepspeed>=0.9.3; extra == \"deepspeed-testing\"", + "dill<0.3.5; extra == \"deepspeed-testing\"", + "dill<0.3.5; extra == \"dev\"", + "dill<0.3.5; extra == \"testing\"", + "evaluate>=0.4.6; extra == \"deepspeed-testing\"", + "evaluate>=0.4.6; extra == \"dev\"", + "evaluate>=0.4.6; extra == \"testing\"", + "faiss-cpu; extra == \"deepspeed-testing\"", + "faiss-cpu; extra == \"dev\"", + "faiss-cpu; extra == \"retrieval\"", + "faiss-cpu; extra == \"testing\"", + "fastapi; extra == \"deepspeed-testing\"", + "fastapi; extra == \"dev\"", + "fastapi; extra == \"serving\"", + "fastapi; extra == \"testing\"", + "filelock; extra == \"deepspeed-testing\"", + "filelock; extra == \"dev\"", + "filelock; extra == \"testing\"", + "fugashi>=1.0; extra == \"dev\"", + "fugashi>=1.0; extra == \"ja\"", + "hf-doc-builder; extra == \"deepspeed-testing\"", + "hf-doc-builder; extra == \"dev\"", + "hf-doc-builder; extra == \"docs\"", + "hf-doc-builder; extra == \"testing\"", + "huggingface-hub<2.0,>=1.5.0", + "ipadic<2.0,>=1.0.0; extra == \"dev\"", + "ipadic<2.0,>=1.0.0; extra == \"ja\"", + "jinja2>=3.1.0; extra == \"all\"", + "jinja2>=3.1.0; extra == \"chat-template\"", + "jinja2>=3.1.0; extra == \"dev\"", + "jmespath>=1.0.1; extra == \"all\"", + "jmespath>=1.0.1; extra == \"chat-template\"", + "jmespath>=1.0.1; extra == \"dev\"", + "kernels<0.13,>=0.12.0; extra == \"all\"", + "kernels<0.13,>=0.12.0; extra == \"dev\"", + "kernels<0.13,>=0.12.0; extra == \"integrations\"", + "kernels<0.13,>=0.12.0; extra == \"kernels\"", + "libcst; extra == \"deepspeed-testing\"", + "libcst; extra == \"dev\"", + "libcst; extra == \"quality\"", + "libcst; extra == \"testing\"", + "librosa; extra == \"all\"", + "librosa; extra == \"audio\"", + "librosa; extra == \"dev\"", + "mistral-common[image]>=1.10.0; extra == \"all\"", + "mistral-common[image]>=1.10.0; extra == \"deepspeed-testing\"", + "mistral-common[image]>=1.10.0; extra == \"dev\"", + "mistral-common[image]>=1.10.0; extra == \"dev\"", + "mistral-common[image]>=1.10.0; extra == \"mistral-common\"", + "mistral-common[image]>=1.10.0; extra == \"testing\"", + "nltk<=3.8.1; extra == \"deepspeed-testing\"", + "nltk<=3.8.1; extra == \"dev\"", + "nltk<=3.8.1; extra == \"testing\"", + "num2words; extra == \"all\"", + "num2words; extra == \"dev\"", + "num2words; extra == \"num2words\"", + "numpy>=1.17", + "openai>=1.98.0; extra == \"deepspeed-testing\"", + "openai>=1.98.0; extra == \"dev\"", + "openai>=1.98.0; extra == \"serving\"", + "openai>=1.98.0; extra == \"testing\"", + "opentelemetry-api; extra == \"open-telemetry\"", + "opentelemetry-exporter-otlp; extra == \"open-telemetry\"", + "opentelemetry-sdk; extra == \"open-telemetry\"", + "optimum-benchmark>=0.3.0; extra == \"benchmark\"", + "optuna; extra == \"deepspeed-testing\"", + "optuna; extra == \"integrations\"", + "optuna; extra == \"optuna\"", + "packaging>=20.0", + "parameterized>=0.9; extra == \"deepspeed-testing\"", + "parameterized>=0.9; extra == \"dev\"", + "parameterized>=0.9; extra == \"testing\"", + "phonemizer; extra == \"all\"", + "phonemizer; extra == \"audio\"", + "phonemizer; extra == \"dev\"", + "protobuf; extra == \"all\"", + "protobuf; extra == \"deepspeed-testing\"", + "protobuf; extra == \"deepspeed-testing\"", + "protobuf; extra == \"dev\"", + "protobuf; extra == \"dev\"", + "protobuf; extra == \"sentencepiece\"", + "protobuf; extra == \"testing\"", + "psutil; extra == \"deepspeed-testing\"", + "psutil; extra == \"dev\"", + "psutil; extra == \"testing\"", + "pyctcdecode>=0.4.0; extra == \"all\"", + "pyctcdecode>=0.4.0; extra == \"audio\"", + "pyctcdecode>=0.4.0; extra == \"dev\"", + "pydantic>=2; extra == \"deepspeed-testing\"", + "pydantic>=2; extra == \"dev\"", + "pydantic>=2; extra == \"serving\"", + "pydantic>=2; extra == \"testing\"", + "pytest-asyncio>=1.2.0; extra == \"deepspeed-testing\"", + "pytest-asyncio>=1.2.0; extra == \"dev\"", + "pytest-asyncio>=1.2.0; extra == \"testing\"", + "pytest-env; extra == \"deepspeed-testing\"", + "pytest-env; extra == \"dev\"", + "pytest-env; extra == \"testing\"", + "pytest-order; extra == \"deepspeed-testing\"", + "pytest-order; extra == \"dev\"", + "pytest-order; extra == \"testing\"", + "pytest-random-order; extra == \"deepspeed-testing\"", + "pytest-random-order; extra == \"dev\"", + "pytest-random-order; extra == \"testing\"", + "pytest-rerunfailures<16.0; extra == \"deepspeed-testing\"", + "pytest-rerunfailures<16.0; extra == \"dev\"", + "pytest-rerunfailures<16.0; extra == \"testing\"", + "pytest-rich; extra == \"deepspeed-testing\"", + "pytest-rich; extra == \"dev\"", + "pytest-rich; extra == \"testing\"", + "pytest-timeout; extra == \"deepspeed-testing\"", + "pytest-timeout; extra == \"dev\"", + "pytest-timeout; extra == \"testing\"", + "pytest-xdist; extra == \"deepspeed-testing\"", + "pytest-xdist; extra == \"dev\"", + "pytest-xdist; extra == \"testing\"", + "pytest<9.0.0,>=7.2.0; extra == \"deepspeed-testing\"", + "pytest<9.0.0,>=7.2.0; extra == \"dev\"", + "pytest<9.0.0,>=7.2.0; extra == \"testing\"", + "pyyaml>=5.1", + "ray[tune]>=2.7.0; extra == \"integrations\"", + "ray[tune]>=2.7.0; extra == \"ray\"", + "regex>=2025.10.22", + "rhoknp<1.3.1,>=1.1.0; extra == \"dev\"", + "rhoknp<1.3.1,>=1.1.0; extra == \"ja\"", + "rich; extra == \"deepspeed-testing\"", + "rich; extra == \"deepspeed-testing\"", + "rich; extra == \"dev\"", + "rich; extra == \"dev\"", + "rich; extra == \"quality\"", + "rich; extra == \"serving\"", + "rich; extra == \"testing\"", + "rich; extra == \"testing\"", + "rjieba; extra == \"deepspeed-testing\"", + "rjieba; extra == \"dev\"", + "rjieba; extra == \"testing\"", + "rouge-score!=0.0.7,!=0.0.8,!=0.1,!=0.1.1; extra == \"deepspeed-testing\"", + "rouge-score!=0.0.7,!=0.0.8,!=0.1,!=0.1.1; extra == \"dev\"", + "rouge-score!=0.0.7,!=0.0.8,!=0.1,!=0.1.1; extra == \"testing\"", + "ruff==0.14.10; extra == \"deepspeed-testing\"", + "ruff==0.14.10; extra == \"dev\"", + "ruff==0.14.10; extra == \"quality\"", + "ruff==0.14.10; extra == \"testing\"", + "sacrebleu<2.0.0,>=1.4.12; extra == \"deepspeed-testing\"", + "sacrebleu<2.0.0,>=1.4.12; extra == \"dev\"", + "sacrebleu<2.0.0,>=1.4.12; extra == \"testing\"", + "sacremoses; extra == \"deepspeed-testing\"", + "sacremoses; extra == \"dev\"", + "sacremoses; extra == \"testing\"", + "safetensors>=0.4.3", + "sagemaker>=2.31.0; extra == \"sagemaker\"", + "scikit-learn; extra == \"dev\"", + "scikit-learn; extra == \"sklearn\"", + "sentencepiece!=0.1.92,>=0.1.91; extra == \"all\"", + "sentencepiece!=0.1.92,>=0.1.91; extra == \"deepspeed-testing\"", + "sentencepiece!=0.1.92,>=0.1.91; extra == \"deepspeed-testing\"", + "sentencepiece!=0.1.92,>=0.1.91; extra == \"dev\"", + "sentencepiece!=0.1.92,>=0.1.91; extra == \"dev\"", + "sentencepiece!=0.1.92,>=0.1.91; extra == \"sentencepiece\"", + "sentencepiece!=0.1.92,>=0.1.91; extra == \"testing\"", + "starlette; extra == \"deepspeed-testing\"", + "starlette; extra == \"dev\"", + "starlette; extra == \"serving\"", + "starlette; extra == \"testing\"", + "sudachidict_core>=20220729; extra == \"dev\"", + "sudachidict_core>=20220729; extra == \"ja\"", + "sudachipy>=0.6.6; extra == \"dev\"", + "sudachipy>=0.6.6; extra == \"ja\"", + "tensorboard; extra == \"deepspeed-testing\"", + "tensorboard; extra == \"dev\"", + "tensorboard; extra == \"testing\"", + "tiktoken; extra == \"all\"", + "tiktoken; extra == \"dev\"", + "tiktoken; extra == \"tiktoken\"", + "timeout-decorator; extra == \"deepspeed-testing\"", + "timeout-decorator; extra == \"dev\"", + "timeout-decorator; extra == \"testing\"", + "timm>=1.0.23; extra == \"all\"", + "timm>=1.0.23; extra == \"dev\"", + "timm>=1.0.23; extra == \"timm\"", + "tokenizers<=0.23.0,>=0.22.0", + "tomli; extra == \"deepspeed-testing\"", + "tomli; extra == \"dev\"", + "tomli; extra == \"quality\"", + "tomli; extra == \"testing\"", + "torch>=2.4; extra == \"all\"", + "torch>=2.4; extra == \"deepspeed-testing\"", + "torch>=2.4; extra == \"dev\"", + "torch>=2.4; extra == \"dev\"", + "torch>=2.4; extra == \"serving\"", + "torch>=2.4; extra == \"testing\"", + "torch>=2.4; extra == \"torch\"", + "torchaudio; extra == \"all\"", + "torchaudio; extra == \"audio\"", + "torchaudio; extra == \"dev\"", + "torchvision; extra == \"all\"", + "torchvision; extra == \"dev\"", + "torchvision; extra == \"vision\"", + "tqdm>=4.27", + "transformers-mlinter==0.1.1; extra == \"deepspeed-testing\"", + "transformers-mlinter==0.1.1; extra == \"dev\"", + "transformers-mlinter==0.1.1; extra == \"quality\"", + "transformers-mlinter==0.1.1; extra == \"testing\"", + "ty==0.0.20; extra == \"deepspeed-testing\"", + "ty==0.0.20; extra == \"dev\"", + "ty==0.0.20; extra == \"quality\"", + "ty==0.0.20; extra == \"testing\"", + "typer", + "unidic>=1.0.2; extra == \"dev\"", + "unidic>=1.0.2; extra == \"ja\"", + "unidic_lite>=1.0.7; extra == \"dev\"", + "unidic_lite>=1.0.7; extra == \"ja\"", + "urllib3<2.0.0; extra == \"deepspeed-testing\"", + "urllib3<2.0.0; extra == \"dev\"", + "urllib3<2.0.0; extra == \"quality\"", + "urllib3<2.0.0; extra == \"testing\"", + "uvicorn; extra == \"deepspeed-testing\"", + "uvicorn; extra == \"dev\"", + "uvicorn; extra == \"serving\"", + "uvicorn; extra == \"testing\"" + ], + "requires_python": ">=3.10.0", + "version": "5.8.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "70fb9bbdc9f400afc54bbf6eb2670af28829a6ae3996863317964783141daf56", + "url": "https://files.pythonhosted.org/packages/e1/02/d96f57828d0912aec733b9bc7e0e7dbfd2c6f079a8fa433ac25cb93d1a30/triton-3.7.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "abdf6beaa89b1bcfb9a43cd990536ce66091a997841a4814b260b7bee4c88c3c", + "url": "https://files.pythonhosted.org/packages/01/e1/a59a583de59b8f62c495d67c80ee3ea97d09e91ac80c4c6e76456ed8d8ac/triton-3.7.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a35d7afe3f3f058e7ec49fcce09794049e0ffc5c59019ac25ec3413741b8c4e7", + "url": "https://files.pythonhosted.org/packages/30/b1/b7507bb9815d403927c8dd51d4158ed2e11751a92dbc118a044f247b6848/triton-3.7.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "cc1d61c172d257db80ddf42595131fb196ad2e9bdd751e90fe2ef13531734e8b", + "url": "https://files.pythonhosted.org/packages/a6/8f/0bea7a6a0c989315c9135a1d7fb37e41905cfb3a17cbc1f10044ebd4cc3a/triton-3.7.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + } + ], + "project_name": "triton", + "requires_dists": [ + "autopep8; extra == \"tests\"", + "cmake<4.0,>=3.20; extra == \"build\"", + "importlib-metadata; python_version < \"3.10\"", + "isort; extra == \"tests\"", + "lit; extra == \"build\"", + "llnl-hatchet; extra == \"tests\"", + "matplotlib; extra == \"tutorials\"", + "numpy; extra == \"tests\"", + "pandas; extra == \"tutorials\"", + "pytest-forked; extra == \"tests\"", + "pytest-xdist; extra == \"tests\"", + "pytest; extra == \"tests\"", + "scipy>=1.7.1; extra == \"tests\"", + "tabulate; extra == \"tutorials\"" + ], + "requires_python": "<3.15,>=3.10", + "version": "3.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "dc25ea0ebf6511c24f03232ee9f4afa54b291c5d897990e3a39cc4d14a1ef4c0", + "url": "https://files.pythonhosted.org/packages/a6/57/bcf4e2370dd218c9aa68a9140a65d86729c73f1d529f7e94786c2766fc72/twisted-26.4.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "dbfd0fe1ee409d0243fdd7a6a6ff14f4948cec1fd78e0376291f805e1501fae9", + "url": "https://files.pythonhosted.org/packages/db/97/6e9beb1e78247ae6dc34114f27d538cf2cb183c4afcd3609dfdf2b0439c8/twisted-26.4.0.tar.gz" + } + ], + "project_name": "twisted", + "requires_dists": [ + "appdirs>=1.4.0; extra == \"all-non-platform\"", + "appdirs>=1.4.0; extra == \"conch\"", + "appdirs>=1.4.0; extra == \"gtk-platform\"", + "appdirs>=1.4.0; extra == \"macos-platform\"", + "appdirs>=1.4.0; extra == \"mypy\"", + "appdirs>=1.4.0; extra == \"osx-platform\"", + "appdirs>=1.4.0; extra == \"windows-platform\"", + "attrs>=22.2.0", + "automat>=24.8.0", + "bcrypt>=3.2.1; extra == \"all-non-platform\"", + "bcrypt>=3.2.1; extra == \"conch\"", + "bcrypt>=3.2.1; extra == \"gtk-platform\"", + "bcrypt>=3.2.1; extra == \"macos-platform\"", + "bcrypt>=3.2.1; extra == \"mypy\"", + "bcrypt>=3.2.1; extra == \"osx-platform\"", + "bcrypt>=3.2.1; extra == \"windows-platform\"", + "constantly>=15.1", + "coverage~=7.5; extra == \"dev\"", + "coverage~=7.5; extra == \"mypy\"", + "cryptography>=38; extra == \"all-non-platform\"", + "cryptography>=38; extra == \"conch\"", + "cryptography>=38; extra == \"gtk-platform\"", + "cryptography>=38; extra == \"macos-platform\"", + "cryptography>=38; extra == \"mypy\"", + "cryptography>=38; extra == \"osx-platform\"", + "cryptography>=38; extra == \"windows-platform\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"all-non-platform\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"dev\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"gtk-platform\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"macos-platform\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"mypy\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"osx-platform\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"test\"", + "cython-test-exception-raiser<2,>=1.0.2; extra == \"windows-platform\"", + "h2<5.0,>=3.2; extra == \"all-non-platform\"", + "h2<5.0,>=3.2; extra == \"gtk-platform\"", + "h2<5.0,>=3.2; extra == \"http2\"", + "h2<5.0,>=3.2; extra == \"macos-platform\"", + "h2<5.0,>=3.2; extra == \"mypy\"", + "h2<5.0,>=3.2; extra == \"osx-platform\"", + "h2<5.0,>=3.2; extra == \"windows-platform\"", + "httpx[http2]>=0.27; extra == \"all-non-platform\"", + "httpx[http2]>=0.27; extra == \"dev\"", + "httpx[http2]>=0.27; extra == \"gtk-platform\"", + "httpx[http2]>=0.27; extra == \"macos-platform\"", + "httpx[http2]>=0.27; extra == \"mypy\"", + "httpx[http2]>=0.27; extra == \"osx-platform\"", + "httpx[http2]>=0.27; extra == \"test\"", + "httpx[http2]>=0.27; extra == \"windows-platform\"", + "hyperlink>=17.1.1", + "hypothesis>=6.56; extra == \"all-non-platform\"", + "hypothesis>=6.56; extra == \"dev\"", + "hypothesis>=6.56; extra == \"gtk-platform\"", + "hypothesis>=6.56; extra == \"macos-platform\"", + "hypothesis>=6.56; extra == \"mypy\"", + "hypothesis>=6.56; extra == \"osx-platform\"", + "hypothesis>=6.56; extra == \"test\"", + "hypothesis>=6.56; extra == \"windows-platform\"", + "idna>=2.4; extra == \"all-non-platform\"", + "idna>=2.4; extra == \"gtk-platform\"", + "idna>=2.4; extra == \"macos-platform\"", + "idna>=2.4; extra == \"mypy\"", + "idna>=2.4; extra == \"osx-platform\"", + "idna>=2.4; extra == \"tls\"", + "idna>=2.4; extra == \"windows-platform\"", + "incremental>=24.7.0", + "mypy-zope==1.0.14; extra == \"mypy\"", + "mypy==1.19.1; extra == \"mypy\"", + "priority<2.0,>=1.1.0; extra == \"all-non-platform\"", + "priority<2.0,>=1.1.0; extra == \"gtk-platform\"", + "priority<2.0,>=1.1.0; extra == \"http2\"", + "priority<2.0,>=1.1.0; extra == \"macos-platform\"", + "priority<2.0,>=1.1.0; extra == \"mypy\"", + "priority<2.0,>=1.1.0; extra == \"osx-platform\"", + "priority<2.0,>=1.1.0; extra == \"windows-platform\"", + "pydoctor~=25.4.0; extra == \"dev\"", + "pydoctor~=25.4.0; extra == \"dev-release\"", + "pydoctor~=25.4.0; extra == \"mypy\"", + "pyflakes~=2.2; extra == \"dev\"", + "pyflakes~=2.2; extra == \"mypy\"", + "pygobject; python_version >= \"3.10\" and extra == \"gtk-platform\"", + "pygobject<3.52.1; python_version < \"3.10\" and extra == \"gtk-platform\"", + "pyhamcrest>=2; extra == \"all-non-platform\"", + "pyhamcrest>=2; extra == \"dev\"", + "pyhamcrest>=2; extra == \"gtk-platform\"", + "pyhamcrest>=2; extra == \"macos-platform\"", + "pyhamcrest>=2; extra == \"mypy\"", + "pyhamcrest>=2; extra == \"osx-platform\"", + "pyhamcrest>=2; extra == \"test\"", + "pyhamcrest>=2; extra == \"windows-platform\"", + "pyobjc-core>=12; python_version >= \"3.10\" and extra == \"macos-platform\"", + "pyobjc-core>=12; python_version >= \"3.10\" and extra == \"osx-platform\"", + "pyobjc-framework-cfnetwork>=12; python_version >= \"3.10\" and extra == \"macos-platform\"", + "pyobjc-framework-cfnetwork>=12; python_version >= \"3.10\" and extra == \"osx-platform\"", + "pyobjc-framework-cocoa>=12; python_version >= \"3.10\" and extra == \"macos-platform\"", + "pyobjc-framework-cocoa>=12; python_version >= \"3.10\" and extra == \"osx-platform\"", + "pyopenssl>=25.2.0; extra == \"all-non-platform\"", + "pyopenssl>=25.2.0; extra == \"gtk-platform\"", + "pyopenssl>=25.2.0; extra == \"macos-platform\"", + "pyopenssl>=25.2.0; extra == \"mypy\"", + "pyopenssl>=25.2.0; extra == \"osx-platform\"", + "pyopenssl>=25.2.0; extra == \"tls\"", + "pyopenssl>=25.2.0; extra == \"windows-platform\"", + "pyserial>=3.0; extra == \"all-non-platform\"", + "pyserial>=3.0; extra == \"gtk-platform\"", + "pyserial>=3.0; extra == \"macos-platform\"", + "pyserial>=3.0; extra == \"mypy\"", + "pyserial>=3.0; extra == \"osx-platform\"", + "pyserial>=3.0; extra == \"serial\"", + "pyserial>=3.0; extra == \"windows-platform\"", + "python-subunit~=1.4; extra == \"dev\"", + "python-subunit~=1.4; extra == \"mypy\"", + "pywin32!=226; extra == \"windows-platform\"", + "pywin32!=226; platform_system == \"Windows\" and extra == \"all-non-platform\"", + "pywin32!=226; platform_system == \"Windows\" and extra == \"gtk-platform\"", + "pywin32!=226; platform_system == \"Windows\" and extra == \"macos-platform\"", + "pywin32!=226; platform_system == \"Windows\" and extra == \"mypy\"", + "pywin32!=226; platform_system == \"Windows\" and extra == \"osx-platform\"", + "pywin32!=226; platform_system == \"Windows\" and extra == \"serial\"", + "pywin32!=226; platform_system == \"Windows\" and extra == \"windows-platform\"", + "service-identity>=18.1.0; extra == \"all-non-platform\"", + "service-identity>=18.1.0; extra == \"gtk-platform\"", + "service-identity>=18.1.0; extra == \"macos-platform\"", + "service-identity>=18.1.0; extra == \"mypy\"", + "service-identity>=18.1.0; extra == \"osx-platform\"", + "service-identity>=18.1.0; extra == \"tls\"", + "service-identity>=18.1.0; extra == \"windows-platform\"", + "sphinx-rtd-theme~=1.3; extra == \"dev\"", + "sphinx-rtd-theme~=1.3; extra == \"dev-release\"", + "sphinx-rtd-theme~=1.3; extra == \"mypy\"", + "sphinx<7,>=6; extra == \"dev\"", + "sphinx<7,>=6; extra == \"dev-release\"", + "sphinx<7,>=6; extra == \"mypy\"", + "towncrier~=23.6; extra == \"dev\"", + "towncrier~=23.6; extra == \"dev-release\"", + "towncrier~=23.6; extra == \"mypy\"", + "twisted-iocpsupport>=1.0.2; extra == \"windows-platform\"", + "twistedchecker~=0.7; extra == \"dev\"", + "twistedchecker~=0.7; extra == \"mypy\"", + "types-pyopenssl; extra == \"mypy\"", + "types-setuptools; extra == \"mypy\"", + "typing-extensions>=4.2.0", + "wsproto; extra == \"all-non-platform\"", + "wsproto; extra == \"gtk-platform\"", + "wsproto; extra == \"macos-platform\"", + "wsproto; extra == \"mypy\"", + "wsproto; extra == \"osx-platform\"", + "wsproto; extra == \"websocket\"", + "wsproto; extra == \"windows-platform\"", + "zope-interface>=5" + ], + "requires_python": ">=3.9.12", + "version": "26.4.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5f6cd6c6b397fc3305790d15efd46a2d5b91cdbefa96543b4f8666aeb56ba026", + "url": "https://files.pythonhosted.org/packages/50/05/bdb6318120cac9bf97779674f49035e0595d894b42d4c43b60637bafdb1f/txaio-25.12.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9f232c21e12aa1ff52690e365b5a0ecfd42cc27a6ec86e1b92ece88f763f4b78", + "url": "https://files.pythonhosted.org/packages/7f/67/ea9c9ddbaa3e0b4d53c91f8778a33e42045be352dc7200ed2b9aaa7dc229/txaio-25.12.2.tar.gz" + } + ], + "project_name": "txaio", + "requires_dists": [ + "build>=1.0.0; extra == \"dev\"", + "coverage>=7.0.0; extra == \"dev\"", + "furo>=2024.7.0; extra == \"docs\"", + "linkify-it-py>=2.0.0; extra == \"docs\"", + "myst-parser>=2.0; extra == \"docs\"", + "pyenchant>=3.2; extra == \"docs\"", + "pytest-cov>=4.0.0; extra == \"dev\"", + "pytest>=8.0.0; extra == \"dev\"", + "ruff>=0.4.0; extra == \"dev\"", + "scour>=0.38; extra == \"docs\"", + "sphinx-autoapi>=2.1.0; extra == \"docs\"", + "sphinx-copybutton>=0.5; extra == \"docs\"", + "sphinx-design>=0.5; extra == \"docs\"", + "sphinx>=8.2.3; extra == \"docs\"", + "sphinxcontrib-images>=0.9; extra == \"docs\"", + "sphinxcontrib-spelling>=8.0; extra == \"docs\"", + "sphinxext-opengraph>=0.9; extra == \"docs\"", + "twine>=5.0.0; extra == \"dev\"", + "twisted>=22.10.0; extra == \"all\"", + "twisted>=22.10.0; extra == \"twisted\"", + "wheel>=0.42.0; extra == \"dev\"", + "zope-interface>=5.2.0; extra == \"all\"", + "zope-interface>=5.2.0; extra == \"twisted\"" + ], + "requires_python": ">=3.11", + "version": "25.12.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89", + "url": "https://files.pythonhosted.org/packages/3f/f9/2b3ff4e56e5fa7debfaf9eb135d0da96f3e9a1d5b27222223c7296336e5f/typer-0.25.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc", + "url": "https://files.pythonhosted.org/packages/e4/51/9aed62104cea109b820bbd6c14245af756112017d309da813ef107d42e7e/typer-0.25.1.tar.gz" + } + ], + "project_name": "typer", + "requires_dists": [ + "annotated-doc>=0.0.2", + "click>=8.2.1", + "rich>=13.8.0", + "shellingham>=1.3.0" + ], + "requires_python": ">=3.10", + "version": "0.25.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "02de536e9a57fc5fdff09ecfdaae3099a000764597ec4c03b343db4f09adbb37", + "url": "https://files.pythonhosted.org/packages/7f/9f/d05eefc9d26aa2aa2d07f3cde9a909b569370324acfd8403ff7bee466419/types_deprecated-1.3.1.20260508-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "a03c378da8fd83e2d5715fcdab204cfed1cfccf09766163390333684bb8413c8", + "url": "https://files.pythonhosted.org/packages/7a/3e/9cd21c9292ea64682f1533d315d429c7e35617e168fd54b90e22d530178c/types_deprecated-1.3.1.20260508.tar.gz" + } + ], + "project_name": "types-deprecated", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "1.3.1.20260508" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "69f6dae384bbea830dff23621936423035db152af901331e6f9c46f7c4f4b24f", + "url": "https://files.pythonhosted.org/packages/be/b3/f4d11df63430d7e14b2889caf73f6f6bf9147a51d866ce2da4c07d9f3c8b/types_psycopg2-2.9.21.20260509-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0422105f691a409e9d8048c2205aca9d694b70823248c6614393444017e9f088", + "url": "https://files.pythonhosted.org/packages/71/9e/a78cffd63e14c45fc05664c42739b2b15938acff92ca59e22b22ced5695e/types_psycopg2-2.9.21.20260509.tar.gz" + } + ], + "project_name": "types-psycopg2", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "2.9.21.20260509" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "bfc6fd2d81aa86e5ac97206a64304f6bd247426eedbca9b98619bbc48c6a1c10", + "url": "https://files.pythonhosted.org/packages/db/7c/1788ff10edf56031d74ad3fba40947e0e8b82e3a529b30e6b7d71c191dec/types_python_dateutil-2.9.0.20260508-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "596a6d63d81f587bf04c8254fb78df9d2344e915ce67948d7400512e3a6206d5", + "url": "https://files.pythonhosted.org/packages/bd/9b/ee1674cbe9ec50bb824f35a5dc0ce5fd1f1b6196ba1213e3fe6f33b4ce32/types_python_dateutil-2.9.0.20260508.tar.gz" + } + ], + "project_name": "types-python-dateutil", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "2.9.0.20260508" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "29228db9f82df4f1b7febee06bbfb601677882e98a3da98132e31c6874163e15", + "url": "https://files.pythonhosted.org/packages/1d/14/1b89f3003c0718c0a48626699837947783cb670d023bc85a6a92261ee695/types_PyYAML-6.0.12-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f6f350418125872f3f0409d96a62a5a5ceb45231af5cc07ee0034ec48a3c82fa", + "url": "https://files.pythonhosted.org/packages/d3/47/e1941cf017d2dbf4411f6c8a3932f72eb900572ced7d0ac5d5bab1145357/types-PyYAML-6.0.12.tar.gz" + } + ], + "project_name": "types-pyyaml", + "requires_dists": [], + "requires_python": null, + "version": "6.0.12" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "fa01459cca184229713df03709db46a905325906d27e042cd4fd7ea3d15d3400", + "url": "https://files.pythonhosted.org/packages/cb/96/080db0afdf2c5cc5fe512b41354e8d114fe8f65e9510c56ff8dfd40216ce/types_requests-2.33.0.20260508-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "81b2ae5f0d20967714a6aa5ef9284c05570d7cb06b7de8f2a77b918b63ddd411", + "url": "https://files.pythonhosted.org/packages/c7/6b/eb226bdd61a982c9a03e02c657fb4ab001733506e6423906ac142331f2e3/types_requests-2.33.0.20260508.tar.gz" + } + ], + "project_name": "types-requests", + "requires_dists": [ + "urllib3>=2" + ], + "requires_python": ">=3.10", + "version": "2.33.0.20260508" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", + "url": "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", + "url": "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz" + } + ], + "project_name": "typing-extensions", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "4.15.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", + "url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", + "url": "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" + } + ], + "project_name": "typing-inspection", + "requires_dists": [ + "typing-extensions>=4.12.0" + ], + "requires_python": ">=3.9", + "version": "0.4.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7", + "url": "https://files.pythonhosted.org/packages/ce/e4/dccd7f47c4b64213ac01ef921a1337ee6e30e8c6466046018326977efd95/tzdata-2026.2-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9173fde7d80d9018e02a662e168e5a2d04f87c41ea174b139fbef642eda62d10", + "url": "https://files.pythonhosted.org/packages/ba/19/1b9b0e29f30c6d35cb345486df41110984ea67ae69dddbc0e8a100999493/tzdata-2026.2.tar.gz" + } + ], + "project_name": "tzdata", + "requires_dists": [], + "requires_python": ">=2", + "version": "2026.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d", + "url": "https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "cceffc7edecefea1f595541dbd6e990cb1ea3d19bf01b2809f362a03dd7921fd", + "url": "https://files.pythonhosted.org/packages/8b/2e/c14812d3d4d9cd1773c6be938f89e5735a1f11a9f184ac3639b93cef35d5/tzlocal-5.3.1.tar.gz" + } + ], + "project_name": "tzlocal", + "requires_dists": [ + "check-manifest; extra == \"devenv\"", + "pytest-cov; extra == \"devenv\"", + "pytest-mock>=3.3; extra == \"devenv\"", + "pytest>=4.3; extra == \"devenv\"", + "tzdata; platform_system == \"Windows\"", + "zest.releaser; extra == \"devenv\"" + ], + "requires_python": ">=3.9", + "version": "5.3.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1a09636220f26c66f80c6c6283023cb53120e843825f890be92696cd1aa43f39", + "url": "https://files.pythonhosted.org/packages/46/aa/f135f4b741baf14d5350be5511076408e7540353d3d850a430cb89d585a6/ujson-5.12.1-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b5db0849c0e3da54822a5834f2dc51d7c51072d7f7d665014ee34600dc10889b", + "url": "https://files.pythonhosted.org/packages/04/e6/104ebc35fa8dbaca66bf027c53c0c9c572271c2984576f4fd7d349d1a2e4/ujson-5.12.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "949cb4863a5d4847edeb47c5364b334e8cadf23a7cbdaa547d86098a4b093106", + "url": "https://files.pythonhosted.org/packages/11/d2/55274e80fe1806cdb5cb97483be16cd6163337ab11c3bd7e28ff8a8aad26/ujson-5.12.1-cp313-cp313-manylinux_2_24_i686.manylinux_2_28_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "5dc91fa06ea35920b704fd9d70871897680145998071cfbf5ee3e19f2c9fc242", + "url": "https://files.pythonhosted.org/packages/61/73/03c7473372e1a538206fc655e474fa15f8bf9c46bb7c73c5fec9a544e429/ujson-5.12.1-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "8aa731138d6dfca4ab84501b72384e6c544bfb48cb87a0dd4d304df3246cac25", + "url": "https://files.pythonhosted.org/packages/6c/15/ec46b1757c8f7770d8c101b8a463bec67c19e89c46c608d01e4b193cc64a/ujson-5.12.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d57d731ecf492d3d011e65369f8330654f0875b19f646be5270d478e843d3b81", + "url": "https://files.pythonhosted.org/packages/6d/30/907e47569bed5f5eb258fef5e587c6759a7a062048796e40024497137e28/ujson-5.12.1-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "727e983ef27892d86ee2d28fd517eeb02b2c1165aafcbe929dce988aeee81bfe", + "url": "https://files.pythonhosted.org/packages/b5/27/ec73bc8908c33eb1f5be29d696084e531cbcfbd5c7b89ce54c025f66c682/ujson-5.12.1-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "c4bdc052a5d097f0a2e56d93aed97355f9f7a62ef9baa4f8517e43245434af9c", + "url": "https://files.pythonhosted.org/packages/b9/f0/985b351771ebf095e2c1aaad18f4d251831226a767a32593310e4f181f19/ujson-5.12.1-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5b7e96406c301a1366534479a7352ec40ec68bb327c0c119091635acd5925e35", + "url": "https://files.pythonhosted.org/packages/bc/78/937198ea8708182dd1edbf0237bf255a96feab3f511691ad08b84da98e5d/ujson-5.12.1.tar.gz" + } + ], + "project_name": "ujson", + "requires_dists": [], + "requires_python": ">=3.10", + "version": "5.12.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "cbba64760a36fe2640d80d85306e8fe82b6816659190993b7bdabadee4d4bbfd", + "url": "https://files.pythonhosted.org/packages/0c/ba/8dd7fa5f0b1c6a8ac62f8f57f7e794160c1f86f31c6d0fb00f582372a3e4/update_checker-0.18.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6a2d45bb4ac585884a6b03f9eade9161cedd9e8111545141e9aa9058932acb13", + "url": "https://files.pythonhosted.org/packages/5c/0b/1bec4a6cc60d33ce93d11a7bcf1aeffc7ad0aa114986073411be31395c6f/update_checker-0.18.0.tar.gz" + } + ], + "project_name": "update-checker", + "requires_dists": [ + "black; extra == \"dev\"", + "black; extra == \"lint\"", + "flake8; extra == \"dev\"", + "flake8; extra == \"lint\"", + "pytest>=2.7.3; extra == \"dev\"", + "pytest>=2.7.3; extra == \"test\"", + "requests>=2.3.0" + ], + "requires_python": null, + "version": "0.18.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686", + "url": "https://files.pythonhosted.org/packages/a9/99/3ae339466c9183ea5b8ae87b34c0b897eda475d2aec2307cae60e5cd4f29/uritemplate-4.2.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e", + "url": "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz" + } + ], + "project_name": "uritemplate", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "4.2.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", + "url": "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", + "url": "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz" + } + ], + "project_name": "urllib3", + "requires_dists": [ + "backports-zstd>=1.0.0; python_version < \"3.14\" and extra == \"zstd\"", + "brotli>=1.2.0; platform_python_implementation == \"CPython\" and extra == \"brotli\"", + "brotlicffi>=1.2.0.0; platform_python_implementation != \"CPython\" and extra == \"brotli\"", + "h2<5,>=4; extra == \"h2\"", + "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"" + ], + "requires_python": ">=3.10", + "version": "2.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "fc9a85207269b436255b08f504e3ea185f6f1e4813ffa43c0e658a63af99e7e6", + "url": "https://files.pythonhosted.org/packages/80/fa/1f105833249b8259e3afec9ef7874da7c8cd80c534a2eb59726aa6b6945f/uuid_utils-0.15.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6fb8636100cd521325ac90a9c3ad6d4e6cc39ee39ce78bf757c014aaab79b780", + "url": "https://files.pythonhosted.org/packages/02/79/3ddb82178963627693a836f81ab0cdfb2371d73f795a4be4937456e15df9/uuid_utils-0.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "f182733e3d88edd2ceeca292627e2b1d5fa8693abe00b160de5517616ed399ea", + "url": "https://files.pythonhosted.org/packages/0b/f6/1856dc5935a947a062fb8fefd8a26e0f9f6694320e7203c7e85bd291dc93/uuid_utils-0.15.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "92076407ddb8b752df055378671b8c8bd3c6ffdb3064982190765b1fa685e624", + "url": "https://files.pythonhosted.org/packages/0d/9f/0c9e22ccc4cd3e7cccb6d92cf3ccab3c259d04ff4d34a4d22bc6a8f5f9da/uuid_utils-0.15.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "b6326c3aff73342b50a39af0301972b671f1da68e6f2d88aaf5b959489b0c0a1", + "url": "https://files.pythonhosted.org/packages/1e/9a/8354234e8f6b7a128bb10457bfa00b641b4e79fcf48a03958584ab753fd3/uuid_utils-0.15.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "6f3d38354ce3943fd721109c508b27a54147531ae656e675155301dfe25e8367", + "url": "https://files.pythonhosted.org/packages/1f/28/ca25f2e88ff84f4beb3e5310a45508651de389af80c61f172170bde81e19/uuid_utils-0.15.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "98bc52c15cf1baf602c965ecc2ed5d798cc8908084098ab6478b53a99b479fa8", + "url": "https://files.pythonhosted.org/packages/22/14/6e4b523a90014fab0b55b13ea792d5529abf70f0f8c97fd5b90a5200bbcf/uuid_utils-0.15.0-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "06a76000bd4917526549fedb63c417e1ea8e745388aedc9906d7af079f969668", + "url": "https://files.pythonhosted.org/packages/23/44/efbb84e88d2a3adfc883bcfa97e50259ac39f5ba8858e68438bbd8cb1993/uuid_utils-0.15.0-cp313-cp313t-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "e6c7ed64c69f815cf434384681d64ee5aa574160a8e2d2a9a63088d388cb8ae7", + "url": "https://files.pythonhosted.org/packages/27/d9/ee0c8ce35cc8b0425adc822feec41fdf477d15e3259fb721a711018bb7db/uuid_utils-0.15.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "53b7c12e9ac48372781e6d409877621d1505955d8b37a505dbadb864f7098e85", + "url": "https://files.pythonhosted.org/packages/29/fd/cf820e6af8d4a8bb71a1dd1ea89a895d4186c41ffcd519eddf0b8cd3a126/uuid_utils-0.15.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "b96ffa58744f62dd6dd9c5ed33f8e6232a90e710aeb46758f3776d904352f755", + "url": "https://files.pythonhosted.org/packages/3d/09/f3b25d35246df2f2c69cc3fce244b77022d02a26f389419a02d214fdc635/uuid_utils-0.15.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "7ea97b77218b431c4854f2ccd502819d78d1109188fccabaa005cff61c2ccc81", + "url": "https://files.pythonhosted.org/packages/3e/89/a6a79248bdb7f46a9edfa1e1d1777bd4ad57e5b278cbb4daaf602f125cc9/uuid_utils-0.15.0-cp313-cp313-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3334a5fdb5d5241c4f764382f01eeac6f56fc8fddf49924cd78a47e5c86ed329", + "url": "https://files.pythonhosted.org/packages/50/a5/27c31c42a66fb11c2cee1b0be77e6bda3363b6920f6e6105c2402596ac09/uuid_utils-0.15.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "3b4b001172dede7e0681c6e288ac7febf36efa3efcbe92a964ddcef4acdd9f7b", + "url": "https://files.pythonhosted.org/packages/57/1f/c6d31b0cefaa79c42529dde10b8638b541032b2b61e3ca2d77acaa64857f/uuid_utils-0.15.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "04dafe5b74f9b9c27587001f39a256e981619626ddda20d7701d6b0a6c3cad51", + "url": "https://files.pythonhosted.org/packages/6d/8d/618c28414bf95c2e555b7ecd7b7fadcd139b191c64213ea8044624ede6b2/uuid_utils-0.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "257335769b12ebd8c1ae809f8d22e5a4b829bdb9c796ce4f5a5f55d8bb76db86", + "url": "https://files.pythonhosted.org/packages/76/e4/9762df18f91e33afcc869058dba0ea4c013c64c08f3866160a827b4daa05/uuid_utils-0.15.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "f51f8f74f65b1a8f0cecccd2ab8d04c28df82e813e83cd29248c6a0a9cb96b71", + "url": "https://files.pythonhosted.org/packages/7c/b0/7abda94d184e0e05f2aced8720f004581502f7072d60642b227c5861980f/uuid_utils-0.15.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "395ea1e40d6cd22bf6cfd00a3b25764571df783741d7a501f8b7a2d578f1148d", + "url": "https://files.pythonhosted.org/packages/7f/9f/67a1a323db03b872c78cc36ddc3249f756d523ee409a6abdfb6c643c0a59/uuid_utils-0.15.0-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "deee61ce9447f63e6ec765484b40f77dadac9672fb5c49d5f5586d93df38ae85", + "url": "https://files.pythonhosted.org/packages/86/3e/c99202e8aba95b30aaed419d3508da4f9f5c0a19fa3d01c76fab6a8aed34/uuid_utils-0.15.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e25b270f98dcf395a434bec704cb503516a71519198634bc827ba87a584387f7", + "url": "https://files.pythonhosted.org/packages/8e/a5/cc6ed878f6323209a7d497ad345e6eea4c9186af4904f9cd60e5bc9d72e6/uuid_utils-0.15.0-cp313-cp313t-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "80a23d5728d82666e788810d67f2dd57b209d4e95929d61d978e02d1d7ab27bc", + "url": "https://files.pythonhosted.org/packages/ad/78/1b8aedb556a20b268ffacf20bea115ce163c5019c3c66768c3a44141317d/uuid_utils-0.15.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "5d721605af5478415b311b9d2bd7f3cc71d19dc071c7b891dc92221a845150d1", + "url": "https://files.pythonhosted.org/packages/d0/b1/43c1121329467590e99a1aa3a81845d0c908ce7319e870cb68334c5803bd/uuid_utils-0.15.0-cp313-cp313t-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "616a3e8f178c69f58d54d015bbb1666c6401ce3d41cc0473e67dfa278b96c8e5", + "url": "https://files.pythonhosted.org/packages/f5/bc/740663747449cc0df8dd0e5523dc0e34d566692902edc7a1665a3327ee6e/uuid_utils-0.15.0-cp313-cp313-musllinux_1_2_armv7l.whl" + } + ], + "project_name": "uuid-utils", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "0.15.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc", + "url": "https://files.pythonhosted.org/packages/03/ff/7c0c86c43b3cbb927e0ccc0255cb4057ceba4799cd44ae95174ce8e8b5b2/vine-5.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0", + "url": "https://files.pythonhosted.org/packages/bd/e4/d07b5f29d283596b9727dd5275ccbceb63c44a1a82aa9e4bfd20426762ac/vine-5.1.0.tar.gz" + } + ], + "project_name": "vine", + "requires_dists": [], + "requires_python": ">=3.6", + "version": "5.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "7d5987d8369e098e41406efb780a3d4ca79280097293899e351a6407ee153ab3", + "url": "https://files.pythonhosted.org/packages/f4/34/a9dbe051de88a63eb7408ea66630bac38e72f7f6077d4be58737106860d9/virtualenv-21.3.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "f5bda277e553b1c2b3c1a8debfc30496e1288cc93ce6b7b71b3280047e317328", + "url": "https://files.pythonhosted.org/packages/15/ba/1f6e8c957e4932be060dcdc482d339c12e0216351478add3645cdaa53c05/virtualenv-21.3.3.tar.gz" + } + ], + "project_name": "virtualenv", + "requires_dists": [ + "distlib<1,>=0.3.7", + "filelock<4,>=3.24.2; python_version >= \"3.10\"", + "filelock<=3.19.1,>=3.16.1; python_version < \"3.10\"", + "importlib-metadata>=6.6; python_version < \"3.8\"", + "platformdirs<5,>=3.9.1", + "python-discovery>=1.3.1", + "typing-extensions>=4.13.2; python_version < \"3.11\"" + ], + "requires_python": ">=3.8", + "version": "21.3.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", + "url": "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26", + "url": "https://files.pythonhosted.org/packages/2c/3b/b8964e04ae1a025c44ba8e4291f86e97fac443bca31de8bd98d3263d2fcf/watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", + "url": "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c", + "url": "https://files.pythonhosted.org/packages/62/ae/a696eb424bedff7407801c257d4b1afda455fe40821a2be430e173660e81/watchdog-6.0.0-py3-none-manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", + "url": "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", + "url": "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", + "url": "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f", + "url": "https://files.pythonhosted.org/packages/ab/cc/da8422b300e13cb187d2203f20b9253e91058aaf7db65b74142013478e66/watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl" + }, + { + "algorithm": "sha256", + "hash": "82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", + "url": "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", + "url": "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", + "url": "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl" + } + ], + "project_name": "watchdog", + "requires_dists": [ + "PyYAML>=3.10; extra == \"watchmedo\"" + ], + "requires_python": ">=3.9", + "version": "6.0.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5d69154c429a82910e241c738cd0e2976fac8a2dd47a1a805f4afed1c0f136f2", + "url": "https://files.pythonhosted.org/packages/41/52/e465037f5375f43533d1a80b6923955201596a99142ed524d77b571a1418/wcwidth-0.7.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "90e3a7ea092341c44b99562e75d09e4d5160fe7a3974c6fb842a101a95e7eed0", + "url": "https://files.pythonhosted.org/packages/2c/ee/afaf0f85a9a18fe47a67f1e4422ed6cf1fe642f0ae0a2f81166231303c52/wcwidth-0.7.0.tar.gz" + } + ], + "project_name": "wcwidth", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "0.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "af248a825037ef591efbf6ed20cc5faa03d3b47b9e5a2230a529eeee1c1fc3ef", + "url": "https://files.pythonhosted.org/packages/34/db/b10e48aa8fff7407e67470363eac595018441cf32d5e1001567a7aeba5d2/websocket_client-1.9.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98", + "url": "https://files.pythonhosted.org/packages/2c/41/aa4bf9664e4cda14c3b39865b12251e8e7d239f4cd0e3cc1b6c2ccde25c1/websocket_client-1.9.0.tar.gz" + } + ], + "project_name": "websocket-client", + "requires_dists": [ + "Sphinx>=6.0; extra == \"docs\"", + "myst-parser>=2.0.0; extra == \"docs\"", + "pytest; extra == \"test\"", + "python-socks; extra == \"optional\"", + "sphinx_rtd_theme>=1.1.0; extra == \"docs\"", + "websockets; extra == \"test\"", + "wsaccel; extra == \"optional\"" + ], + "requires_python": ">=3.9", + "version": "1.9.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", + "url": "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", + "url": "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", + "url": "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", + "url": "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", + "url": "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", + "url": "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", + "url": "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", + "url": "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", + "url": "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", + "url": "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", + "url": "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + } + ], + "project_name": "websockets", + "requires_dists": [], + "requires_python": ">=3.9", + "version": "15.0.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b8fd6fa2b2c4e7621808f8c62e8317f4aae56e59721ad933bac5239d913cf0e8", + "url": "https://files.pythonhosted.org/packages/1a/c7/8528ac2dfa2c1e6708f647df7ae144ead13f0a31146f43c7264b4942bf12/wrapt-2.1.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "bbac24d879aa22998e87f6b3f481a5216311e7d53c7db87f189a7a0266dafffb", + "url": "https://files.pythonhosted.org/packages/03/a9/5b7d6a16fd6533fed2756900fc8fc923f678179aea62ada6d65c92718c00/wrapt-2.1.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a9b9d50c9af998875a1482a038eb05755dfd6fe303a313f6a940bb53a83c3f18", + "url": "https://files.pythonhosted.org/packages/09/a8/ce7b4006f7218248dd71b7b2b732d0710845a0e49213b18faef64811ffef/wrapt-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "c0be8b5a74c5824e9359b53e7e58bef71a729bacc82e16587db1c4ebc91f7c5a", + "url": "https://files.pythonhosted.org/packages/0e/b6/ec7b4a254abbe4cde9fa15c5d2cca4518f6b07d0f1b77d4ee9655e30280e/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f29c827a8d9936ac320746747a016c4bc66ef639f5cd0d32df24f5eacbf9c69f", + "url": "https://files.pythonhosted.org/packages/1f/3d/1ea04d7747825119c3c9a5e0874a40b33594ada92e5649347c457d982805/wrapt-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "3996a67eecc2c68fd47b4e3c564405a5777367adfd9b8abb58387b63ee83b21e", + "url": "https://files.pythonhosted.org/packages/2e/64/925f213fdcbb9baeb1530449ac71a4d57fc361c053d06bf78d0c5c7cd80c/wrapt-2.1.2.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "3278c471f4468ad544a691b31bb856374fbdefb7fee1a152153e64019379f015", + "url": "https://files.pythonhosted.org/packages/36/42/30f0f2cefca9d9cbf6835f544d825064570203c3e70aa873d8ae12e23791/wrapt-2.1.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "16997dfb9d67addc2e3f41b62a104341e80cac52f91110dece393923c0ebd5ca", + "url": "https://files.pythonhosted.org/packages/45/bb/34c443690c847835cfe9f892be78c533d4f32366ad2888972c094a897e39/wrapt-2.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "787fd6f4d67befa6fe2abdffcbd3de2d82dfc6fb8a6d850407c53332709d030b", + "url": "https://files.pythonhosted.org/packages/4c/7a/d936840735c828b38d26a854e85d5338894cda544cb7a85a9d5b8b9c4df7/wrapt-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4bdf26e03e6d0da3f0e9422fd36bcebf7bc0eeb55fdf9c727a09abc6b9fe472e", + "url": "https://files.pythonhosted.org/packages/5e/88/9a9b9a90ac8ca11c2fdb6a286cb3a1fc7dd774c00ed70929a6434f6bc634/wrapt-2.1.2-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "ff95d4264e55839be37bafe1536db2ab2de19da6b65f9244f01f332b5286cfbf", + "url": "https://files.pythonhosted.org/packages/68/a7/fd371b02e73babec1de6ade596e8cd9691051058cfdadbfd62a5898f3295/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a9dd9813825f7ecb018c17fd147a01845eb330254dff86d3b5816f20f4d6aaf8", + "url": "https://files.pythonhosted.org/packages/78/cc/ee3a011920c7a023b25e8df26f306b2484a531ab84ca5c96260a73de76c0/wrapt-2.1.2-cp313-cp313-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "76405518ca4e1b76fbb1b9f686cff93aebae03920cc55ceeec48ff9f719c5f67", + "url": "https://files.pythonhosted.org/packages/86/2d/9fe0095dfdb621009f40117dcebf41d7396c2c22dca6eac779f4c007b86c/wrapt-2.1.2-cp313-cp313t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "162e4e2ba7542da9027821cb6e7c5e068d64f9a10b5f15512ea28e954893a267", + "url": "https://files.pythonhosted.org/packages/93/b9/ff205f391cb708f67f41ea148545f2b53ff543a7ac293b30d178af4d2271/wrapt-2.1.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "6f8dbdd3719e534860d6a78526aafc220e0241f981367018c2875178cf83a413", + "url": "https://files.pythonhosted.org/packages/98/fd/e5ff7ded41b76d802cf1191288473e850d24ba2e39a6ec540f21ae3b57cb/wrapt-2.1.2-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a8914c754d3134a3032601c6984db1c576e6abaf3fc68094bb8ab1379d75ff92", + "url": "https://files.pythonhosted.org/packages/bb/67/d08672f801f604889dcf58f1a0b424fe3808860ede9e03affc1876b295af/wrapt-2.1.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "0fc04bc8664a8bc4c8e00b37b5355cffca2535209fba1abb09ae2b7c76ddf82b", + "url": "https://files.pythonhosted.org/packages/da/55/9c7052c349106e0b3f17ae8db4b23a691a963c334de7f9dbd60f8f74a831/wrapt-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2d3ff4f0024dd224290c0eabf0240f1bfc1f26363431505fb1b0283d3b08f11d", + "url": "https://files.pythonhosted.org/packages/e4/e5/2ca472e80b9e2b7a17f106bb8f9df1db11e62101652ce210f66935c6af67/wrapt-2.1.2-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + } + ], + "project_name": "wrapt", + "requires_dists": [ + "pytest; extra == \"dev\"", + "setuptools; extra == \"dev\"" + ], + "requires_python": ">=3.9", + "version": "2.1.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "abb65b4e947e958f7b3b0d71db3ce447d1bc5f37f5eab871ce7223bda8768a04", + "url": "https://files.pythonhosted.org/packages/35/29/1a95221a029a3c1293773869e1ab47b07cbbdd82444a42809e8c60156626/xxhash-3.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f14bb8b22a4a91325813e3d553b8963c10cf8c756cff65ee50c194431296c655", + "url": "https://files.pythonhosted.org/packages/03/fb/f1a379cbc372ae5b9f4ab36154c48a849ca6ebe3ac477067a57865bf3bc6/xxhash-3.7.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "8f4608a06e4d61b7a3425665a46d00e0579122e1a2fae97a0c52953a3aad9aa3", + "url": "https://files.pythonhosted.org/packages/07/f2/36d3310161db7f72efb4562aadde0ed429f1d0531782dd6345b12d2da527/xxhash-3.7.0-cp313-cp313t-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "c72500a3b6d6c30ebfc135035bcace9eb5884f2dc220804efcaaba43e9f611dd", + "url": "https://files.pythonhosted.org/packages/0b/0a/0793e405dc3cf8f4ebe2c1acec1e4e4608cd9e7e50ea691dabbc2a95ccbb/xxhash-3.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "43475925a766d01ca8cd9a857fd87f3d50406983c8506a4c07c4df12adcc867f", + "url": "https://files.pythonhosted.org/packages/0c/7e/721118ffc63bfff94aa565bcf2555a820f9f4bdb0f001e0d609bdfad70de/xxhash-3.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "ad37c7792479e49cf96c1ab25517d7003fe0d93687a772ba19a097d235bbe41e", + "url": "https://files.pythonhosted.org/packages/0d/3f/75937a5c69556ed213021e43cbedd84c8e0279d0d74e7d41a255d84ba4b1/xxhash-3.7.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "a3b19a42111c4057c1547a4a1396a53961dca576a0f6b82bfa88a2d1561764b2", + "url": "https://files.pythonhosted.org/packages/1c/47/ddbd683b7fc7e592c1a8d9d65f73ce9ab513f082b3967eee2baf549b8fc6/xxhash-3.7.0-cp313-cp313t-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3b6b3d28228af044ebcded71c4a3dd86e1dbd7e2f4645bf40f7b5da65bb5fb5a", + "url": "https://files.pythonhosted.org/packages/21/e6/d7e7baef7ce24166b4668d3c48557bb35a23b92ecadcac7e7718d099ab69/xxhash-3.7.0-cp313-cp313-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "dc026e3b89d98e30a8288c95cb696e77d150b3f0fb7a51f73dcd49ee6b5577fa", + "url": "https://files.pythonhosted.org/packages/22/29/f10d7ff8c7a733d4403a43b9de18c8fabc005f98cec054644f04418659ee/xxhash-3.7.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6cc4eefbb542a5d6ffd6d70ea9c502957c925e800f998c5630ecc809d6702bae", + "url": "https://files.pythonhosted.org/packages/24/2f/e183a1b407002f5af81822bee18b61cdb94b8670208ef34734d8d2b8ebe9/xxhash-3.7.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "91c3b07cf3362086d8f126c6aecd8e5e9396ad8b2f2219ea7e49a8250c318acd", + "url": "https://files.pythonhosted.org/packages/2a/6e/46b84017b1301d54091430353d4ad5901654a3e0871649877a416f7f1644/xxhash-3.7.0-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "c50269d0055ac1faecfd559886d2cbe4b730de236585aba0e873f9d9dadbe585", + "url": "https://files.pythonhosted.org/packages/2d/94/80ba841287fd97e3e9cac1d228788c8ef623746f570404961eec748ecb5c/xxhash-3.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "2220af08163baf5fa36c2b8af079dc2cbe6e66ae061385267f9472362dfd53c6", + "url": "https://files.pythonhosted.org/packages/34/04/fd595a4fd8617b05fa27bd9b684ecb4985bfed27917848eea85d54036d06/xxhash-3.7.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "151d7520838d4465461a0b7f4ae488b3b00de16183dd3214c1a6b14bf89d7fb6", + "url": "https://files.pythonhosted.org/packages/3a/6d/019a11affd5a5499137cacca53808659964785439855b5aa40dfd3412916/xxhash-3.7.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5886ad85e9e347911783760a1d16cb6b393e8f9e3b52c982568226cb56927bdc", + "url": "https://files.pythonhosted.org/packages/4a/2c/6763d5901d53ac9e6ba296e5717ae599025c9d268396e8faa8b4b0a8e0ac/xxhash-3.7.0-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "030c0fd688fce3569fbb49a2feefd4110cbb0b650186fb4610759ecfac677548", + "url": "https://files.pythonhosted.org/packages/4d/aa/09a095f22fdb9a27fbb716841fbff52119721f9ca4261952d07a912f7839/xxhash-3.7.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "6e934bbae1e0ec74e27d5f0d7f37ef547ce5ff9f0a7e63fb39e559fc99526734", + "url": "https://files.pythonhosted.org/packages/61/2b/876e722d533833f5f9a83473e6ba993e48745701096944e77bbecf29b2c3/xxhash-3.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "496736f86a9bedaf64b0dc70e3539d0766df01c71ea22032698e88f3f04a1ce9", + "url": "https://files.pythonhosted.org/packages/65/59/172424b79f8cfd4b6d8a122b2193e6b8ad4b11f7159bb3b6f9b3191329bb/xxhash-3.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "8d09dfd2ab135b985daf868b594315ebe11ad86cd9fea46e6c69f19b28f7d25a", + "url": "https://files.pythonhosted.org/packages/6e/18/16f6267160488b8276fd3d449d425712512add292ba545c1b6946bfdb7dd/xxhash-3.7.0-cp313-cp313t-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "3bb5fd680c038fd5229e44e9c493782f90df9bef632fd0499d442374688ff70b", + "url": "https://files.pythonhosted.org/packages/70/f5/736db5de387b4a540e37a05b84b40dc58a1ce974bfd2b4e5754ce29b68c3/xxhash-3.7.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "5b1bde10324f4c31812ae0d0502e92d916ae8917cad7209353f122b8b8f610c3", + "url": "https://files.pythonhosted.org/packages/74/8a/b745efeeca9e34a91c26fdc97ad8514c43d5a81ac78565cba80a1353870a/xxhash-3.7.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "1ad86695c19b1d46fe106925db3c7a37f16be37669dcf58dcc70a9dd6e324676", + "url": "https://files.pythonhosted.org/packages/77/d5/4fd0b59e7a02242953da05ff679fbb961b0a4368eac97a217e11dae110c1/xxhash-3.7.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "a6d73a830b17ef49bc04e00182bd839164c1b3c59c127cd7c54fcb10c7ed8ee8", + "url": "https://files.pythonhosted.org/packages/89/cc/c7dc6558d97e9ab023f663d69ab28b340ed9bf4d2d94f2c259cf896bb354/xxhash-3.7.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "503722d52a615f2604f5e7611de7d43878df010dc0053094ef91cb9a9ac3d987", + "url": "https://files.pythonhosted.org/packages/8a/5c/0cfceb024af90c191f665c7933b1f318ee234f4797858383bebd1881d52f/xxhash-3.7.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "e64a7c9d7dfca3e0fafcbc5e455519090706a3e36e95d655cec3e04e79f95aaa", + "url": "https://files.pythonhosted.org/packages/8b/91/1ce5a7d2fdc975267320e2c78fc1cecfe7ab735ccbcf6993ec5dd541cb2c/xxhash-3.7.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "c9b31ab1f28b078a6a1ac1a54eb35e7d5390deddd56870d0be3a0a733d1c321c", + "url": "https://files.pythonhosted.org/packages/8b/fd/778f60aa295f58907938f030a8b514611f391405614a525cccd2ffc00eb5/xxhash-3.7.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "6be4d70d9ab76c9f324ead9c01af6ff52c324745ea0c3731682a0cf99720f1fe", + "url": "https://files.pythonhosted.org/packages/92/fe/198b3763b2e01ca908f2154969a2352ec99bda892b574a11a9a151c5ede4/xxhash-3.7.0-cp313-cp313-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "1910df4756a5ab58cfad8744fc2d0f23926e3efcc346ee76e87b974abab922f4", + "url": "https://files.pythonhosted.org/packages/a1/7e/106d4067130c59f1e18a55ffadcd876d8c68534883a1e02685b29d3d8153/xxhash-3.7.0-cp313-cp313t-musllinux_1_2_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "970f9f8c50961d639cbd0d988c96f80ddf66006de93641719282c4fe7a87c5e6", + "url": "https://files.pythonhosted.org/packages/aa/fb/976a3165c728c7faf74aa1b5ab3cf6a85e6d731612894741840524c7d28c/xxhash-3.7.0-cp313-cp313-musllinux_1_2_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "0ff71596bd79816975b3de7130ab1ff4541410285a3c084584eeb1c8239996fd", + "url": "https://files.pythonhosted.org/packages/b9/19/aeac22161d953f139f07ba5586cb4a17c5b7b6dff985122803bb12933500/xxhash-3.7.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "d006faf3b491957efcb433489be3c149efe4787b7063d5cddb8ddaefdc60e0c1", + "url": "https://files.pythonhosted.org/packages/c5/86/a081dd30da71d720b2612a792bfd55e45fa9a07ac76a0507f60487473c25/xxhash-3.7.0-cp313-cp313t-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "50e879ebbac351c81565ca108db766d7832f5b8b6a5b14b8c0151f7190028e3d", + "url": "https://files.pythonhosted.org/packages/df/5e/8f9158e3ab906ad3fec51e09b5ea0093e769f12207bfa42a368ca204e7ab/xxhash-3.7.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "921c14e93817842dd0dd9f372890a0f0c72e534650b6ab13c5be5cd0db11d47e", + "url": "https://files.pythonhosted.org/packages/f3/29/a804ded9f5d3d3758292678d23e7528b08fda7b7e750688d08b052322475/xxhash-3.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + } + ], + "project_name": "xxhash", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "3.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0b3596c50a5c700c9cb40ba8d86d9f2cc4807e9bedb06bcdf7fac85633e444dc", + "url": "https://files.pythonhosted.org/packages/08/8a/0861bec20485572fbddf3dfba2910e38fe249796cb73ecdeb74e07eeb8d3/zipp-3.23.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "32120e378d32cd9714ad503c1d024619063ec28aad2248dc6672ad13edfa5110", + "url": "https://files.pythonhosted.org/packages/30/21/093488dfc7cc8964ded15ab726fad40f25fd3d788fd741cc1c5a17d78ee8/zipp-3.23.1.tar.gz" + } + ], + "project_name": "zipp", + "requires_dists": [ + "big-O; extra == \"test\"", + "furo; extra == \"doc\"", + "jaraco.functools; extra == \"test\"", + "jaraco.itertools; extra == \"test\"", + "jaraco.packaging>=9.3; extra == \"doc\"", + "jaraco.test; extra == \"test\"", + "jaraco.tidelift>=1.4; extra == \"doc\"", + "more_itertools; extra == \"test\"", + "pytest!=8.1.*,>=6; extra == \"test\"", + "pytest-checkdocs>=2.4; extra == \"check\"", + "pytest-cov; extra == \"cover\"", + "pytest-enabler>=2.2; extra == \"enabler\"", + "pytest-ignore-flaky; extra == \"test\"", + "pytest-mypy; extra == \"type\"", + "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"check\"", + "rst.linker>=1.9; extra == \"doc\"", + "sphinx-lint; extra == \"doc\"", + "sphinx>=3.5; extra == \"doc\"" + ], + "requires_python": ">=3.9", + "version": "3.23.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2bc388cebcb753d21eaf2a0481fd6f0ce6840a47300a40dcec0b56bac27d0f97", + "url": "https://files.pythonhosted.org/packages/27/67/96c94cd307f9946d0b0f03402a335f7aae7b4f0b129b5734cc56cc78cb65/zope_interface-8.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "36c575356732d59ffd3279ad67e302a6fe517e67db5b061b36b377ee0fa016c4", + "url": "https://files.pythonhosted.org/packages/25/f3/a16fe884571cfa89271412dbb40def6d6865824428d1e14785a82795100c/zope_interface-8.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "0d88c1f106a4f06e074a3ada2d20f4a602e3f2871c4f55726ed5d91e94ec19b1", + "url": "https://files.pythonhosted.org/packages/50/30/2011f17e00ff078658bc317e1f7eccd7843fc1ce60695b665b0a52c45c1b/zope_interface-8.4-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "29f09ec8bda65f7b30294328070070a2590b90f252f834ee0817cdb0e2c35f6a", + "url": "https://files.pythonhosted.org/packages/83/88/e08923fcd8a8c8704af05a90418b07cd897ac90865925b37d7ad8139adfa/zope_interface-8.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "cd55965d715413038774aead54851bc3dbdd74a69f3ce30252182a94407b9905", + "url": "https://files.pythonhosted.org/packages/8e/6a/a08c62bc1fa0e34fe7b8b401646cba4817427c716bfbef6cc88937cd327f/zope_interface-8.4-cp313-cp313-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9dbee7925a23aa6349738892c911019d4095a96cff487b743482073ecbc174a8", + "url": "https://files.pythonhosted.org/packages/9f/65/34a6e6e4dfa260c4c55ee02bb2fc53625e126ff0181485286cf0c9d453d6/zope_interface-8.4.tar.gz" + } + ], + "project_name": "zope-interface", + "requires_dists": [ + "Sphinx; extra == \"docs\"", + "coverage[toml]; extra == \"test\"", + "coverage[toml]; extra == \"testing\"", + "furo; extra == \"docs\"", + "repoze.sphinx.autointerface; extra == \"docs\"", + "zope.event; extra == \"test\"", + "zope.event; extra == \"testing\"", + "zope.testing; extra == \"test\"", + "zope.testing; extra == \"testing\"" + ], + "requires_python": ">=3.10", + "version": "8.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4f187a0bb61b35119d1926aee039524d1f93aaf38a9916b8c4b78ac8514a0aaf", + "url": "https://files.pythonhosted.org/packages/b2/e5/fbd822d5c6f427cf158316d012c5a12f233473c2f9c5fe5ab1ae5d21f3d8/zstandard-0.25.0-cp313-cp313-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fd7a5004eb1980d3cefe26b2685bcb0b17989901a70a1040d1ac86f1d898c551", + "url": "https://files.pythonhosted.org/packages/2b/95/fc5531d9c618a679a20ff6c29e2b3ef1d1f4ad66c5e161ae6ff847d102a9/zstandard-0.25.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "ec996f12524f88e151c339688c3897194821d7f03081ab35d31d1e12ec975e94", + "url": "https://files.pythonhosted.org/packages/35/0b/8df9c4ad06af91d39e94fa96cc010a24ac4ef1378d3efab9223cc8593d40/zstandard-0.25.0-cp313-cp313-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a1a4ae2dec3993a32247995bdfe367fc3266da832d82f8438c8570f989753de1", + "url": "https://files.pythonhosted.org/packages/3f/06/9ae96a3e5dcfd119377ba33d4c42a7d89da1efabd5cb3e366b156c45ff4d/zstandard-0.25.0-cp313-cp313-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "3a39c94ad7866160a4a46d772e43311a743c316942037671beb264e395bdd611", + "url": "https://files.pythonhosted.org/packages/4e/d5/ba05ed95c6b8ec30bd468dfeab20589f2cf709b5c940483e31d991f2ca58/zstandard-0.25.0-cp313-cp313-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "172de1f06947577d3a3005416977cce6168f2261284c02080e7ad0185faeced3", + "url": "https://files.pythonhosted.org/packages/50/d5/870aa06b3a76c73eced65c044b92286a3c4e00554005ff51962deef28e28/zstandard-0.25.0-cp313-cp313-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3c83b0188c852a47cd13ef3bf9209fb0a77fa5374958b8c53aaa699398c6bd7b", + "url": "https://files.pythonhosted.org/packages/5d/35/398dc2ffc89d304d59bc12f0fdd931b4ce455bddf7038a0a67733a25f550/zstandard-0.25.0-cp313-cp313-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "8e735494da3db08694d26480f1493ad2cf86e99bdd53e8e9771b2752a5c0246a", + "url": "https://files.pythonhosted.org/packages/63/4b/e3678b4e776db00f9f7b2fe58e547e8928ef32727d7a1ff01dea010f3f13/zstandard-0.25.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "bfc4e20784722098822e3eee42b8e576b379ed72cca4a7cb856ae733e62192ea", + "url": "https://files.pythonhosted.org/packages/6d/db/ddb11011826ed7db9d0e485d13df79b58586bfdec56e5c84a928a9a78c1c/zstandard-0.25.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "0be7622c37c183406f3dbf0cba104118eb16a4ea7359eeb5752f0794882fc250", + "url": "https://files.pythonhosted.org/packages/70/e8/2ec6b6fb7358b2ec0113ae202647ca7c0e9d15b61c005ae5225ad0995df5/zstandard-0.25.0-cp313-cp313-musllinux_1_2_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "5f5e4c2a23ca271c218ac025bd7d635597048b366d6f31f420aaeb715239fc98", + "url": "https://files.pythonhosted.org/packages/7b/01/b5f4d4dbc59ef193e870495c6f1275f5b2928e01ff5a81fecb22a06e22fb/zstandard-0.25.0-cp313-cp313-musllinux_1_2_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "1673b7199bbe763365b81a4f3252b8e80f44c9e323fc42940dc8843bfeaf9851", + "url": "https://files.pythonhosted.org/packages/9a/5c/36ba1e5507d56d2213202ec2b05e8541734af5f2ce378c5d1ceaf4d88dc4/zstandard-0.25.0-cp313-cp313-musllinux_1_2_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "e96594a5537722fdfb79951672a2a63aec5ebfb823e7560586f7484819f2a08f", + "url": "https://files.pythonhosted.org/packages/d9/14/933d27204c2bd404229c69f445862454dcc101cd69ef8c6068f15aaec12c/zstandard-0.25.0-cp313-cp313-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "457ed498fc58cdc12fc48f7950e02740d4f7ae9493dd4ab2168a47c93c31298e", + "url": "https://files.pythonhosted.org/packages/db/00/87466ea3f99599d02a5238498b87bf84a6348290c19571051839ca943777/zstandard-0.25.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "7713e1179d162cf5c7906da876ec2ccb9c3a9dcbdffef0cc7f70c3667a205f0b", + "url": "https://files.pythonhosted.org/packages/fd/aa/3e0508d5a5dd96529cdc5a97011299056e14c6505b678fd58938792794b1/zstandard-0.25.0.tar.gz" + } + ], + "project_name": "zstandard", + "requires_dists": [ + "cffi>=2.0.0b; (platform_python_implementation != \"PyPy\" and python_version >= \"3.14\") and extra == \"cffi\"", + "cffi~=1.17; (platform_python_implementation != \"PyPy\" and python_version < \"3.14\") and extra == \"cffi\"" + ], + "requires_python": ">=3.9", + "version": "0.25.0" + } + ], + "marker": null, + "platform_tag": null + } + ], + "only_builds": [], + "only_wheels": [], + "overridden": [], + "path_mappings": {}, + "pex_version": "2.66.0", + "pip_version": "24.2", + "prefer_older_binary": false, + "requirements": [ + "Deprecated==1.3.1", + "Django==6.0.5", + "Mastodon.py==2.2.1", + "atproto==0.0.65", + "autobahn==25.12.2", + "automat==25.4.16", + "boto3==1.43.8", + "botocore==1.43.8", + "cbor2==6.1.1", + "celery[redis]==5.6.3", + "cfgv==3.5.0", + "channels-redis==4.3.0", + "channels==4.3.2", + "constantly==23.10.4", + "coverage==7.14.0", + "cryptography==46.0.7", + "cssbeautifier==1.15.4", + "daphne==4.2.1", + "dj-database-url==3.1.2", + "dj-rest-auth==7.2.0", + "django-allauth==65.16.1", + "django-anymail==15.0", + "django-cors-headers==4.9.0", + "django-import-export==4.4.1", + "django-storages==1.14.6", + "django-stubs-ext==6.0.4", + "django-stubs==6.0.4", + "django-types==0.24.0", + "django-unfold==0.93.0", + "djangochannelsrestframework==1.3.0", + "djangorestframework-simplejwt==5.5.1", + "djangorestframework==3.17.1", + "djlint==1.36.4", + "dnspython==2.8.0", + "docutils==0.22.4", + "drf-nested-routers==0.95.0", + "drf-spectacular==0.29.0", + "drf-standardized-errors==0.16.0", + "editorconfig==0.17.1", + "feedparser==6.0.12", + "gunicorn==26.0.0", + "httpx==0.28.1", + "hyperlink==21.0.0", + "identify==2.6.19", + "incremental==24.11.0", + "inflection==0.5.1", + "jmespath==1.1.0", + "jsbeautifier==1.15.4", + "langchain-core==1.4.0", + "langchain-protocol==0.0.15", + "langgraph-checkpoint==4.1.0", + "langgraph-prebuilt==1.1.0", + "langgraph-sdk==0.3.14", + "langgraph==1.2.0", + "langsmith==0.8.4", + "libipld==3.3.2", + "librt==0.11.0", + "markdown==3.10.2", + "msgpack==1.1.2", + "nodeenv==1.10.0", + "opentelemetry-api>=1.41.1", + "opentelemetry-exporter-otlp-proto-http<2,>=1.41.1", + "opentelemetry-instrumentation-celery<1,>=0.62b1", + "opentelemetry-instrumentation-django<1,>=0.62b1", + "opentelemetry-sdk>=1.41.1", + "ormsgpack==1.12.2", + "pillow==12.2.0", + "praw==7.8.1", + "pre-commit==4.6.0", + "psycopg[binary]==3.3.4", + "py-ubjson==0.16.1", + "pyasn1-modules==0.4.2", + "pyasn1==0.6.3", + "pylint-django==2.7.0", + "pylint-plugin-utils==0.9.0", + "pyopenssl==26.2.0", + "pyright==1.1.409", + "pytest-django==4.12.0", + "pytest-mock==3.15.1", + "pytest==9.0.3", + "python-dotenv==1.2.2", + "qdrant-client==1.18.0", + "requests-toolbelt==1.0.0", + "ruff==0.15.13", + "s3transfer==0.17.0", + "sentence-transformers==5.5.0", + "service-identity==24.2.0", + "standardwebhooks==1.0.1", + "structlog==25.5.0", + "svix==1.93.0", + "twisted==26.4.0", + "txaio==25.12.2", + "types-Deprecated==1.3.1.20260508", + "types-psycopg2==2.9.21.20260509", + "types-python-dateutil==2.9.0.20260508", + "types-pyyaml==6.0.12", + "types-requests==2.33.0.20260508", + "ujson==5.12.1", + "uritemplate==4.2.0", + "uuid-utils==0.15.0", + "watchdog==6.0.0", + "websockets==15.0.1", + "wrapt==2.1.2", + "xxhash==3.7.0", + "zope-interface==8.4" + ], + "requires_python": [ + "CPython==3.13.*" + ], + "resolver_version": "pip-2020-resolver", + "style": "universal", + "target_systems": [ + "linux", + "mac" + ], + "transitive": true, + "use_pep517": null, + "use_system_time": false +} diff --git a/BUILD b/BUILD new file mode 100644 index 00000000..338caf5b --- /dev/null +++ b/BUILD @@ -0,0 +1,73 @@ +__defaults__( + { + (python_test_utils, python_tests): { + "dependencies": [ + "//:python", + "//content", + "//core", + "//digest_engine", + "//digest_engine/settings", + "//entities", + "//ingestion", + "//messaging", + "//newsletters", + "//notifications", + "//pipeline", + "//projects", + "//trends", + "//users", + ], + }, + } +) + +python_requirements( + name="python", + source="pyproject.toml", + module_mapping={ + "dj-database-url": ["dj_database_url"], + "dj-rest-auth": ["dj_rest_auth"], + "django-allauth": ["allauth"], + "django-anymail": ["anymail"], + "django-cors-headers": ["corsheaders"], + "django-import-export": ["import_export"], + "django-storages": ["storages"], + "django-stubs-ext": ["django_stubs_ext"], + "django-unfold": ["unfold"], + "djangochannelsrestframework": ["djangochannelsrestframework"], + "djangorestframework": ["rest_framework"], + "djangorestframework-simplejwt": ["rest_framework_simplejwt"], + "drf-nested-routers": ["rest_framework_nested"], + "drf-spectacular": ["drf_spectacular"], + "drf-standardized-errors": ["drf_standardized_errors"], + "Mastodon.py": ["mastodon"], + "pylint-django": ["pylint_django"], + "pylint-plugin-utils": ["pylint_plugin_utils"], + "psycopg": ["psycopg"], + "psycopg-binary": ["psycopg"], + "py-ubjson": ["ubjson"], + "python-dotenv": ["dotenv"], + "qdrant-client": ["qdrant_client"], + "sentence-transformers": ["sentence_transformers"], + "types-Deprecated": ["Deprecated"], + "types-psycopg2": ["psycopg2"], + "types-python-dateutil": ["dateutil"], + "types-pyyaml": ["yaml"], + "types-requests": ["requests"], + "uuid-utils": ["uuid_utils"], + }, + type_stubs_module_mapping={ + "django-stubs": ["django"], + }, + overrides={ + "django-types": {"modules": ["django_types"]}, + }, +) + +python_sources( + name="root", +) + +python_test_utils( + name="test_utils0", +) diff --git a/INTEGRATIONS.md b/INTEGRATIONS.md new file mode 100644 index 00000000..2fb7f938 --- /dev/null +++ b/INTEGRATIONS.md @@ -0,0 +1,36 @@ +# Integrations + +## Third-Party + +- Slack +- Zapier +- HubSpot +- Mailchimp +- WordPress +- HootSuite +- Webflow +- Wix.com +- Squarespace +- Chrome extension - Easily add articles that you and your team discover during their day-to-day browsing to an UpContent Collection. +- Salesforce +- Proofpoint - Remove the friction for delivering compelling content caused by the need for brand and regulator compliance by automatically checking the full text of all curated articles against your firm's unique compliance and brand hygiene requirements. +- Yext - Automatically source and filter eternal articles that your team will want to share with their thoughts - while adhering to your brand and industry compliance requirements. +- Other URL shorteners - Bit.ly, Firebase, Feedly +- Buffer - Social media management platform to build, schedule, and publish content across multiple social media networks from a single dashboard. +- Sniply - Conversion-focused link shortener. It lets you share third-party content (e.g., an article on Forbes) and automatically embed your own custom call-to-action (CTA) popup overlay on top of that page. +- Make - like Zapier +- Google Drives +- Dropbox +- n8n - like Zapier and Make + + + +## Ingestion + +- Bluesky +- Mastodon +- RSS +- Email +- Reddit + +Need a crawler, where you can add a URL for sites that don't have RSS or it's not maintained \ No newline at end of file diff --git a/README.md b/README.md index f7b8725f..02f5abe0 100644 --- a/README.md +++ b/README.md @@ -9,20 +9,24 @@ The system is organized into projects: each newsletter project has its own track ## Local Development > [!IMPORTANT] -> To run this project locally, you will need Docker Compose installed to manage the backend services. +> To run this project locally, you will need Docker Compose installed to manage the backend services. Fresh clones should also use `uv` for the backend environment, `pants` for backend lint/type/test, and `just` for repo tasks. + +### Fresh Clone Bootstrap + +- Linux and macOS: run `./scripts/bootstrap_dev.sh` from the repo root. The script installs `uv` and `pants` if either is missing, syncs the locked Python environment, installs the frontend dependencies, and sets up git hooks. +- Windows: install `uv`, `pants`, and `just`, then run `just install` from the repo root. **Linux:** ```bash +# After cloning +./scripts/bootstrap_dev.sh + # Terminal 1 -python3 -m venv .venv -source .venv/bin/activate -just install just build just dev # Terminal 2 -source .venv/bin/activate just seed xdg-open http://localhost:8080/ ``` @@ -30,15 +34,14 @@ xdg-open http://localhost:8080/ **macOS:** ```bash +# After cloning +./scripts/bootstrap_dev.sh + # Terminal 1 -python3 -m venv .venv -source .venv/bin/activate -just install just build just dev # Terminal 2 -source .venv/bin/activate just seed open http://localhost:8080/ ``` @@ -46,15 +49,15 @@ open http://localhost:8080/ **Windows PowerShell:** ```powershell -# Terminal 1 -py -m venv .venv -.\.venv\Scripts\Activate.ps1 +# After cloning +uv python install 3.13 just install + +# Terminal 1 just build just dev # Terminal 2 -.\.venv\Scripts\Activate.ps1 just seed Start-Process http://localhost:8080/ ``` @@ -95,7 +98,11 @@ kubectl port-forward svc/digest-engine-digest-engine-nginx 8080:80 - `just k8s-build-minikube`: Builds the app image and loads it into Minikube. - `just k8s-install-minikube`: Installs or upgrades the local Helm release in Minikube. -For full workflows and troubleshooting, see [docs/developer-guide/local-development.md](docs/developer-guide/local-development.md). +Host-side backend quality commands now split responsibilities between `uv` and `pants`: + +- `uv sync --frozen` provisions the shared local Python environment from `uv.lock`. +- `pants lint`, `pants check`, and `pants test` drive backend linting, Pyright typechecking, and pytest execution through the Pants target graph. +- `just backend-lint` and `just backend-test` wrap that split so the repo-level task entrypoints stay stable. ## What This Does That Existing Tools Don't diff --git a/content/BUILD b/content/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/content/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/content/migrations/BUILD b/content/migrations/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/content/migrations/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/content/tests/BUILD b/content/tests/BUILD new file mode 100644 index 00000000..dabf212d --- /dev/null +++ b/content/tests/BUILD @@ -0,0 +1 @@ +python_tests() diff --git a/core/BUILD b/core/BUILD new file mode 100644 index 00000000..276d670b --- /dev/null +++ b/core/BUILD @@ -0,0 +1,3 @@ +python_sources( + dependencies=["//skills:assets"], +) diff --git a/core/llm.py b/core/llm.py index 86fabfcb..37164c4d 100644 --- a/core/llm.py +++ b/core/llm.py @@ -80,7 +80,7 @@ def openrouter_chat_json( def get_skill_definition(skill_name: str) -> SkillDefinition: """Load a skill definition from the repository skill markdown directory.""" - skill_path = Path(__file__).resolve().parent.parent / "skills" / skill_name / "SKILL.md" + skill_path = get_skill_resource_path(skill_name, "SKILL.md") raw_text = skill_path.read_text(encoding="utf-8") frontmatter, body = _split_frontmatter(raw_text) name = frontmatter.get("name", skill_name).strip() or skill_name @@ -96,6 +96,17 @@ def get_skill_definition(skill_name: str) -> SkillDefinition: ) +def get_skill_resource_path(skill_name: str, *relative_parts: str) -> Path: + """Return the repository path for a runtime skill resource.""" + + return ( + Path(__file__).resolve().parent.parent + / "skills" + / skill_name + / Path(*relative_parts) + ) + + def build_skill_user_prompt(skill_name: str, inputs: dict[str, Any]) -> str: """Render a consistent user prompt from a skill's declared input fields.""" diff --git a/core/management/BUILD b/core/management/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/core/management/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/core/management/commands/BUILD b/core/management/commands/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/core/management/commands/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/core/migrations/BUILD b/core/migrations/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/core/migrations/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/core/permissions.py b/core/permissions.py index 2b321d70..f6f9c729 100644 --- a/core/permissions.py +++ b/core/permissions.py @@ -10,14 +10,14 @@ if TYPE_CHECKING: - class PermissionBase: + class PermissionBase(permissions.BasePermission): """Typed shim for DRF permissions whose default methods return bool.""" def has_permission(self, request, view) -> bool: - pass + raise NotImplementedError() def has_object_permission(self, request, view, obj) -> bool: - pass + raise NotImplementedError() else: PermissionBase = permissions.BasePermission diff --git a/core/pipeline.py b/core/pipeline.py index 2a04d688..ba3db59c 100644 --- a/core/pipeline.py +++ b/core/pipeline.py @@ -9,6 +9,7 @@ import logging import re +import warnings from datetime import timedelta from functools import lru_cache, wraps from typing import Any, Callable, Literal, TypedDict, cast @@ -16,7 +17,6 @@ from django.conf import settings from django.db.models import F, Model from django.utils import timezone -from langgraph.graph import END, StateGraph from content.deduplication import canonicalize_url from content.models import Content, ContentPipelineState @@ -47,6 +47,29 @@ logger = logging.getLogger(__name__) + +def _load_langgraph_graph() -> tuple[Any, Any]: + """Import LangGraph graph primitives with the upstream warning filtered. + + LangGraph currently constructs a Reviver without an explicit + ``allowed_objects`` setting during import, which emits a pending deprecation + warning upstream. + """ + + from langchain_core._api.deprecation import LangChainPendingDeprecationWarning + + with warnings.catch_warnings(): + warnings.filterwarnings( + "ignore", + message=r"The default value of `allowed_objects` will change in a future version\..*", + category=LangChainPendingDeprecationWarning, + module=r"langgraph\.cache\.base(?:\..*)?", + ) + from langgraph.graph import END, StateGraph + + return END, StateGraph + + DEDUPLICATION_SKILL_NAME = "deduplication" CLASSIFICATION_SKILL_NAME = "content_classification" ENTITY_EXTRACTION_SKILL_NAME = "entity_extraction" @@ -174,6 +197,8 @@ def get_ingestion_graph(): routes the item to summarization, archival, or human review. """ + END, StateGraph = _load_langgraph_graph() + graph = StateGraph(PipelineState) graph.add_node("deduplicate", cast(Any, deduplicate_node)) graph.add_node("classify", cast(Any, classify_node)) diff --git a/core/tests/BUILD b/core/tests/BUILD new file mode 100644 index 00000000..6b4d771b --- /dev/null +++ b/core/tests/BUILD @@ -0,0 +1,13 @@ +python_sources() + +python_tests( + name="tests0", + overrides={ + "test_bootstrap_live_sources.py": { + "dependencies": ["//core/management/commands:commands"], + }, + "test_embeddings.py": { + "dependencies": ["//core/management/commands:commands"], + }, + }, +) diff --git a/deploy/argocd/newsletter-maker-staging-application.yaml b/deploy/argocd/digest-engine-staging-application.yaml similarity index 100% rename from deploy/argocd/newsletter-maker-staging-application.yaml rename to deploy/argocd/digest-engine-staging-application.yaml diff --git a/digest_engine/BUILD b/digest_engine/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/digest_engine/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/digest_engine/settings/BUILD b/digest_engine/settings/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/digest_engine/settings/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/docker/web/Dockerfile b/docker/web/Dockerfile index e4576725..121370a6 100644 --- a/docker/web/Dockerfile +++ b/docker/web/Dockerfile @@ -1,18 +1,25 @@ FROM python:3.13-slim ENV PYTHONDONTWRITEBYTECODE=1 \ - PYTHONUNBUFFERED=1 + PYTHONUNBUFFERED=1 \ + PATH="/app/.venv/bin:/root/.local/bin:${PATH}" + +ARG UV_VERSION=0.8.17 WORKDIR /app RUN apt-get update \ + && apt-get upgrade --yes \ && apt-get install --yes --no-install-recommends build-essential curl libpq-dev \ && rm -rf /var/lib/apt/lists/* -COPY requirements.txt ./ RUN --mount=type=cache,target=/root/.cache/pip \ pip install --upgrade pip && \ - pip install -r requirements.txt + pip install uv==${UV_VERSION} + +COPY .python-version pyproject.toml uv.lock ./ +RUN --mount=type=cache,target=/root/.cache/uv \ + uv sync --frozen --no-dev COPY . . diff --git a/docs/admin-guide/backups-and-retention.md b/docs/admin-guide/backups-and-retention.md deleted file mode 100644 index 731d6a50..00000000 --- a/docs/admin-guide/backups-and-retention.md +++ /dev/null @@ -1,21 +0,0 @@ -# Backups and Retention - -## Postgres Backup -Back up Postgres using standard `pg_dump`: -```bash -docker compose exec postgres pg_dump -U newsletter digest_engine > backup.sql -``` - -## Qdrant Snapshot -Qdrant manages internal snapshots. See Qdrant Snapshot API documentation for exporting raw vector archives. Otherwise, vector data can be entirely reconstructed from Postgres text if necessary (though it costs API tokens to recalculate). - -## Observability Retention Windows -To prevent unbound DB growth, old logs and task runs are deleted according to: -- `OBSERVABILITY_SNAPSHOT_RETENTION_DAYS` (default 90) -- `OBSERVABILITY_TREND_TASK_RUN_RETENTION_DAYS` (default 30) - -## Restore Drill -To restore the platform: -1. `docker compose down -v` -2. Restore Postgres DB volume. -3. Bring system up. (If Qdrant is empty, trigger an embedding backfill from Postgres text). diff --git a/docs/admin-guide/configuration.md b/docs/admin-guide/configuration.md deleted file mode 100644 index a32d31c6..00000000 --- a/docs/admin-guide/configuration.md +++ /dev/null @@ -1,47 +0,0 @@ -# Configuration - -See the [Tunables Reference](../reference/tunables.md) for the exact list of algorithms and thresholds. - -## Required vs Optional Variables - -**Required**: - -* `DATABASE_URL`, `REDIS_URL`, `QDRANT_URL`, `SECRET_KEY`, `NEWSLETTER_PUBLIC_URL`. - -**Optional but critical for AI**: - -* `OPENROUTER_API_KEY` (Required for relevance tie-breaking and categorization). - -## Secrets Handling - -* In Docker Compose: Loaded tightly from the `.env` file mapped securely to the container. -* In Kubernetes: Expected to be mapped into the Pod `env` spec via Secrets. - -## Internal vs Public URLs - -Due to container networking: - -* `NEWSLETTER_API_INTERNAL_URL` (Internal) should reference inner hostnames like `http://nginx` when the frontend talks to the backend over a private Docker or Kubernetes network. -* `NEWSLETTER_PUBLIC_URL` (Public) should point to your real FQDN (e.g. `https://news.mydomain.com`) used in emails. - -For local Docker Compose development, the default split is usually: - -* `NEWSLETTER_API_INTERNAL_URL=http://nginx` -* `NEWSLETTER_PUBLIC_URL=http://127.0.0.1:8080` - -## Email Provider (Anymail) - -Newsletter intake relies on Resend webhooks and Django Anymail forwarding. -Configured via: - -* `RESEND_API_KEY` -* `RESEND_INBOUND_SECRET` -* `DEFAULT_FROM_EMAIL` - -## LLM Provider Routing - -Select between `local`, `ollama` or remote providers using `EMBEDDING_PROVIDER`. Set URLs correctly to point to either the internal container (`http://ollama:11434`) or external APIs (`https://api.openai.com/v1`). - -## OAuth Provider Toggles - -If `LINKEDIN_CLIENT_ID` or `REDDIT_CLIENT_ID` are present, their respective capabilities light up dynamically in the application. diff --git a/docs/admin-guide/installation.md b/docs/admin-guide/installation.md deleted file mode 100644 index 81533d63..00000000 --- a/docs/admin-guide/installation.md +++ /dev/null @@ -1,31 +0,0 @@ -# Installation - -## Minimum Requirements -* 4 CPU Cores (8 recommended if running Ollama locally). -* 8 GB RAM (16GB recommended if running Ollama locally). -* Postgres 14+, Redis 7+. - -## Docker Compose Path -The easiest way to stand up a single VPS is Docker Compose: -1. Clone the repository. -2. Copy `.env.example` to `.env` and fill in secrets. -3. Run `docker compose build`. -4. Run `docker compose up -d`. -5. Run migrations: `docker compose exec django python manage.py migrate`. - -## Helm + ArgoCD Path -For Kubernetes usage, an ArgoCD App configuration lives in `deploy/argocd` pointing to the Helm chart in `deploy/helm`. Configure your values file with the required secrets (or rely on ExternalSecrets). - -## First-Run Checklist -1. Ensure containers are healthy (`docker compose ps`). -2. Run database migrations. -3. Create the superuser (see below). -4. Run `docker compose exec django python manage.py bootstrap_live_sources` to seed default RSS/Reddit connections. - -## Creating the First Superuser -```bash -docker compose exec django python manage.py createsuperuser -``` - -## Smoke Test -Log into the dashboard. Go to settings and add an RSS feed. If the `Ingestion Settings` page shows health check successes within 5 minutes, Celery, Postgres, and the Network are functional. diff --git a/docs/admin-guide/operations.md b/docs/admin-guide/operations.md deleted file mode 100644 index d3f1220d..00000000 --- a/docs/admin-guide/operations.md +++ /dev/null @@ -1,24 +0,0 @@ -# Operations - -## Daily/Weekly Health Checks -* Check Celery Beat logs to see if scheduled ticks are executing. -* Look for `429 Too Many Requests` in your API provider logs (OpenRouter). - -## Celery Beat & Worker Monitoring -Use Celery Flower (if enabled in Compose) or monitor queue depth in Redis length. - -## Qdrant Collection Health -Ensure Qdrant is snapshotting to disk and not constantly OOM-killed. If it runs out of memory, increase VPS limits. - -## Embeddings Backfill -If you switch embedding providers (e.g., moving from `local` to `openai`), previous cosine scores are invalidated. You must run a backfill management command to rewrite all `Content` vectors. - -## Re-running Pipeline -If LLM failures occurred due to an outage: -Go to Django Admin -> `PipelineRun` -> select failed items and re-trigger. - -## Clearing Stuck Items -Use the `ReviewQueue` in the Next.js frontend to clear items the LLM had zero confidence about. - -## Messaging/Channels Health -If real-time notifications fail, verify Daphne is alive and the `REDIS_URL` matches the Channels configuration. diff --git a/docs/admin-guide/overview.md b/docs/admin-guide/overview.md deleted file mode 100644 index 1728d120..00000000 --- a/docs/admin-guide/overview.md +++ /dev/null @@ -1,26 +0,0 @@ -# Admin Overview - -Welcome to the operator's manual for Digest Engine. This guide is assuming you are running the system, not writing code for it. - -## Component Map -* **Django (API & Workers)**: Python core running the REST API. -* **Celery Worker**: Asynchronous task runner for LangGraph skills and entity extraction. -* **Celery Beat**: Cron scheduler for trend gathering and fetching RSS/Reddit plugins. -* **PostgreSQL**: Holds all standard application state and configuration. -* **Redis**: Acts as the message broker for Celery and the WebSockets channel layer. -* **Qdrant**: The Vector Database storing the high-dimensional embeddings for Cosine relevance calculations. -* **Ollama** (Optional): A containerized local LLM server for generating embeddings locally without paying OpenAI/OpenRouter. -* **Nginx**: Reverse proxy to route `/api/` traffic to Django and `/` traffic to Next.js. -* **Next.js**: The frontend App Router. - -## Request Path -Browser -> Nginx -> Next.js (for HTML) -> Nginx -> Django Gunicorn -> Postgres. - -## Ingestion Path -Beat triggers fetch -> Celery Worker -> Fetches RSS array -> Django DB -> Triggers Embedding -> Saves to Qdrant -> Enqueues LangGraph Pipeline -> Celery Worker Executes Skills. - -## AI Pipeline Path -Orchestrated by LangGraph inside a Celery task. Calls out to the specific `OPENROUTER_API_BASE` or Local Ollama instance. State transitions are saved continuously to Postgres mapping to `SkillResult`s. - -## Realtime Path -Browser -> Nginx (WebSocket Upgrade) -> Django Daphne ASGI -> Redis `CHANNEL_LAYER` -> Broadcast to users. diff --git a/docs/admin-guide/sources-and-allowlist.md b/docs/admin-guide/sources-and-allowlist.md deleted file mode 100644 index cc5a409b..00000000 --- a/docs/admin-guide/sources-and-allowlist.md +++ /dev/null @@ -1,29 +0,0 @@ -# Sources and Allowlist - -Administrators must babysit the influx of content to keep the system healthy. - -## Per-Plugin Config -* **RSS**: Relies purely on outbound GET fetches. -* **Reddit / Bluesky / Mastodon**: Relies entirely on their respective API limitations. If you hit 429 Too Many Requests, throttle the polling intervals. - -## Health Check Semantics -Plugins record timestamped failures into `IngestionRun`. If an ingestion source fails 5 times consecutively, the frontend highlights it in red. - -## Bootstrap Live Sources -You can instantly seed a fresh database with: -```bash -docker compose exec django python manage.py bootstrap_live_sources -``` - -## Intake Allowlist Lifecycle -When you forward a newsletter to your ingest address: -1. `Pending`: The system receives the email but quarantines it. -2. `Confirmation Sent`: The system emails the sender back with a one-time link. -3. `Confirmed`: The user clicks the link. Their address is now Trusted. -4. `Expired`: Stalled after 7 days. - -## Revoking Senders -If a newsletter breaks or creates spam, remove it via the Django Admin panel under `newsletters.IntakeAllowlist`. - -## Investigating Dropped Subscriptions -Check the `NewsletterIntake` model in Django admin. Emails that fail to parse HTML correctly record their Stack Traces there. diff --git a/docs/admin-guide/troubleshooting.md b/docs/admin-guide/troubleshooting.md deleted file mode 100644 index a37852cb..00000000 --- a/docs/admin-guide/troubleshooting.md +++ /dev/null @@ -1,25 +0,0 @@ -# Troubleshooting - -## No Content Appearing -* Check Celery Beat: Are tasks scheduling? -* Check Celery Worker: Are tasks crashing? -* Check `SourceConfig`: Are there active integrations? - -## Newsletters Never Confirm -* Ensure `RESEND_API_KEY` is valid. -* Ensure `NEWSLETTER_PUBLIC_URL` is set to an address routing correctly to the Reverse Proxy, or else the generated links in the emails will point to `127.0.0.1` and fail. - -## Relevance Scores Near Zero -* If all scores sit at 0.1, the Qdrant `is_reference=True` corpus is either empty or entirely corrupted. Tag at least 5 articles as explicitly "Reference Quality" to set a project boundary. - -## Qdrant Search Returns Nothing -* Connect to Qdrant UI mapping on port `6333`. Ensure the collections exist and match the `EMBEDDING_PROVIDER` token sizes. - -## Embeddings Worker Idle -* Double check `OLLAMA_URL` network resolution if running local containers. - -## Pipeline Stuck -* Review `SkillResult` tables in Postgres for unhandled tracebacks. - -## Messaging Not Delivering -* Ensure Daphne ASGI is handling traffic and isn't overridden by WSGI Gunicorn blocks inside `nginx/conf.d`. diff --git a/docs/admin-guide/users-and-access.md b/docs/admin-guide/users-and-access.md deleted file mode 100644 index 9f0f2559..00000000 --- a/docs/admin-guide/users-and-access.md +++ /dev/null @@ -1,20 +0,0 @@ -# Users and Access - -## Account Creation Paths -1. Standard Username/Password (Local). -2. LinkedIn OAuth (If configured via `LINKEDIN_CLIENT_ID`). - -## Project Membership Model -We do not use standard Django Groups for multi-tenancy. Access is strictly mapped via `ProjectMembership` with explicit Roles: `admin`, `member`, `reader`. - -## Django Groups and Roles -Django `Group` and `Permission` models are retained ONLY for granting staff/Superuser global abilities (e.g., viewing standard Django Admin), NOT for managing newsletter workspaces. - -## Service Accounts -If you need scripts to push data, you can generate a Long Lived API token attached to a standard User account flagged programmatically. - -## LinkedIn OAuth Admin Steps -To enable LinkedIn SSO: -1. Create a LinkedIn Developer Application. -2. Whitelist your `NEWSLETTER_PUBLIC_URL/api/v1/auth/linkedin/callback` endpoint. -3. Inject the ID and Secret into your `.env` configuration. diff --git a/docs/developer-guide/architecture.md b/docs/developer-guide/architecture.md deleted file mode 100644 index 6b682321..00000000 --- a/docs/developer-guide/architecture.md +++ /dev/null @@ -1,32 +0,0 @@ -# Architecture - -This document maps the flow of data and requests through the Digest Engine platform. - -## Sync Request Path -Standard API requests (e.g., fetching content, editing entity thresholds) follow a standard synchronous Django flow: -1. **Nginx** terminates SSL and proxies the request to the Gunicorn WSGI worker. -2. **Django & DRF** authenticate the request (session or token). -3. The ViewSet enforces project scoping via `ProjectOwnedQuerysetMixin`. -4. State is read/written to **PostgreSQL**. - -## Async Path -Real-time features, like the messaging drawer, use WebSockets: -1. **Nginx** upgrades the connection and routes to Daphne (ASGI). -2. **Django Channels** accepts the WebSocket. -3. Broadcasts and channel layers are coordinated via **Redis**. - -## Ingestion Path -How articles enter the system: -1. **Celery Beat** runs scheduled cron jobs (e.g., `core.tasks.fetch_rss`). -2. The task queries `SourceConfig` and invokes the matching `SourcePlugin` (e.g., `RssPlugin`). -3. Raw items are parsed. Novel items are passed to the `embeddings` module. -4. Text is passed to the configured embedding provider (`local`, `ollama`, or `openai`). -5. The `Content` record is saved to Postgres, and the Vector is pushed to **Qdrant**. -6. The item is queued into the LangGraph pipeline. - -## LangGraph Orchestration Overview -The AI Pipeline is managed as a State Graph (see [Pipeline](../reference/pipeline.md)). A Celery worker processes each node. If an LLM call fails, the node emits an error state, and the graph gracefully terminates or routes the item to a `ReviewQueue`. - -## Frontend Rendering & Data Fetching -* The Next.js 15 App Router utilizes both Server Components (for initial page loads) and Client Components. -* **TanStack React Query** manages client-side data fetching and caching against the Django DRF endpoints. diff --git a/docs/developer-guide/backend-conventions.md b/docs/developer-guide/backend-conventions.md deleted file mode 100644 index 770128be..00000000 --- a/docs/developer-guide/backend-conventions.md +++ /dev/null @@ -1,28 +0,0 @@ -# Backend Conventions - -## Project Scoping Invariants -Because this is a multi-project (not tenant) system, data leakage is the worst possible bug. -* Almost all ViewSets must inherit from `ProjectOwnedQuerysetMixin`. -* URLs are nested: `/api/v1/projects/{project_id}/...`. -* The `project_id` must be explicitly verified when linking related objects via Foreign Key in serializers. - -## DRF Patterns -* Keep views and viewsets extremely thin. -* Put operational logic in `core/tasks.py`, `core/pipeline.py`, or application-specific helpers like `newsletters/intake.py`. -* Pass the `project` object via `serializer.context` during creation overrides. - -## Code Placement -Do not dump everything into `core/`. -If you are adding functionality for trend clustering, it belongs in `trends/`. If you are adding a new ingestion source, it belongs in `ingestion/`. `core/` is exclusively for plumbing (auth, WSGI, abstract models, LLM wrappers). - -## Plugin Interface -All sources must implement the `SourcePlugin` interface, keeping `fetch()` operations standardized whether they connect to RSS, Reddit, or Bluesky. - -## Celery Task Conventions -Always pass database IDs (e.g., `content_id`), not serialized ORM objects, as arguments to Celery tasks. - -## drf-spectacular Schema Metadata -If you change an API return shape, use `@extend_schema` to update the type hints so the OpenAPI spec remains accurate. - -## Docstring Rules -Follow Google-style docstrings with PEP 257 conventions. Add docstrings to modules, public classes, and public functions. Skip obvious one-liners. diff --git a/docs/developer-guide/contributing.md b/docs/developer-guide/contributing.md deleted file mode 100644 index bc271ce7..00000000 --- a/docs/developer-guide/contributing.md +++ /dev/null @@ -1,18 +0,0 @@ -# Contributing - -## Branch Naming -Standard `feature/`, `bugfix/`, or `chore/` prefixes. - -## Commit-Time Validation -You are expected to pass formatting and linting locally. Run: -```bash -just lint -``` -This runs `ruff`, `mypy`, `eslint`, and typechecks via `tsc`. - -## Instruction Files -This repository uses contextual instruction files to guide AI code generation natively in VS Code. If you are changing a core pattern, update the relevant file in `.github/instructions/`. - -## Skills System -We maintain discrete prompt-files for LLM features under `skills/`. -If you are modifying how an AI feature works, edit the `SKILL.md` file rather than burying prompt text in Python strings. See `docs/reference/skills.md` for more info. diff --git a/docs/developer-guide/deployment.md b/docs/developer-guide/deployment.md deleted file mode 100644 index fa3bb4b9..00000000 --- a/docs/developer-guide/deployment.md +++ /dev/null @@ -1,59 +0,0 @@ -# Deployment - -## just build Contract - -The `just build` target makes zero assumptions about the environment file. It uses `DOCKER_BUILDKIT=0` to ensure legacy build isolation and host image cache utilization. No `.env` copies are made during build time. - -## Docker Compose - -Used primarily for local testing and running the application on a single VPS. See [Admin Installation](../admin-guide/installation.md) for details. - -## Helm Chart Layout - -For Kubernetes deployments, a reusable Helm chart sits in `deploy/helm/`. - -## Minikube Quick Start - -Use this path when you want to run the stack on a local Kubernetes cluster instead of Docker Compose. - -Prerequisites: - -- `minikube` -- `kubectl` -- `helm` - -Start Minikube and deploy the chart: - -```bash -minikube start -just k8s-build-minikube -just helm-lint -just helm-template -just k8s-install-minikube -``` - -Forward the Nginx service locally: - -```bash -kubectl port-forward svc/digest-engine-digest-engine-nginx 8080:80 -``` - -Then open in your browser. - -To remove the local release: - -```bash -just k8s-uninstall-minikube -``` - -## ArgoCD Application - -We maintain an ArgoCD application manifest in `deploy/argocd/` to support GitOps continuous delivery. - -## Staging Overlay - -Staging branches utilize encrypted / sealed secrets (or external secret operators) pushed into the cluster. - -## Prometheus ServiceMonitor - -If deployed alongside the `kube-prometheus-stack`, the chart deploys a `ServiceMonitor` to scrape port 8000 for Django metrics exposed by `django-prometheus`. diff --git a/docs/developer-guide/frontend-conventions.md b/docs/developer-guide/frontend-conventions.md deleted file mode 100644 index a3e306a9..00000000 --- a/docs/developer-guide/frontend-conventions.md +++ /dev/null @@ -1,27 +0,0 @@ -# Frontend Conventions - -## App Router Layout -* `app/`: Next.js page components, layouts, and route handlers. -* `components/`: UI pieces, divided into: - * `elements/`: App-owned smart components that combine primitives with project logic. - * `layout/`: Shared navigation and page chrome. - * `ui/`: Raw `shadcn/ui` installed components. **Do not modify these unless absolutely necessary.** -* `providers/`: Context wrappers (theme, query client). -* `lib/`: API fetchers, types, and hooks. - -## Components Structure -For components in `elements/` or `layout/`: -Let the folder carry the name, e.g., `components/elements/UserAvatar/`. -Inside, use: -* `index.tsx` -* `index.test.tsx` -* `index.stories.tsx` -**Do not use barrel `index.ts` files** to simply re-export unless architecturally required. - -## Shared Types and API -* Shared backend-facing types live in `frontend/src/lib/types.ts`. -* Data requests live in `frontend/src/lib/api.ts`. -* **Preserve `snake_case`**: Do not arbitrarily convert the backend's `snake_case` properties into `camelCase` on the frontend. Consume them as they arrive to keep grepping simple. - -## Test-with-the-Change Rule -When you add a route, component, or helper, you must write or update the colocated `.test.tsx` Vitest file in the same PR. diff --git a/docs/developer-guide/local-development.md b/docs/developer-guide/local-development.md deleted file mode 100644 index 12facd72..00000000 --- a/docs/developer-guide/local-development.md +++ /dev/null @@ -1,43 +0,0 @@ -# Local Development - -Digest Engine uses a **two-workflow split** to isolate fast local iteration from full full-stack fidelity. - -## The Two-Workflow Split -1. **Host-Side Track**: Used for fast linting, typechecking, and unit tests WITHOUT spinning up Docker. -2. **Docker Track**: Used for running the application, seeing the UI, background workers, and Postgres. - -## Host-Side Track -When you run commands on your local OS (e.g., `just lint`, `just test`, `just frontend-lint`): -- Django reads from `.env.test`. -- `DATABASE_URL` defaults to `sqlite:///:memory:` for instantaneous migrations/tests. -- No Redis or Qdrant is required for basic unit test stubs. - -## Docker Track -When you want to run the app: -```bash -just build -just dev -``` - -`just dev` runs the full Docker Compose stack in the foreground and keeps streaming service logs. Leave it running in the first terminal. - -Open a second terminal for follow-up commands against the running stack: -```bash -source .venv/bin/activate -just seed -``` - -After seeding completes, open in your browser. - -## Celery Beat Schedule -The Celery beat schedule file (`celerybeat-schedule`) is written to `.cache/` to prevent dirtying the project root or colliding between host/container environments. - -## Frontend Dev Loop -For iterating purely on the Next.js app while the backend runs in Docker: -```bash -cd frontend && npm run dev -``` - -## When to Use Which Workflow -* **Writing code, running tests, checking types**: Host-side (`just lint`, `just test`). -* **Testing LLMs, seeing the UI, testing ingestion, full pipelines**: Docker Track (`just dev`). diff --git a/docs/developer-guide/overview.md b/docs/developer-guide/overview.md deleted file mode 100644 index 16c5de81..00000000 --- a/docs/developer-guide/overview.md +++ /dev/null @@ -1,35 +0,0 @@ -# Developer Overview - -Welcome to the Digest Engine codebase! This folder documents how developers build, test, and run the backend and frontend. - -## Repo Map - -``` -digest-engine/ -├── core/ # Cross-cutting plumbing (LLM wrappers, Qdrant, auth, tasks) -├── content/ # Content models, deduplication, relevance saving -├── entities/ # Entity extraction, authority scoring -├── frontend/ # Next.js App Router application -├── ingestion/ # RSS, Reddit, Bluesky, Mastodon integrations -├── digest_engine/ # Primary Django Config / WSGI / ASGI routing -├── newsletters/ # Email intake via Anymail, confirmation loops -├── pipeline/ # LangGraph orchestration, Review queues -├── projects/ # Core isolated tenancy setup, global Config models -├── trends/ # Velocity clustering, Theme and Idea suggestion logic -├── users/ # Custom User model and invitations -├── docs/ # Documentation -└── skills/ # Independent Markdown prompts used by LLM Wrapper -``` - -## Tech Stack -* **Backend**: Python 3.12, Django 5+, Django REST Framework, Celery, Django Channels (WebSockets) -* **Frontend**: React 19, Next.js 15 App Router, TypeScript, TailwindCSS, shadcn/ui, TanStack Query -* **Infrastructure**: Postgres, Redis, Qdrant (Vector DB), Ollama (Local AI) - -## Where Apps Live -Unlike monolithic Django applications where `core` is a kitchen sink, this project is modularized by feature. `newsletters.intake` strictly handles ingest; `trends.clustering` handles algorithms for velocities. Only truly global plumbing (like Drf mixins) lives in `core`. - -## How to Read This Doc Set -If you are standing up the codebase for the first time, head to [Local Development](local-development.md). -If you're investigating a pipeline failure, head to `docs/reference/pipeline.md`. -If you are writing the Next.js UI, head to [Frontend Conventions](frontend-conventions.md). diff --git a/docs/developer-guide/testing.md b/docs/developer-guide/testing.md deleted file mode 100644 index 0c2f46e7..00000000 --- a/docs/developer-guide/testing.md +++ /dev/null @@ -1,21 +0,0 @@ -# Testing - -## pytest Layout (Backend) -* Application-specific tests live inside their respective apps (e.g., `users/tests/`, `pipeline/tests/`). -* The top-level `tests/` directory is reserved strictly for full-system integration tests. -* Ensure you are running under the host-side track (SQLite `memory:`) for speed. Example: `just backend-test`. - -## Vitest Layout (Frontend) -* Tests live immediately beside the files they test (e.g., `index.test.tsx`). -* We do not use separate `__tests__/` folders. - -## Storybook Usage -* UI components in `elements/` and `layout/` should have `.stories.tsx` files demonstrating their permutations. - -## Coverage Expectations -Use the `.github/skills/coverage-auditor/SKILL.md` to spot gaps. All new logic branches in APIs, serializers, and utility functions should be covered. - -## When to Use just Test Targets -* `just test`: Runs all backend AND frontend tests. -* `just backend-test`: Only runs `pytest`. -* `just frontend-test`: Only runs `vitest`. diff --git a/docs/reference/algorithms.md b/docs/reference/algorithms.md deleted file mode 100644 index 3fb4b12c..00000000 --- a/docs/reference/algorithms.md +++ /dev/null @@ -1,52 +0,0 @@ -# Algorithms - -This document breaks down the major decision-making mathematics behind the AI pipeline. Having these defined explicitly helps debug strange behaviors and informs how to adjust the tunables. - -## Embedding Model & Vector Space -* **What it computes**: Converts extracted content text into high-dimensional vector coordinates. -* **Inputs**: Candidate text. -* **Outputs**: A dense vector stored into the Qdrant database payload. -* **Tunables**: `EMBEDDING_PROVIDER`, `EMBEDDING_MODEL` ([see Tunables](tunables.md)). -* **Location**: `core/embeddings.py` - -## Cosine Relevance Scoring -* **What it computes**: Decides if a candidate article is relevant to the project's specific topic. -* **Inputs**: The candidate Article Vector, and the top-5 $k$-Nearest-Neighbor vectors tagged as `is_reference=True` in Qdrant for that project. -* **Formula / Rules**: - 1. If Similarity $\ge 0.85$: The candidate is considered a **clear match** and is deemed highly relevant (LLM bypass). - 2. If Similarity $< 0.50$: The candidate is a **clear non-match** (LLM bypass). - 3. If $0.50 \le$ Similarity $< 0.85$: The candidate falls into the **ambiguous band**, triggering the Relevance LLM skill which returns a score to break the tie, assuming `OPENROUTER_API_KEY` is present. -* **Tunables**: Static bounds `0.50` and `0.85`. -* **Location**: `core/pipeline.py` and `core/ai.py`. - -## Topic Centroid Feedback Loop -* **What it computes**: Drifts the project baseline "topic vector" based on explicit editorial thumbs-up or thumbs-down feedback. -* **Inputs**: Explicit `UserFeedback` records. -* **Formula**: The sum of positively-ranked content vectors minus negatively-ranked vectors, proportionally shifting the project's reference similarity center point. -* **Tunables**: `ProjectConfig.recompute_topic_centroid_on_feedback_save` ([see Tunables](tunables.md)). -* **Location**: `trends/` and `core/embeddings.py`. - -## Authority Scoring -* **What it computes**: Assigns an influence multiplier (`authority_score`) to an `Entity` based on how frequently and prominently it is mentioned or referenced. -* **Inputs**: Detected mentions, source quality signals. -* **Algorithmic Model**: A multi-signal model including raw mention frequency layered against a time-based decay function ($score_{new} = score_{previous} \times decay\_rate$), bounded engagement corroboration. -* **Tunables**: `ProjectConfig.authority_decay_rate`. -* **Location**: `entities/` models and Celery tasks. - -## Deduplication Thresholding -* **What it computes**: Determines whether an incoming ingestion is identical to a piece of content already in the dataset. -* **Inputs**: Incoming article text embedding. -* **Formula**: $L_2$ Distance nearest-neighbor search. Extremely close items are flagged as duplicate and ignored. -* **Location**: `content/deduplication.py` and `pipeline`. - -## Trend Velocity Calculation -* **What it computes**: Isolates topics that are accelerating in mentions, not just frequently used. -* **Formula**: $\frac{Count(Recent Window)}{Count(Baseline Window)}$. Identifies a delta derivative of topic popularity. - -## Source Diversity Metric -* **What it computes**: Quantifies concentration risk (e.g., pointing out if 90% of content is drawn from the same single Reddit community). -* **Formula**: Herfindahl-Hirschman Index (HHI) style proportionality test on plugin sources over total ingestions. - -## Entity Candidate Confidence Scoring -* **What it computes**: Determines whether an unknown text fragment (e.g., "OpenAI") extracted by the LLM should be auto-promoted into a new Tracked Entity or kept pending human review. -* **Formula**: Evaluates proximity to known aliases, capitalization strictness, and recurrence volume. diff --git a/docs/reference/api.md b/docs/reference/api.md deleted file mode 100644 index 46fcdeb9..00000000 --- a/docs/reference/api.md +++ /dev/null @@ -1,42 +0,0 @@ -# API - -Our backend exposes a REST API powered by Django REST Framework (DRF), and a WebSocket API via Django Channels. - -## Auth -- **Session Auth**: Primarily used by the Next.js frontend during browser sessions. -- **Token Auth**: Supported for programmatic access. - -## Base Path -Because of the project-centric design, almost all resources are nested under: -`/api/v1/projects/{project_id}/...` - -This enforces the strict scoping of data and prevents cross-project spillage. - -## Per-Resource Endpoint Table - -| Resource | Path | Methods | Notes | -| --- | --- | --- | --- | -| **Projects** | `/api/v1/projects/` | `GET`, `POST` | List projects you have membership in. | -| **Content** | `/api/v1/projects/{pid}/content/` | `GET`, `PATCH` | Read ingested items. Patch `is_relevant`. | -| **Entities** | `/api/v1/projects/{pid}/entities/` | `GET`, `PATCH` | Tracked entities over time. | -| **Sources** | `/api/v1/projects/{pid}/sources/` | `GET`, `POST`, `PATCH`, `DELETE` | Configure plugin ingestion settings. | -| **Members** | `/api/v1/projects/{pid}/members/` | `GET`, `POST`, `DELETE` | Invite users / manage roles. | -| **Feedback** | `/api/v1/projects/{pid}/content/{cid}/feedback/` | `POST` | Submit upvote/downvote for topic centroid drift. | - -## Inbound Webhook -`/api/v1/inbound/...` -This surface is explicitly deliberately **unscoped** by project ID in the path because external systems (like Anymail handling Resend callbacks) do not know our internal `project_id`. The application code looks up the correct project using tokens or sender records. - -## Messaging -* **REST Path**: `/api/v1/messages/` -* **WebSocket Path**: `/ws/messages/` (Served via Django Channels / ASGI) - -## Pagination & Filtering -* Cursor-based or PageNumber pagination depending on the endpoint scale. -* Filtering standardizes on `django-filter` params (e.g., `?category=tutorial&min_relevance=0.8`). - -## drf-spectacular Schema Link -A full OpenAPI V3 schema is auto-generated by `drf-spectacular`. -Available in dev at: -* Swagger UI: `/api/schema/swagger-ui/` -* Raw YAML: `/api/schema/` diff --git a/docs/reference/data-model.md b/docs/reference/data-model.md deleted file mode 100644 index a9b4c133..00000000 --- a/docs/reference/data-model.md +++ /dev/null @@ -1,45 +0,0 @@ -# Data Model - -This document outlines the core domain entities mapping to the database, ensuring developers understand the relational boundaries and project-scoping invariants. - -## Model Diagram -*(Future: Add Mermaid ER diagram for visual reference)* - -## Per-App Model List - -| App | Model | Description | -| --- | --- | --- | -| **`users`** | `AppUser` | The project's custom user model, with profile fields and avatar metadata layered onto Django's historical auth tables. | -| `users` | `MembershipInvitation` | Invite one email address into a project with a predefined role and one-time redemption token. | -| **`projects`** | `Project` | Top-level workspace for one newsletter topic, scoped through project memberships rather than a legacy Django group. | -| `projects` | `ProjectMembership` | Join table assigning one user a per-project role such as admin, member, or reader. | -| `projects` | `ProjectConfig` | Per-project tuning values for authority weighting, decay, and topic-centroid recomputation. | -| `projects` | `SourceConfig` | Per-project configuration for each ingestion plugin (RSS, Reddit), including activation state and fetch configuration. | -| `projects` | `BlueskyCredentials` | Stored account credentials and verification state for a single project's Bluesky plugin. | -| **`content`** | `Content` | The canonical record for ingested articles or posts, including source metadata, extracted text, relevance scoring, embeddings, and entity association. | -| `content` | `UserFeedback` | Explicit upvote or downvote feedback on a content item, used to capture editorial preference signals. | -| **`ingestion`** | `IngestionRun` | Audit/log record for an ingestion execution, tracking plugin, timing, item counts, status, and failure messages. | -| **`entities`** | `Entity` | A person, vendor, or organization tracked within a project to associate content with a known source or subject. | -| `entities` | `EntityAuthoritySnapshot` | One persisted authority-score recomputation for a tracked entity. | -| `entities` | `EntityMention` | A detected mention of a tracked entity inside one content item, including role and sentiment metadata. | -| `entities` | `EntityCandidate` | An extracted named entity awaiting acceptance, rejection, or merge into an existing tracked entity. | -| **`newsletters`** | `IntakeAllowlist` | Approved sender list for project newsletter intake; confirming who can submit inbound newsletter emails. | -| `newsletters` | `NewsletterIntake` | Raw inbound newsletter email captured before and after extraction, holding subject, body, status, and errors. | -| **`pipeline`** | `PipelineRun` | Audit model for an execution round through LangGraph. | -| `pipeline` | `SkillResult` | Output record for an enrichment skill run, storing status, payload, confidence, latency, and model metadata. | -| `pipeline` | `ReviewQueue` | Human review item created for content needing manual judgment (e.g., borderline relevance). | -| **`trends`** | `ThemeSuggestion` | Clustered topic trends presented to human editors for newsletter inclusion. | -| `trends` | `TopicCentroidSnapshot` | One snapshot of the project's feedback-weighted topic centroid and its drift metrics. | -| `trends` | `OriginalContentIdea` | Auto-generated suggestions for topics the editor should write original content about. | - -## Project-Scoping Invariants - -By architectural rule, almost every model (except `AppUser`) belongs securely to a specific `Project` (e.g., via `project_id`). This scoping is heavily enforced at the API layer (refer to `developer-guide/backend-conventions.md`). - -- Never execute unbounded or unscoped wide queries out of the API. -- All relationships crossing between `content`, `entities`, `newsletters`, and `pipeline` models must enforce that the foreign keys belong to the *same* `Project`. - -## Key Indexes - -- `project_id` scoping indexes exist uniformly. -- **Qdrant Vector Index**: Content embeddings are maintained synchronously alongside Postgres data, identified by string UUIDs linking `Content.id` into the Qdrant document payload. Project ID is routinely attached to vector payloads to allow tenant-safe cosine similarity searches. diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md deleted file mode 100644 index 028a763b..00000000 --- a/docs/reference/glossary.md +++ /dev/null @@ -1,39 +0,0 @@ -# Glossary - -This glossary clarifies our domain language to ensure we all use the same terminology in code, discussion, and user documentation. - -## Core Terms - -### Project (not Tenant) -The top-level container for a newsletter workspace. A Project has settings, sources, team members, content, and an intake inbox. **Never use the word "Tenant" in this codebase or user documentation.** We use "Project" exclusively. - -### Content -The canonical record for ingested articles, posts, or extracted newsletter links. Everything the system curates or analyzes begins as a Content item. - -### Entity and Entity Candidate -An **Entity** is a person, organization, vendor, or open-source project tracked by the system to monitor authority and mention frequency. -An **Entity Candidate** is a temporary object generated by the Entity Extraction skill, representing a potential new entity that needs human editor review before being merged into a tracked Entity. - -### Theme and Idea -A **Theme Suggestion** is a drafted topic or category generated from clustering accelerating trends (velocity). Editors can promote these into newsletter sections. -An **Original Content Idea** is an angle the system suggests the editor write themselves, triangulated from current trends, accepted themes, and editor feedback. - -### Source / Plugin -A **Source Plugin** is the integration method (e.g., RSS, Reddit, Bluesky, Mastodon, LinkedIn). -A **Source Config** is the specific project-level instance of that plugin (e.g., the specific RSS feed URL or Subreddit name). - -### Intake / Allowlist -**Intake** refers to the process of parsing forwarded email newsletters. -The **Intake Allowlist** protects the project by ensuring only authorized sender email addresses can inject content into the ingestion pipeline. - -### Skill -A **Skill** is a discreet prompt-based operation using an LLM (e.g., Categorization, Relevance Scoring, Summarization, Deduplication). They live in the `skills/` directory. - -### Run / Pipeline Run -A **Pipeline Run** represents the execution state of the AI pipeline for a piece or batch of content, orchestrating the sequence of Skills via LangGraph. -An **Ingestion Run** is the execution of a Source Plugin fetching new data. - -### Internal vs Public URL -Due to our architecture running inside Docker Compose, there is a distinction: -- **Internal API URL**: Like `http://nginx`, used for frontend-container-to-backend-container traffic. -- **Public URL**: The externally resolvable URL used to generate links in confirmation emails or OAuth callbacks. diff --git a/docs/reference/logging-and-observability.md b/docs/reference/logging-and-observability.md deleted file mode 100644 index 62228d2d..00000000 --- a/docs/reference/logging-and-observability.md +++ /dev/null @@ -1,37 +0,0 @@ -# Logging and Observability - -Because pipelines run silently in the background via Celery and LangGraph, strong observability is required to debug node failures, bad LLM parses, and data pipeline locks. - -## Structured Log Format -We mandate structured logging via library (e.g., `structlog`) to emit `JSON` locally and in production. -Required standard fields: -* `project_id`: Present whenever logging within the context of a project. -* `content_id`: Present when acting on a specific ingested item. - -## Trace/Correlation IDs -Celery tasks and Django requests inject a correlation ID into the log context, providing the ability to stitch together an `IngestionRun` that spawned a task, which invoked a LangGraph `PipelineRun`, which hit an OpenRouter error. - -## Prometheus Metrics Exposed -When Helm/Kubernetes deployments activate the `ServiceMonitor`, we expose: -* `django_http_requests_total` -* `django_http_requests_latency_seconds` -* `celery_task_status_total` -* `ai_skill_invocation_total` (Labeled by skill name and model) - -*Metrics enablement requires `METRICS_TOKEN` authentication on the scraping endpoint.* - -## Dashboards -In Kubernetes setups, Grafana dashboards attach to Prometheus data sources. Look for: -- API Latency & Error Rates -- Celery Queue Depth & Worker Saturation -- LLM Token Costs & Skill Reliability - -## Retention Windows -Since raw telemetry can overwhelm DBs quickly, the application enforces automated pruning of its internal audit models based on defaults set in [Tunables](tunables.md): -- `OBSERVABILITY_SNAPSHOT_RETENTION_DAYS` (90 days) -- `OBSERVABILITY_TREND_TASK_RUN_RETENTION_DAYS` (30 days) -- `OBSERVABILITY_REVIEW_QUEUE_RETENTION_DAYS` (30 days) - -## How to Add a New Log/Metric -Always fetch the bound logger instance initialized at the module level rather than calling `logging.info()` directly. -When logging errors for a pipeline node, pass the `payload` kwargs so the JSON log payload has exactly what the LLM received. diff --git a/docs/reference/pipeline.md b/docs/reference/pipeline.md deleted file mode 100644 index b4d5d8e7..00000000 --- a/docs/reference/pipeline.md +++ /dev/null @@ -1,32 +0,0 @@ -# Pipeline - -This document details the LangGraph orchestration of the system's core capabilities. - -## Entry Points -The pipeline is invoked after basic ingestion has successfully persisted a new `Content` item. -* **Per-content invocation**: Typically called by a Celery task right after a plugin (RSS, Reddit) saves an item. -* **Batch invocation**: Run nightly or hourly to generate aggregate assets (Theme suggestions, trend velocity). - -## Node Order -When a `Content` item enters LangGraph, it passes through several state nodes: -1. **Classification**: Categorize the content (News, Tutorial, Opinion, etc.). -2. **Relevance**: Calculate Cosine Similarity. If ambiguous, trigger Relevance Skill. -3. **Deduplication**: Suppress if $L_2$ distance to already-saved items is extremely tight. -4. **Entity Extraction**: Detect Candidate Entities (people, orgs) referenced in the text. -5. **Summarization**: Generate the 2-3 sentence `summary_text` exposed in the UI. - -In a separate batch phase: -6. **Theme Detection & Trend Clustering**: Evaluates recent content to draft newsletter sections. - -## Retries & Partial Failure -Our pipeline is designed for **Resilience**: -* If an LLM skill node fails (e.g., timeout, context limit, 429), the node records a `SkillResult` with a failure status. -* The pipeline gracefully degrades. For example, if Relevance fails, it falls back to the baseline Cosine score. If Categorization fails, it is marked `Undefined`. -* "Stuck" items are enqueued to a `ReviewQueue` or can be re-run via Celery. - -## Where Prompts Live -The raw LLM system prompts and logic for each step do not live in the pipeline file itself. They are organized independently. See [Skills](skills.md) and look at the directories under `skills//SKILL.md`. - -## Scheduled vs On-Demand -- **On-Demand**: Categorization, Relevance, Summarization, Deduplication (runs immediately upon content fetch). -- **Scheduled**: Authority Scoring calculation, Trend Velocity compilation, Diversity analysis. diff --git a/docs/reference/skills.md b/docs/reference/skills.md deleted file mode 100644 index 1c34e9e0..00000000 --- a/docs/reference/skills.md +++ /dev/null @@ -1,53 +0,0 @@ -# Skills - -A "Skill" represents one discrete prompt-and-extract operation run by an LLM in our system. - -## Skills Runtime -Skills are invoked dynamically. `core/llm.py` loads the prompt text directly from `skills//SKILL.md`. This allows prompt-tuning to happen independently of Python application logic, inside markdown files that AI assistants (like Copilot) can natively parse format-wise. - -## Skill Catalog - -### Content Classification -* **Purpose**: Assign a general topic bucket for filtering (e.g., tutorial, opinion, news, release). -* **Inputs**: Candidate text. -* **Outputs**: A mapped category. -* **Prompt Location**: `skills/content-classification/SKILL.md`. -* **Failure Mode**: Item is categorized as `Unknown`. - -### Relevance Scoring -* **Purpose**: Act as tie-breaker for items sitting in the ambiguous cosine-similarity band (`0.50 - 0.85`). -* **Inputs**: The project's topic description, precomputed reference similarity score, candidate title, candidate text (trimmed to 5000 chars). -* **Outputs**: A JSON payload containing a `relevance_score` and `explanation`. -* **Prompt Location**: `skills/relevance-scoring/SKILL.md`. -* **Failure Mode**: Aborts and relies purely on the Cosine Similarity score. - -### Deduplication -* **Purpose**: Determine if a new post is functionally identical (or a direct repost) to one already stored recently. -* **Inputs**: Candidate text and closest-distance match. -* **Outputs**: Boolean flag suppressing the clone. -* **Prompt Location**: `skills/deduplication/SKILL.md`. - -### Summarization -* **Purpose**: Condense an input article into a fast 2-3 sentence overview that editors read on the dashboard. -* **Inputs**: Candidate text. -* **Outputs**: Short paragraph saved to `Content.summary_text`. -* **Prompt Location**: `skills/summarization/SKILL.md`. -* **Failure Mode**: Retries; if fatal, leaves UI text empty requiring manual skim. - -### Newsletter Email Extraction -* **Purpose**: Parse raw forwarded HTML emails to decouple multiple article links from the sender's flavor-text wrapping. -* **Inputs**: HTML email body. -* **Outputs**: A list of extracted URLs and parsed titles. -* **Prompt Location**: `skills/newsletter-extraction/SKILL.md`. - -### Entity Extraction -* **Purpose**: Find proper nouns (people, vendors, technologies) referenced in the item so we can track their authority and mention-velocity. -* **Inputs**: Candidate text. -* **Outputs**: Unresolved `EntityCandidate` names. -* **Prompt Location**: `skills/entity-extraction/SKILL.md`. - -### Theme Detection -* **Purpose**: Turn clustered articles into human-readable newsletter draft sections. -* **Inputs**: Groupings of high-velocity related content. -* **Outputs**: Proposed newsletter headings and a contextual summary for the grouping. -* **Prompt Location**: `skills/theme-detection/SKILL.md`. diff --git a/docs/reference/tunables.md b/docs/reference/tunables.md deleted file mode 100644 index dc27d3a7..00000000 --- a/docs/reference/tunables.md +++ /dev/null @@ -1,68 +0,0 @@ -# Tunables - -This document collects all parameters, thresholds, and variables that change how the system behaves. Most global tunables are configured via environment variables and loaded into Django settings, while project-specific algorithms use `ProjectConfig`. - -## How Settings Are Read - -1. Environment variables set at the Docker Compose / Kubernetes pod level. -2. Loaded in `digest_engine/settings/base.py` and combined with defaults. -3. Consumed via `django.conf.settings` across the project. - -## LLM & Embeddings - -These map directly to global inference capability. - -* `EMBEDDING_PROVIDER`: Options include `local` (HuggingFace `sentence-transformers`), `ollama`, or `openai`/`openrouter`. -* `EMBEDDING_MODEL`: The identifier for the dense vector model. -* `OLLAMA_URL`: Local instance of Ollama, defaulting to `http://ollama:11434`. -* `OPENROUTER_API_KEY`: Fallback or primary inference provider key for OpenRouter or OpenAI compatible APIs. -* `OPENROUTER_API_BASE`: Endpoint for inference. - -## Relevance & Scoring Thresholds - -Relevance rules divide candidate articles into clear-match, ambiguous, and clear-non-match bands. See [Algorithms](algorithms.md) for how the pipeline evaluates these. - -* **Similarity Thresholds**: Embedding cosine similarity above `0.85` assumes auto-relevant. Below `0.5` assumes irrelevant. The `0.5 - 0.85` band asks the LLM. - -## Deduplication Thresholds - -* Usually implemented via nearest-neighbor distance (e.g., threshold `< 0.05` means near duplication). - -## Authority Weights - -Configured per-project in `ProjectConfig`: - -* `authority_decay_rate` (default: 0.95): The rate at which an entity's authority metric decays over time without recent mentions. - -## Topic Centroid - -Configured per-project in `ProjectConfig`: - -* `recompute_topic_centroid_on_feedback_save` (default: True): Determines if a user's thumbs up/down immediately recomputes the vector centroid representing the project's topic. - -## URL Settings - -* `NEWSLETTER_API_INTERNAL_URL`: Internal frontend-to-backend base URL used by the Next.js app for API and WebSocket traffic. In Docker Compose this is usually `http://nginx`. -* `NEWSLETTER_PUBLIC_URL`: Public backend base URL used when Django builds absolute links for emails and OAuth callbacks. -* `NEWSLETTER_API_BASE_URL`: Deprecated compatibility fallback. If present, it is used as the default for both explicit URL settings until those are configured separately. -* `FRONTEND_BASE_URL`: Where the Next.js app sits. - -## Observability Retention - -Keeps the database from ballooning over time. - -* `OBSERVABILITY_SNAPSHOT_RETENTION_DAYS` (default: 90) -* `OBSERVABILITY_TREND_TASK_RUN_RETENTION_DAYS` (default: 30) -* `OBSERVABILITY_REVIEW_QUEUE_RETENTION_DAYS` (default: 30) - -## OAuth Provider Toggles - -Requires specific API keys to be populated to become available: - -* **LinkedIn**: `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET`, `LINKEDIN_OAUTH_SCOPES` -* **Reddit**: `REDDIT_CLIENT_ID`, `REDDIT_CLIENT_SECRET`, `REDDIT_USER_AGENT` - -## Channels / Messaging - -* `CHANNEL_LAYER_URL`: URL to the Redis instance used by Django Channels for ASGI web socket propagation (e.g., `redis://redis:6379/1`). -* `MESSAGING_ENABLED` (frontend/build feature flags). diff --git a/docs/user-guide/entities-and-authority.md b/docs/user-guide/entities-and-authority.md deleted file mode 100644 index 477a0d0b..00000000 --- a/docs/user-guide/entities-and-authority.md +++ /dev/null @@ -1,19 +0,0 @@ -# Entities and Authority - -## What an Entity Is -An **Entity** is a semantic object tracked by the system—typically a Person, Company, Product, or Vendor. - -## Candidate Review Queue -When the AI reads an article, it highlights Proper Nouns it doesn't recognize and marks them as **Entity Candidates**. These are pooled in the Candidate Review Queue awaiting human triage. - -## Approving, Rejecting, and Merging -In the Review Queue, you can: -* **Approve**: Turn it into a tracked Entity. -* **Reject**: Tell the system "don't track this word." -* **Merge**: Combine it with an existing entity (e.g., merging "MSFT" to "Microsoft"). - -## What Authority Means -Tracked entities generate **Authority**. If an entity is repeatedly mentioned in high-value, highly-relevant articles, its Authority Score rises. - -## How Authority Influences Content -Incoming articles that mention High-Authority entities are artificially boosted in your content feed. Tracking authority allows the system to surface industry thought leaders dynamically. diff --git a/docs/user-guide/feedback-and-tuning.md b/docs/user-guide/feedback-and-tuning.md deleted file mode 100644 index fa92f961..00000000 --- a/docs/user-guide/feedback-and-tuning.md +++ /dev/null @@ -1,13 +0,0 @@ -# Feedback and Tuning - -## What Gets Recorded -Every time you approve an Entity Candidate, flag an article as Highly Relevant, or Dismiss an Idea, a feedback record is durably stored attached to your Project. - -## The Topic Centroid -Feedback mathematically shifts the underlying definition of your Project. When a project is created, the AI defines its "Topic Centroid." Positive reviews drag this Centroid closer to the approved topics, while Negative reviews push the Centroid away from junk text. - -## Time to See Effects -Topic Centroids adjust dynamically but evaluate newly ingested articles only. Pushing "Thumbs down" will not re-score historical items in your list, but within an hour, incoming fetches will reflect the newly tuned boundaries. - -## Re-training vs General Feedback -If you fundamentally pivot the purpose of a Newsletter (e.g. pivoting from "General AI" strictly to "Medical Robotics"), you may need to purge the project references and start fresh. Normal feedback adjusts nuance—it cannot smoothly pivot a topic 180 degrees. diff --git a/docs/user-guide/getting-started-saas.md b/docs/user-guide/getting-started-saas.md deleted file mode 100644 index 6c6de375..00000000 --- a/docs/user-guide/getting-started-saas.md +++ /dev/null @@ -1,25 +0,0 @@ -# Getting Started (Hosted SaaS) - -Welcome to Digest Engine! Depending on whether you are using our cloud version or self-hosting, your first steps differ slightly. - -## Signup & Email Verification -Navigate to the hosted application URL and register for an account using your email. We will send you a secure login link. Once verified, you will be taken to your dashboard. - -## Creating Your First Project -A **Project** is your workspace. It represents ONE specific newsletter topic (e.g., "AI in Healthcare"). Create a project and give it a brief description. This description actually informs the AI about what content it should look for. - -## Inviting Collaborators -Head to the **Members** tab to invite coworkers as Editors or Readers. - -## Adding Your First Source -The system has no content until you tell it where to look. -Navigate to **Sources**. Add an RSS Feed (e.g., `https://news.ycombinator.com/rss`) or a Reddit Subreddit (e.g., `r/MachineLearning`). The system will immediately begin fetching historical items. - -## Viewing the Content Dashboard -Click into the **Content** tab. Within roughly 5 minutes, you will see articles appearing from your sources, automatically assigned Relevance scores and Categorized by AI. - -## Forwarding Your First Newsletter -Find your project's unique Inbox Address in settings. Forward an old newsletter to it. The system will parse out all links within the email and add them to your Content pile. - -## Next Steps -Curate your incoming feed by identifying which content is perfect—check [Projects and Content](projects-and-content.md) to understand Relevance. diff --git a/docs/user-guide/getting-started-selfhost.md b/docs/user-guide/getting-started-selfhost.md deleted file mode 100644 index e47e4ca5..00000000 --- a/docs/user-guide/getting-started-selfhost.md +++ /dev/null @@ -1,16 +0,0 @@ -# Getting Started (Self-Hosted) - -## Logging In -Navigate to the URL provided by your IT Administrator. You can log in using your provided Username/Password, or if configured, via Single-Sign On (like LinkedIn). - -## What Your Admin Configured -Your system administrator has already set up the background AI models and databases. Depending on their configuration, some features (like email intake or specific AI generation speeds) might perform differently than a hosted system. - -## Creating Your First Project -Click "Create Project" and define the topic area of your newsletter. - -## Adding Sources -Go to **Sources**. Click Add Source. Paste an RSS or Social Media configuration. - -## Next Steps -Head to [Projects and Content](projects-and-content.md) to learn how to curate the resulting article feed. diff --git a/docs/user-guide/newsletter-drafts.md b/docs/user-guide/newsletter-drafts.md deleted file mode 100644 index 0bbb9cc3..00000000 --- a/docs/user-guide/newsletter-drafts.md +++ /dev/null @@ -1,18 +0,0 @@ -# Newsletter Drafts - -This is where curation pays off. - -## Assembling a Draft -Drafts are built by composing: -1. High-Relevance fresh articles. -2. Promoted Theme Suggestions. -3. Editor-generated Original Content Ideas. - -## Reordering -The Draft builder allows you to drag-and-drop these artifacts, rewriting transition languages automatically where necessary. - -## Exporting -Click Export to generate raw Markdown or HTML ready to be pasted into Mailchimp, Substack, Hackernews, or a ghost CMS. - -## Iterating with Feedback -If the synthesized draft output misses your tone, utilize the thumbs up/down mechanisms on individual sections to train the system. diff --git a/docs/user-guide/newsletter-intake.md b/docs/user-guide/newsletter-intake.md deleted file mode 100644 index b50be15c..00000000 --- a/docs/user-guide/newsletter-intake.md +++ /dev/null @@ -1,24 +0,0 @@ -# Newsletter Intake - -You can populate your project by forwarding competitor or complimentary newsletters directly to the system. - -## Finding Your Project's Intake Address -Go to Project Settings. You will find an email address specifically generated for this project. - -## Forwarding Etiquette -Forward un-mutilated HTML emails. The AI `Newsletter Email Extraction` skill is highly tuned to find hyperlinks embedded in paragraphs while ignoring unsubscribe footers. - -## Sender Confirmation Email -To prevent spam engines from filling your project with junk, the first time you forward an email from a new address, the email is quarantined. -You will receive an automated reply containing a Confirmation Link. You must click it. - -## Pending vs Confirmed vs Expired -* **Pending**: Email caught in quarantine awaitng confirmation. -* **Confirmed**: Sender is trusted. Future forwards immediately process. -* **Expired**: Over 7 days without confirmation. Discarded. - -## Managing Your Allowlist -Under Settings -> Allowlist, you can view your trusted senders, pre-clear new emails, or revoke access if an address is compromised. - -## Troubleshooting Drops -If a newsletter fails to show up in your Content view after 10 minutes, contact your administrator to verify the email successfully reached the Anymail webhook. diff --git a/docs/user-guide/projects-and-content.md b/docs/user-guide/projects-and-content.md deleted file mode 100644 index b801161d..00000000 --- a/docs/user-guide/projects-and-content.md +++ /dev/null @@ -1,26 +0,0 @@ -# Projects and Content - -## What a Project Is -In this platform, a **Project** equates to a specific newsletter brand or topic. Everything—Settings, Articles, Team Members, and specifically the AI's "understanding" of your taste—lives strictly inside boundaries of a single Project. - -## Content List & Filters -The Content Dashboard displays every article discovered from your plugins. -* Use the **Category** dropdown to filter items down to just *Tutorials* or just *News*. -* Use the **Relevance** slider to hide junk items. - -## Relevance Scores -The system assigns a score to everything it ingests, representing "How likely is this article a good fit for this project?" -* **Low score (0.0 - 0.4)**: Probably off-topic. -* **High score (0.8+)**: Perfect fit. -* **Mid score**: Ambiguous. The AI read it and made a guess. - -Read more about the math in [Algorithms](../reference/algorithms.md). - -## Opening a Content Item -Clicking an item reveals the original abstract, AI-generated summary, source metadata, and extracted entities (people/companies mentioned inside it). - -## Marking Content as Relevant/Not-Relevant -Under each item, you will see a Thumbs Up / Thumbs Down mechanism. This is explicit feedback. Click Thumbs Up *only* on articles that perfectly exemplify your Newsletter. - -## How Feedback Affects Future Ranking -When you thumbs-up an article, its underlying data mathematically shifts the Project's "Topic Centroid." This means future incoming articles matching that vibe will score *higher*. See [Feedback and Tuning](feedback-and-tuning.md). diff --git a/docs/user-guide/themes-and-trends.md b/docs/user-guide/themes-and-trends.md deleted file mode 100644 index 92d5604d..00000000 --- a/docs/user-guide/themes-and-trends.md +++ /dev/null @@ -1,16 +0,0 @@ -# Themes and Trends - -## Trend Velocity vs Raw Mention Count -The system does not just look for "topics that are mentioned a lot." It looks for **Trend Velocity**—topics whose metric rate is *accelerating*. An article mentioned twice yesterday and twelve times today is highlighted over a topic mentioned six times every day for a year. - -## Theme Suggestions -The system clusters these high-velocity trends and automatically drafts "Theme Suggestions." These appear as pre-written context groupings summarizing *why* this trend is exploding. - -## Promoting a Theme -If you like an AI-suggested theme, click **Promote**. It instantly enters your Newsletter Drafts queue as an assembled section. - -## Dismissing Themes -If the AI is hallucinating a fake trend or tracking something you do not care about, hit **Dismiss** so it doesn't clutter your view. - -## Source Diversity Warnings -The dashboard will highlight if your trends are skewed entirely towards a single domain or community. A source diversity warning indicates you might be creating an echo chamber and should ingest broader sources. diff --git a/entities/BUILD b/entities/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/entities/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/entities/migrations/BUILD b/entities/migrations/BUILD new file mode 100644 index 00000000..db46e8d6 --- /dev/null +++ b/entities/migrations/BUILD @@ -0,0 +1 @@ +python_sources() diff --git a/entities/tests/BUILD b/entities/tests/BUILD new file mode 100644 index 00000000..dabf212d --- /dev/null +++ b/entities/tests/BUILD @@ -0,0 +1 @@ +python_tests() diff --git a/frontend/next-env.d.ts b/frontend/next-env.d.ts index c4b7818f..9edff1c7 100644 --- a/frontend/next-env.d.ts +++ b/frontend/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import "./.next/dev/types/routes.d.ts"; +import "./.next/types/routes.d.ts"; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/frontend/package-lock.json b/frontend/package-lock.json deleted file mode 100644 index bfd645d6..00000000 --- a/frontend/package-lock.json +++ /dev/null @@ -1,10734 +0,0 @@ -{ - "name": "digest-engine-frontend", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "digest-engine-frontend", - "version": "0.1.0", - "dependencies": { - "@base-ui/react": "^1.4.1", - "@eslint/js": "9.39.4", - "@tailwindcss/postcss": "^4.2.4", - "@tanstack/react-query": "^5.100.9", - "axios": "^1.16.0", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "eslint": "9.39.4", - "eslint-config-next": "^16.2.4", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-react": "^7.37.5", - "eslint-plugin-simple-import-sort": "^13.0.0", - "lucide-react": "^1.14.0", - "next": "16.2.6", - "next-auth": "^4.24.14", - "next-themes": "^0.4.6", - "postcss": "^8.5.14", - "prettier": "^3.8.3", - "react": "19.2.5", - "react-dom": "19.2.5", - "react-dropzone": "^15.0.0", - "react-hook-form": "^7.75.0", - "tailwind-merge": "^3.5.0", - "tailwindcss": "^4.2.4", - "tw-animate-css": "^1.4.0", - "typescript-eslint": "^8.59.2" - }, - "devDependencies": { - "@chromatic-com/storybook": "^5.1.2", - "@storybook/addon-a11y": "^10.3.6", - "@storybook/addon-docs": "^10.3.6", - "@storybook/addon-themes": "^10.3.6", - "@storybook/addon-vitest": "^10.3.6", - "@storybook/nextjs-vite": "^10.3.6", - "@testing-library/dom": "^10.4.1", - "@testing-library/jest-dom": "^6.9.1", - "@testing-library/react": "^16.3.2", - "@testing-library/user-event": "^14.6.1", - "@types/node": "25.6.0", - "@types/react": "19.2.14", - "@types/react-dom": "19.2.3", - "@vitejs/plugin-react": "^6.0.1", - "@vitest/browser-playwright": "^4.1.5", - "@vitest/coverage-v8": "^4.1.5", - "eslint-formatter-compact": "^9.0.1", - "eslint-plugin-storybook": "^10.3.6", - "jsdom": "^29.1.1", - "playwright": "^1.59.1", - "storybook": "^10.3.6", - "typescript": "6.0.3", - "vite": "^8.0.10", - "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.1.5" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", - "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@asamuzakjp/css-color": { - "version": "5.1.11", - "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", - "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/generational-cache": "^1.0.1", - "@csstools/css-calc": "^3.2.0", - "@csstools/css-color-parser": "^4.1.0", - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@asamuzakjp/dom-selector": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", - "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/generational-cache": "^1.0.1", - "@asamuzakjp/nwsapi": "^2.3.9", - "bidi-js": "^1.0.3", - "css-tree": "^3.2.1", - "is-potential-custom-element-name": "^1.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@asamuzakjp/generational-cache": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", - "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@asamuzakjp/nwsapi": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", - "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", - "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", - "@floating-ui/react-dom": "^2.1.8", - "@floating-ui/utils": "^0.2.11", - "use-sync-external-store": "^1.6.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@date-fns/tz": "^1.2.0", - "@types/react": "^17 || ^18 || ^19", - "date-fns": "^4.0.0", - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" - }, - "peerDependenciesMeta": { - "@date-fns/tz": { - "optional": true - }, - "@types/react": { - "optional": true - }, - "date-fns": { - "optional": true - } - } - }, - "node_modules/@base-ui/utils": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.8.tgz", - "integrity": "sha512-jvOi+c+ftGlGotNcKnzPVg2IhCaDTB6/6R3JeqdjdXktuAJi3wKH9T7+svuaKh1mmfVU11UWzUZVH74JDfi/wQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.29.2", - "@floating-ui/utils": "^0.2.11", - "reselect": "^5.1.1", - "use-sync-external-store": "^1.6.0" - }, - "peerDependencies": { - "@types/react": "^17 || ^18 || ^19", - "react": "^17 || ^18 || ^19", - "react-dom": "^17 || ^18 || ^19" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", - "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@blazediff/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.9.1.tgz", - "integrity": "sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@bramus/specificity": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", - "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "^3.0.0" - }, - "bin": { - "specificity": "bin/cli.js" - } - }, - "node_modules/@chromatic-com/storybook": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-5.1.2.tgz", - "integrity": "sha512-H/hgvwC3E+OtseP2OT2QYUJH2VfnzT6wM3pWOkaNV6g7QI+VUdWJbeJ3o2jFqvEPQNqzhQKWDOlvM4lu+7is6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@neoconfetti/react": "^1.0.0", - "chromatic": "^13.3.4", - "filesize": "^10.0.12", - "jsonfile": "^6.1.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=20.0.0", - "yarn": ">=1.22.18" - }, - "peerDependencies": { - "storybook": "^0.0.0-0 || ^10.1.0 || ^10.1.0-0 || ^10.2.0-0 || ^10.3.0-0 || ^10.4.0-0" - } - }, - "node_modules/@csstools/color-helpers": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", - "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@csstools/css-calc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", - "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-color-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", - "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/color-helpers": "^6.0.2", - "@csstools/css-calc": "^3.2.0" - }, - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^4.0.0", - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", - "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^4.0.0" - } - }, - "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", - "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "peerDependencies": { - "css-tree": "^3.2.1" - }, - "peerDependenciesMeta": { - "css-tree": { - "optional": true - } - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", - "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", - "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", - "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", - "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", - "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", - "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", - "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", - "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", - "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", - "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", - "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", - "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", - "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", - "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", - "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", - "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", - "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", - "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", - "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", - "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", - "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", - "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", - "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", - "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", - "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", - "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", - "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", - "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.5" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", - "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", - "license": "MIT", - "dependencies": { - "ajv": "^6.14.0", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.5", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", - "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@exodus/bytes": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", - "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@noble/hashes": "^1.8.0 || ^2.0.0" - }, - "peerDependenciesMeta": { - "@noble/hashes": { - "optional": true - } - } - }, - "node_modules/@floating-ui/core": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", - "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.11" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", - "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.5", - "@floating-ui/utils": "^0.2.11" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", - "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.7.6" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", - "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", - "license": "MIT" - }, - "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", - "license": "Apache-2.0", - "dependencies": { - "@humanfs/types": "^0.15.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@img/colour": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", - "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", - "cpu": [ - "riscv64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.7.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.7.0.tgz", - "integrity": "sha512-qvsTEwEFefhdirGOPnu9Wp6ChfIwy2dBCRuETU3uE+4cC+PFoxMSiiEhxk4lOluA34eARHA0OxqsEUYDqRMgeQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^13.0.1", - "react-docgen-typescript": "^2.2.2" - }, - "peerDependencies": { - "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@mdx-js/react": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", - "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, - "node_modules/@neoconfetti/react": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@neoconfetti/react/-/react-1.0.0.tgz", - "integrity": "sha512-klcSooChXXOzIm+SE5IISIAn3bYzYfPjbX7D7HoqZL84oAfgREeSg5vSIaSFH+DaGzzvImTyWe1OyrJ67vik4A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@next/env": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.6.tgz", - "integrity": "sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==", - "license": "MIT" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.4.tgz", - "integrity": "sha512-tOX826JJ96gYK/go18sPUgMq9FK1tqxBFfUCEufJb5XIkWFFmpgU7mahJANKGkHs7F41ir3tReJ3Lv5La0RvhA==", - "license": "MIT", - "dependencies": { - "fast-glob": "3.3.1" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.6.tgz", - "integrity": "sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.6.tgz", - "integrity": "sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.6.tgz", - "integrity": "sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.6.tgz", - "integrity": "sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.6.tgz", - "integrity": "sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.6.tgz", - "integrity": "sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.6.tgz", - "integrity": "sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.6.tgz", - "integrity": "sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "license": "MIT", - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@oxc-project/types": { - "version": "0.127.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", - "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Boshen" - } - }, - "node_modules/@panva/hkdf": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.2.1.tgz", - "integrity": "sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz", - "integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz", - "integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz", - "integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz", - "integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz", - "integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz", - "integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz", - "integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz", - "integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz", - "integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz", - "integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.7", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", - "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "license": "MIT" - }, - "node_modules/@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/addon-a11y": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-10.3.6.tgz", - "integrity": "sha512-cbwXIT5CeHZ9AFbTKQ6YB7Ct6TAl/kKOgALbvzzVtFfRvm51JYygGaiJaB7PbPWn9wgJP2olJcFt+erlEc6cRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "axe-core": "^4.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^10.3.6" - } - }, - "node_modules/@storybook/addon-docs": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-10.3.6.tgz", - "integrity": "sha512-TvIdADVPtauxW0LzXIpIv7X6GxwetorhyNh+6+7MHC27XSBCWVxxRUwL63YeLlHTuXsIk0quG3b1xgwVRzWOJA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdx-js/react": "^3.0.0", - "@storybook/csf-plugin": "10.3.6", - "@storybook/icons": "^2.0.1", - "@storybook/react-dom-shim": "10.3.6", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^10.3.6" - } - }, - "node_modules/@storybook/addon-themes": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-themes/-/addon-themes-10.3.6.tgz", - "integrity": "sha512-/6lPU36+nDQzoDJqwy5BrAO0zFHOHDXn6hy/aq2aKF/RTS54+KrA0fdv0sxTssaBo5tjqZ4jKs60hB0iRWKkFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^10.3.6" - } - }, - "node_modules/@storybook/addon-vitest": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-vitest/-/addon-vitest-10.3.6.tgz", - "integrity": "sha512-HXj7RrPJY+xzoNjL+xZu2oLw1fI5BA87Noh1NAXMPuECHR5R5fuRM/tTsJuIGXHFMO06FjSi/rekDIfCj1fL4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/icons": "^2.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "@vitest/browser": "^3.0.0 || ^4.0.0", - "@vitest/browser-playwright": "^4.0.0", - "@vitest/runner": "^3.0.0 || ^4.0.0", - "storybook": "^10.3.6", - "vitest": "^3.0.0 || ^4.0.0" - }, - "peerDependenciesMeta": { - "@vitest/browser": { - "optional": true - }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/runner": { - "optional": true - }, - "vitest": { - "optional": true - } - } - }, - "node_modules/@storybook/builder-vite": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.3.6.tgz", - "integrity": "sha512-gpvR/sE4BcrFtmQZ+Ker7zD23oQzoVeqD9nF6cK6yzY+Q0svJXyX2EPmFG4y+EwygD5/vNzDpP84gGMut8VRwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/csf-plugin": "10.3.6", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^10.3.6", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@storybook/csf-plugin": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.3.6.tgz", - "integrity": "sha512-9kBf7VRdRqTSIYo+rPtVn5yjYYyK8kP2QhEYx3oiXvfwy4RexmbJnhk/tXa/lNiTqukA1TqaWQ2+5MqF4fu6YQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "unplugin": "^2.3.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "esbuild": "*", - "rollup": "*", - "storybook": "^10.3.6", - "vite": "*", - "webpack": "*" - }, - "peerDependenciesMeta": { - "esbuild": { - "optional": true - }, - "rollup": { - "optional": true - }, - "vite": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/@storybook/global": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", - "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/icons": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-2.0.1.tgz", - "integrity": "sha512-/smVjw88yK3CKsiuR71vNgWQ9+NuY2L+e8X7IMrFjexjm6ZR8ULrV2DRkTA61aV6ryefslzHEGDInGpnNeIocg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@storybook/nextjs-vite": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/nextjs-vite/-/nextjs-vite-10.3.6.tgz", - "integrity": "sha512-X2ExCrrnq319LkOKM5E2ZpeEDFgeUmPNH/v5SQlYA9e3Jmtzs+esObaWEEtUF5pvoxzeszZGEV9zXNFmYaF9Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/builder-vite": "10.3.6", - "@storybook/react": "10.3.6", - "@storybook/react-vite": "10.3.6", - "styled-jsx": "5.1.6", - "vite-plugin-storybook-nextjs": "^3.1.9" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "next": "^14.1.0 || ^15.0.0 || ^16.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "storybook": "^10.3.6", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@storybook/react": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-10.3.6.tgz", - "integrity": "sha512-oZQZ6xayWe5IdHmFUTL0TL8rX/gpNNh9gWhT2vzW5eeUvlkVG/RBKdsja6Ndrk2s1D9vcnwiI6r6CNXy3IEEmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/react-dom-shim": "10.3.6", - "react-docgen": "^8.0.2", - "react-docgen-typescript": "^2.2.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "storybook": "^10.3.6", - "typescript": ">= 4.9.x" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@storybook/react-dom-shim": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.3.6.tgz", - "integrity": "sha512-/Tu1gPu+Fw+zOnAGmxRmOD30FX3a04LxcTAKflEtdpmtIMVR5bA3qpjy+f5YhoyDCecbXyKmL1OeIU2FIIZHqQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "storybook": "^10.3.6" - } - }, - "node_modules/@storybook/react-vite": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-10.3.6.tgz", - "integrity": "sha512-tySQRc+8q7V2NkylQMNJjDV8zXy6tkxb8oDqw/DIhHhI9Xn77MTKVZ8Cihbo5NMm7HYTB6xDKr6wqdSMgdufYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@joshwooding/vite-plugin-react-docgen-typescript": "^0.7.0", - "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "10.3.6", - "@storybook/react": "10.3.6", - "empathic": "^2.0.0", - "magic-string": "^0.30.0", - "react-docgen": "^8.0.0", - "resolve": "^1.22.8", - "tsconfig-paths": "^4.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "storybook": "^10.3.6", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@storybook/react-vite/node_modules/resolve": { - "version": "1.22.12", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", - "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@storybook/react-vite/node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.4.tgz", - "integrity": "sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==", - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.19.0", - "jiti": "^2.6.1", - "lightningcss": "1.32.0", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.2.4" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.4.tgz", - "integrity": "sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q==", - "license": "MIT", - "engines": { - "node": ">= 20" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.2.4", - "@tailwindcss/oxide-darwin-arm64": "4.2.4", - "@tailwindcss/oxide-darwin-x64": "4.2.4", - "@tailwindcss/oxide-freebsd-x64": "4.2.4", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.4", - "@tailwindcss/oxide-linux-arm64-gnu": "4.2.4", - "@tailwindcss/oxide-linux-arm64-musl": "4.2.4", - "@tailwindcss/oxide-linux-x64-gnu": "4.2.4", - "@tailwindcss/oxide-linux-x64-musl": "4.2.4", - "@tailwindcss/oxide-wasm32-wasi": "4.2.4", - "@tailwindcss/oxide-win32-arm64-msvc": "4.2.4", - "@tailwindcss/oxide-win32-x64-msvc": "4.2.4" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.4.tgz", - "integrity": "sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.4.tgz", - "integrity": "sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.4.tgz", - "integrity": "sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.4.tgz", - "integrity": "sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.4.tgz", - "integrity": "sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.4.tgz", - "integrity": "sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.4.tgz", - "integrity": "sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.4.tgz", - "integrity": "sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.4.tgz", - "integrity": "sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.4.tgz", - "integrity": "sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.8.1", - "@emnapi/runtime": "^1.8.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.1", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { - "version": "1.8.1", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { - "version": "1.8.1", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.1", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { - "version": "2.8.1", - "inBundle": true, - "license": "0BSD", - "optional": true - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.4.tgz", - "integrity": "sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.4.tgz", - "integrity": "sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/postcss": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.4.tgz", - "integrity": "sha512-wgAVj6nUWAolAu8YFvzT2cTBIElWHkjZwFYovF+xsqKsW2ADxM/X2opxj5NsF/qVccAOjRNe8X2IdPzMsWyHTg==", - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.2.4", - "@tailwindcss/oxide": "4.2.4", - "postcss": "^8.5.6", - "tailwindcss": "4.2.4" - } - }, - "node_modules/@tanstack/query-core": { - "version": "5.100.9", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.9.tgz", - "integrity": "sha512-SJSFw1S8+kQ0+knv/XGfrbocWoAlT7vDKsSImtLx3ZPQmEcR46hkDjLSvynSy25N8Ms4tIEini1FuBd5k7IscQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "5.100.9", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.9.tgz", - "integrity": "sha512-Oa44XkaI3kCNN6ME0KByU3xT3SEUNOMfZpHxL6+wFoTm+OeUFYHKdeYVe0aOXlRDm/f15sgLwEt2HDorIdW8+A==", - "license": "MIT", - "dependencies": { - "@tanstack/query-core": "5.100.9" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^18 || ^19" - } - }, - "node_modules/@testing-library/dom": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", - "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "picocolors": "1.1.1", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/@testing-library/dom/node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/jest-dom": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", - "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "picocolors": "^1.1.1", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/react": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", - "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0 || ^19.0.0", - "@types/react-dom": "^18.0.0 || ^19.0.0", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@testing-library/user-event": { - "version": "14.6.1", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", - "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/doctrine": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", - "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "license": "MIT" - }, - "node_modules/@types/mdx": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", - "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.19.0" - } - }, - "node_modules/@types/react": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", - "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@types/resolve": { - "version": "1.20.6", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", - "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.2.tgz", - "integrity": "sha512-j/bwmkBvHUtPNxzuWe5z6BEk3q54YRyGlBXkSsmfoih7zNrBvl5A9A98anlp/7JbyZcWIJ8KXo/3Tq/DjFLtuQ==", - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/type-utils": "8.59.2", - "@typescript-eslint/utils": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.59.2", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.2.tgz", - "integrity": "sha512-plR3pp6D+SSUn1HM7xvSkx12/DhoHInI2YF35KAcVFNZvlC0gtrWqx7Qq1oH2Ssgi0vlFRCTbP+DZc7B9+TtsQ==", - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.2.tgz", - "integrity": "sha512-+2hqvEkeyf/0FBor67duF0Ll7Ot8jyKzDQOSrxazF/danillRq2DwR9dLptsXpoZQqxE1UisSmoZewrlPas9Vw==", - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.2", - "@typescript-eslint/types": "^8.59.2", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.2.tgz", - "integrity": "sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==", - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.2.tgz", - "integrity": "sha512-BKK4alN7oi4C/zv4VqHQ+uRU+lTa6JGIZ7s1juw7b3RHo9OfKB+bKX3u0iVZetdsUCBBkSbdWbarJbmN0fTeSw==", - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.2.tgz", - "integrity": "sha512-nhqaj1nmTdVVl/BP5omXNRGO38jn5iosis2vbdmupF2txCf8ylWT8lx+JlvMYYVqzGVKtjojUFoQ3JRWK+mfzQ==", - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/utils": "8.59.2", - "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.2.tgz", - "integrity": "sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==", - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.2.tgz", - "integrity": "sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==", - "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.59.2", - "@typescript-eslint/tsconfig-utils": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.2.tgz", - "integrity": "sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q==", - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.2.tgz", - "integrity": "sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==", - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.59.2", - "eslint-visitor-keys": "^5.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@vitejs/plugin-react": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", - "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rolldown/pluginutils": "1.0.0-rc.7" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", - "babel-plugin-react-compiler": "^1.0.0", - "vite": "^8.0.0" - }, - "peerDependenciesMeta": { - "@rolldown/plugin-babel": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - } - } - }, - "node_modules/@vitest/browser": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.5.tgz", - "integrity": "sha512-iCDGI8c4yg+xmjUg2VsygdAUSIIB4x5Rht/P68OXy1hPELKXHDkzh87lkuTcdYmemRChDkEpB426MmDjzC0ziA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@blazediff/core": "1.9.1", - "@vitest/mocker": "4.1.5", - "@vitest/utils": "4.1.5", - "magic-string": "^0.30.21", - "pngjs": "^7.0.0", - "sirv": "^3.0.2", - "tinyrainbow": "^3.1.0", - "ws": "^8.19.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "vitest": "4.1.5" - } - }, - "node_modules/@vitest/browser-playwright": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.5.tgz", - "integrity": "sha512-CWy0lBQJq97nionyJJdnaU4961IXTl43a7UCu5nHy51IoKxAt6PVIJLo+76rVl7KOOgcWHNkG4kbJu/pW7knvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/browser": "4.1.5", - "@vitest/mocker": "4.1.5", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "playwright": "*", - "vitest": "4.1.5" - }, - "peerDependenciesMeta": { - "playwright": { - "optional": false - } - } - }, - "node_modules/@vitest/coverage-v8": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.5.tgz", - "integrity": "sha512-38C0/Ddb7HcRG0Z4/DUem8x57d2p9jYgp18mkaYswEOQBGsI1CG4f/hjm0ZCeaJfWhSZ4k7jgs29V1Zom7Ki9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^1.0.2", - "@vitest/utils": "4.1.5", - "ast-v8-to-istanbul": "^1.0.0", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-reports": "^3.2.0", - "magicast": "^0.5.2", - "obug": "^2.1.1", - "std-env": "^4.0.0-rc.1", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@vitest/browser": "4.1.5", - "vitest": "4.1.5" - }, - "peerDependenciesMeta": { - "@vitest/browser": { - "optional": true - } - } - }, - "node_modules/@vitest/expect": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz", - "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.5", - "@vitest/utils": "4.1.5", - "chai": "^6.2.2", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz", - "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "4.1.5", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", - "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz", - "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "4.1.5", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", - "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.5", - "@vitest/utils": "4.1.5", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz", - "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", - "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.5", - "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.1.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@webcontainer/env": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@webcontainer/env/-/env-1.1.1.tgz", - "integrity": "sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==", - "dev": true, - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/ast-types": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", - "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "license": "MIT" - }, - "node_modules/ast-v8-to-istanbul": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz", - "integrity": "sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.31", - "estree-walker": "^3.0.3", - "js-tokens": "^10.0.0" - } - }, - "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz", - "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/attr-accept": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", - "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.3.tgz", - "integrity": "sha512-zBQouZixDTbo3jMGqHKyePxYxr1e5W8UdTmBQ7sNtaA9M2bE32daxxPLS/jojhKOHxQ7LWwPjfiwf/fhaJWzlg==", - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz", - "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.16.0", - "form-data": "^4.0.5", - "proxy-from-env": "^2.1.0" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.23", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.23.tgz", - "integrity": "sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==", - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/bidi-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", - "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "require-from-string": "^2.0.2" - } - }, - "node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", - "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "get-intrinsic": "^1.3.0", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/check-error": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", - "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, - "node_modules/chromatic": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-13.3.5.tgz", - "integrity": "sha512-MzPhxpl838qJUo0A55osCF2ifwPbjcIPeElr1d4SHcjnHoIcg7l1syJDrAYK/a+PcCBrOGi06jPNpQAln5hWgw==", - "dev": true, - "license": "MIT", - "bin": { - "chroma": "dist/bin.js", - "chromatic": "dist/bin.js", - "chromatic-cli": "dist/bin.js" - }, - "peerDependencies": { - "@chromatic-com/cypress": "^0.*.* || ^1.0.0", - "@chromatic-com/playwright": "^0.*.* || ^1.0.0" - }, - "peerDependenciesMeta": { - "@chromatic-com/cypress": { - "optional": true - }, - "@chromatic-com/playwright": { - "optional": true - } - } - }, - "node_modules/class-variance-authority": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", - "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", - "license": "Apache-2.0", - "dependencies": { - "clsx": "^2.1.1" - }, - "funding": { - "url": "https://polar.sh/cva" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-tree": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", - "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.27.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true, - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "license": "BSD-2-Clause" - }, - "node_modules/data-urls": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", - "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "license": "MIT" - }, - "node_modules/default-browser": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", - "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", - "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.344", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", - "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/empathic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", - "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", - "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", - "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=20.19.0" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-abstract": { - "version": "1.24.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", - "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", - "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.2", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.1.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.3.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.5", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", - "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", - "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.7", - "@esbuild/android-arm": "0.27.7", - "@esbuild/android-arm64": "0.27.7", - "@esbuild/android-x64": "0.27.7", - "@esbuild/darwin-arm64": "0.27.7", - "@esbuild/darwin-x64": "0.27.7", - "@esbuild/freebsd-arm64": "0.27.7", - "@esbuild/freebsd-x64": "0.27.7", - "@esbuild/linux-arm": "0.27.7", - "@esbuild/linux-arm64": "0.27.7", - "@esbuild/linux-ia32": "0.27.7", - "@esbuild/linux-loong64": "0.27.7", - "@esbuild/linux-mips64el": "0.27.7", - "@esbuild/linux-ppc64": "0.27.7", - "@esbuild/linux-riscv64": "0.27.7", - "@esbuild/linux-s390x": "0.27.7", - "@esbuild/linux-x64": "0.27.7", - "@esbuild/netbsd-arm64": "0.27.7", - "@esbuild/netbsd-x64": "0.27.7", - "@esbuild/openbsd-arm64": "0.27.7", - "@esbuild/openbsd-x64": "0.27.7", - "@esbuild/openharmony-arm64": "0.27.7", - "@esbuild/sunos-x64": "0.27.7", - "@esbuild/win32-arm64": "0.27.7", - "@esbuild/win32-ia32": "0.27.7", - "@esbuild/win32-x64": "0.27.7" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", - "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.2", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.5", - "@eslint/js": "9.39.4", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.5", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-next": { - "version": "16.2.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.4.tgz", - "integrity": "sha512-A6ekXYFj/YQxBPMl45g3e+U8zJo+X2+ZQwcz34pPKjpc/3S4roBA2Rd9xWB4FKuSxhofo1/95WjzmUY+wHrOhg==", - "license": "MIT", - "dependencies": { - "@next/eslint-plugin-next": "16.2.4", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^7.0.0", - "globals": "16.4.0", - "typescript-eslint": "^8.46.0" - }, - "peerDependencies": { - "eslint": ">=9.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-next/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/eslint-config-next/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-config-next/node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", - "license": "ISC", - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-config-next/node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-config-next/node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-config-next/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-config-next/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-config-prettier": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", - "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "funding": { - "url": "https://opencollective.com/eslint-config-prettier" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-formatter-compact": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/eslint-formatter-compact/-/eslint-formatter-compact-9.0.1.tgz", - "integrity": "sha512-mBAti2tb403dQGMyilQTYHU80stem3N7jdtKW+tmn5gj3JNF7ki0rgCZtJFw4iMayTH862FTUIqCdp70ug0S0Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", - "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.16.1", - "resolve": "^2.0.0-next.6" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "license": "MIT", - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", - "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-simple-import-sort": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-13.0.0.tgz", - "integrity": "sha512-McAc+/Nlvcg4byY/CABGH8kqnefWBj8s3JA2okEtz8ixbECQgU46p0HkTUKa4YS7wvgGceimlc34p1nXqbWqtA==", - "license": "MIT", - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/eslint-plugin-storybook": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-10.3.6.tgz", - "integrity": "sha512-8udrL+Rmp5LFaZvgRe4J226X1MYls25bWCyHuzR5X8s2qbFTryX+wKC+o/0Ato4A1AvwnDg8OOMPc6yWJ9JpcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "^8.48.0" - }, - "peerDependencies": { - "eslint": ">=8", - "storybook": "^10.3.6" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/file-selector": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz", - "integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==", - "license": "MIT", - "dependencies": { - "tslib": "^2.7.0" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/filesize": { - "version": "10.1.6", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", - "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 10.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", - "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.2.2", - "minipass": "^7.1.3", - "path-scurry": "^2.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", - "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true, - "license": "MIT" - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "license": "MIT" - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", - "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@exodus/bytes": "^1.6.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", - "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", - "dev": true, - "license": "MIT", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", - "license": "MIT", - "dependencies": { - "semver": "^7.7.1" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", - "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/jose": { - "version": "4.15.9", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", - "integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "29.1.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", - "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@asamuzakjp/css-color": "^5.1.11", - "@asamuzakjp/dom-selector": "^7.1.1", - "@bramus/specificity": "^2.4.2", - "@csstools/css-syntax-patches-for-csstree": "^1.1.3", - "@exodus/bytes": "^1.15.0", - "css-tree": "^3.2.1", - "data-urls": "^7.0.0", - "decimal.js": "^10.6.0", - "html-encoding-sniffer": "^6.0.0", - "is-potential-custom-element-name": "^1.0.1", - "lru-cache": "^11.3.5", - "parse5": "^8.0.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^6.0.1", - "undici": "^7.25.0", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^8.0.1", - "whatwg-mimetype": "^5.0.0", - "whatwg-url": "^16.0.1", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24.0.0" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", - "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", - "cpu": [ - "arm" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loupe": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lucide-react": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.14.0.tgz", - "integrity": "sha512-+1mdWcfSJVUsaTIjN9zoezmUhfXo5l0vP7ekBMPo3jcS/aIkxHnXqAPsByszMZx/Y8oQBRJxJx5xg+RH3urzxA==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/magicast": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", - "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "source-map-js": "^1.2.1" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mdn-data": { - "version": "2.27.1", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", - "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/module-alias": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.3.4.tgz", - "integrity": "sha512-bOclZt8hkpuGgSSoG07PKmvzTizROilUTvLNyrMqvlC9snhs7y7GzjNWAVbISIOlhCP1T14rH1PDAV9iNyBq/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "license": "MIT" - }, - "node_modules/next": { - "version": "16.2.6", - "resolved": "https://registry.npmjs.org/next/-/next-16.2.6.tgz", - "integrity": "sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==", - "license": "MIT", - "dependencies": { - "@next/env": "16.2.6", - "@swc/helpers": "0.5.15", - "baseline-browser-mapping": "^2.9.19", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=20.9.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "16.2.6", - "@next/swc-darwin-x64": "16.2.6", - "@next/swc-linux-arm64-gnu": "16.2.6", - "@next/swc-linux-arm64-musl": "16.2.6", - "@next/swc-linux-x64-gnu": "16.2.6", - "@next/swc-linux-x64-musl": "16.2.6", - "@next/swc-win32-arm64-msvc": "16.2.6", - "@next/swc-win32-x64-msvc": "16.2.6", - "sharp": "^0.34.5" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.51.1", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next-auth": { - "version": "4.24.14", - "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.24.14.tgz", - "integrity": "sha512-YRz6xFDXKUwiXSMMChbrBEWyFktZ1qZXEgeSHQQ3nsy08B4c/xLk6REeutRsIFwkjY/1+ShHnu07DN3JeJguig==", - "license": "ISC", - "dependencies": { - "@babel/runtime": "^7.20.13", - "@panva/hkdf": "^1.0.2", - "cookie": "^0.7.0", - "jose": "^4.15.5", - "oauth": "^0.9.15", - "openid-client": "^5.4.0", - "preact": "^10.6.3", - "preact-render-to-string": "^5.1.19", - "uuid": "^8.3.2" - }, - "peerDependencies": { - "@auth/core": "0.34.3", - "next": "^12.2.5 || ^13 || ^14 || ^15 || ^16", - "nodemailer": "^7.0.7", - "react": "^17.0.2 || ^18 || ^19", - "react-dom": "^17.0.2 || ^18 || ^19" - }, - "peerDependenciesMeta": { - "@auth/core": { - "optional": true - }, - "nodemailer": { - "optional": true - } - } - }, - "node_modules/next-themes": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", - "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/node-exports-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", - "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", - "license": "MIT", - "dependencies": { - "array.prototype.flatmap": "^1.3.3", - "es-errors": "^1.3.0", - "object.entries": "^1.1.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/node-exports-info/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", - "license": "MIT" - }, - "node_modules/oauth": { - "version": "0.9.15", - "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", - "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==", - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obug": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", - "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/sxzz", - "https://opencollective.com/debug" - ], - "license": "MIT" - }, - "node_modules/oidc-token-hash": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.2.0.tgz", - "integrity": "sha512-6gj2m8cJZ+iSW8bm0FXdGF0YhIQbKrfP4yWTNzxc31U6MOjfEmB1rHvlYvxI1B7t7BCi1F2vYTT6YhtQRG4hxw==", - "license": "MIT", - "engines": { - "node": "^10.13.0 || >=12.0.0" - } - }, - "node_modules/open": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/openid-client": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.7.1.tgz", - "integrity": "sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew==", - "license": "MIT", - "dependencies": { - "jose": "^4.15.9", - "lru-cache": "^6.0.0", - "object-hash": "^2.2.0", - "oidc-token-hash": "^5.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, - "node_modules/openid-client/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/openid-client/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", - "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^8.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.3.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", - "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/playwright": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", - "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", - "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/pngjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", - "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.19.0" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", - "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/preact": { - "version": "10.29.1", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.1.tgz", - "integrity": "sha512-gQCLc/vWroE8lIpleXtdJhTFDogTdZG9AjMUpVkDf2iTCNwYNWA+u16dL41TqUDJO4gm2IgrcMv3uTpjd4Pwmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/preact-render-to-string": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz", - "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==", - "license": "MIT", - "dependencies": { - "pretty-format": "^3.8.0" - }, - "peerDependencies": { - "preact": ">=10" - } - }, - "node_modules/preact-render-to-string/node_modules/pretty-format": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", - "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==", - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", - "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/proxy-from-env": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", - "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", - "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-docgen": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-8.0.3.tgz", - "integrity": "sha512-aEZ9qP+/M+58x2qgfSFEWH1BxLyHe5+qkLNJOZQb5iGS017jpbRnoKhNRrXPeA6RfBrZO5wZrT9DMC1UqE1f1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.0", - "@babel/traverse": "^7.28.0", - "@babel/types": "^7.28.2", - "@types/babel__core": "^7.20.5", - "@types/babel__traverse": "^7.20.7", - "@types/doctrine": "^0.0.9", - "@types/resolve": "^1.20.2", - "doctrine": "^3.0.0", - "resolve": "^1.22.1", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": "^20.9.0 || >=22" - } - }, - "node_modules/react-docgen-typescript": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.4.0.tgz", - "integrity": "sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "typescript": ">= 4.3.x" - } - }, - "node_modules/react-docgen/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/react-docgen/node_modules/resolve": { - "version": "1.22.12", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", - "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/react-docgen/node_modules/strip-indent": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.1.1.tgz", - "integrity": "sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dom": { - "version": "19.2.5", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", - "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.5" - } - }, - "node_modules/react-dropzone": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-15.0.0.tgz", - "integrity": "sha512-lGjYV/EoqEjEWPnmiSvH4v5IoIAwQM2W4Z1C0Q/Pw2xD0eVzKPS359BQTUMum+1fa0kH2nrKjuavmTPOGhpLPg==", - "license": "MIT", - "dependencies": { - "attr-accept": "^2.2.4", - "file-selector": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "react": ">= 16.8 || 18.0.0" - } - }, - "node_modules/react-hook-form": { - "version": "7.75.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.75.0.tgz", - "integrity": "sha512-Ovv94H+0p3sJ7B9B5QxPuCP1u8V/cHuVGyH55cSwodYDtoJwK+fqk3vjfIgSX59I2U/bU4z0nRJ9HMLpNiWEmw==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/react-hook-form" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17 || ^18 || ^19" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/recast": { - "version": "0.23.11", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", - "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/reselect": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", - "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "node-exports-info": "^1.6.0", - "object-keys": "^1.1.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rolldown": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz", - "integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@oxc-project/types": "=0.127.0", - "@rolldown/pluginutils": "1.0.0-rc.17" - }, - "bin": { - "rolldown": "bin/cli.mjs" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-rc.17", - "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", - "@rolldown/binding-darwin-x64": "1.0.0-rc.17", - "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", - "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", - "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", - "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", - "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", - "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" - } - }, - "node_modules/rolldown/node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.17", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz", - "integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==", - "dev": true, - "license": "MIT" - }, - "node_modules/run-applescript": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", - "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", - "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "get-intrinsic": "^1.3.0", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, - "node_modules/sirv": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", - "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "license": "MIT" - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/std-env": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", - "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/storybook": { - "version": "10.3.6", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-10.3.6.tgz", - "integrity": "sha512-vbSz7g/1rGMC1uAULqMZjALkIuLu2QABqfhRYhyr/11kzyesi+vAmwyJLukZP1FfecxGOgMwOh6GS0YsGpHAvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/icons": "^2.0.1", - "@testing-library/jest-dom": "^6.9.1", - "@testing-library/user-event": "^14.6.1", - "@vitest/expect": "3.2.4", - "@vitest/spy": "3.2.4", - "@webcontainer/env": "^1.1.1", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0", - "open": "^10.2.0", - "recast": "^0.23.5", - "semver": "^7.7.3", - "use-sync-external-store": "^1.5.0", - "ws": "^8.18.0" - }, - "bin": { - "storybook": "dist/bin/dispatcher.js" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "prettier": "^2 || ^3", - "vite-plus": "^0.1.15" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - }, - "vite-plus": { - "optional": true - } - } - }, - "node_modules/storybook/node_modules/@vitest/expect": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/storybook/node_modules/@vitest/pretty-format": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/storybook/node_modules/@vitest/spy": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^4.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/storybook/node_modules/@vitest/utils": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "loupe": "^3.1.4", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/storybook/node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/storybook/node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", - "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tailwind-merge": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz", - "integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.4.tgz", - "integrity": "sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==", - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", - "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/tinyrainbow": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", - "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", - "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tldts": { - "version": "7.0.28", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.28.tgz", - "integrity": "sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tldts-core": "^7.0.28" - }, - "bin": { - "tldts": "bin/cli.js" - } - }, - "node_modules/tldts-core": { - "version": "7.0.28", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.28.tgz", - "integrity": "sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", - "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^7.0.5" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/tr46": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", - "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/ts-api-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", - "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tw-animate-css": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz", - "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Wombosvideo" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.2.tgz", - "integrity": "sha512-pJw051uomb3ZeCzGTpRb8RbEqB5Y4WWet8gl/GcTlU35BSx0PVdZ86/bqkQCyKKuraVQEK7r6kBHQXF+fBhkoQ==", - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.59.2", - "@typescript-eslint/parser": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/utils": "8.59.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz", - "integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.18.1" - } - }, - "node_modules/undici-types": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.19.2.tgz", - "integrity": "sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==", - "dev": true, - "license": "MIT" - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unplugin": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", - "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "acorn": "^8.15.0", - "picomatch": "^4.0.3", - "webpack-virtual-modules": "^0.6.2" - }, - "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/unplugin/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vite": { - "version": "8.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz", - "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "lightningcss": "^1.32.0", - "picomatch": "^4.0.4", - "postcss": "^8.5.10", - "rolldown": "1.0.0-rc.17", - "tinyglobby": "^0.2.16" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "@vitejs/devtools": "^0.1.0", - "esbuild": "^0.27.0 || ^0.28.0", - "jiti": ">=1.21.0", - "less": "^4.0.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" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "@vitejs/devtools": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-plugin-storybook-nextjs": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-plugin-storybook-nextjs/-/vite-plugin-storybook-nextjs-3.2.4.tgz", - "integrity": "sha512-shFOJpGQsWDS1FLm8BR8b6FIQC65pFZ5a0IUFGLiBHAX1eRz0N8TOhUJN4p708zfPBLDXqWzj++ocECe8gSoMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@next/env": "16.0.0", - "image-size": "^2.0.0", - "magic-string": "^0.30.11", - "module-alias": "^2.2.3", - "ts-dedent": "^2.2.0", - "vite-tsconfig-paths": "^5.1.4" - }, - "peerDependencies": { - "next": "^14.1.0 || ^15.0.0 || ^16.0.0", - "storybook": "^0.0.0-0 || ^9.0.0 || ^10.0.0 || ^10.0.0-0 || ^10.1.0-0 || ^10.2.0-0 || ^10.3.0-0 || ^10.4.0-0", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/vite-plugin-storybook-nextjs/node_modules/@next/env": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.0.tgz", - "integrity": "sha512-s5j2iFGp38QsG1LWRQaE2iUY3h1jc014/melHFfLdrsMJPqxqDQwWNwyQTcNoUSGZlCVZuM7t7JDMmSyRilsnA==", - "dev": true, - "license": "MIT" - }, - "node_modules/vite-plugin-storybook-nextjs/node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "dev": true, - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vite-plugin-storybook-nextjs/node_modules/vite-tsconfig-paths": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", - "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^3.0.3" - }, - "peerDependencies": { - "vite": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/vite-tsconfig-paths": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.1.tgz", - "integrity": "sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^3.0.3" - }, - "peerDependencies": { - "vite": "*" - } - }, - "node_modules/vite-tsconfig-paths/node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "dev": true, - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/vitest": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", - "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.1.5", - "@vitest/mocker": "4.1.5", - "@vitest/pretty-format": "4.1.5", - "@vitest/runner": "4.1.5", - "@vitest/snapshot": "4.1.5", - "@vitest/spy": "4.1.5", - "@vitest/utils": "4.1.5", - "es-module-lexer": "^2.0.0", - "expect-type": "^1.3.0", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^4.0.0-rc.1", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.1.0", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@opentelemetry/api": "^1.9.0", - "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.5", - "@vitest/browser-preview": "4.1.5", - "@vitest/browser-webdriverio": "4.1.5", - "@vitest/coverage-istanbul": "4.1.5", - "@vitest/coverage-v8": "4.1.5", - "@vitest/ui": "4.1.5", - "happy-dom": "*", - "jsdom": "*", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "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/coverage-istanbul": { - "optional": true - }, - "@vitest/coverage-v8": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - }, - "vite": { - "optional": false - } - } - }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", - "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/webidl-conversions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", - "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=20" - } - }, - "node_modules/webpack-virtual-modules": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", - "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/whatwg-mimetype": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", - "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20" - } - }, - "node_modules/whatwg-url": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", - "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@exodus/bytes": "^1.11.0", - "tr46": "^6.0.0", - "webidl-conversions": "^8.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/wsl-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", - "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", - "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" - } - } - } -} diff --git a/frontend/package.json b/frontend/package.json index 6c1f238d..ad806c5e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,13 +1,20 @@ { - "name": "digest-engine-frontend", + "name": "@digestengine/frontend", "private": true, "version": "0.1.0", + "packageManager": "pnpm@11.1.2", + "engines": { + "node": ">=24.8.0", + "pnpm": ">=11.1.0" + }, "scripts": { "dev": "next dev --webpack", "build": "next build", "start": "next start", "typecheck": "tsc --noEmit", "lint": "eslint . --max-warnings=0", + "lint:style": "stylelint \"src/**/*.css\"", + "lint:style:fix": "stylelint \"src/**/*.css\" --fix", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check .", @@ -22,57 +29,59 @@ "dependencies": { "@base-ui/react": "^1.4.1", "@eslint/js": "9.39.4", - "@tailwindcss/postcss": "^4.2.4", - "@tanstack/react-query": "^5.100.9", - "axios": "^1.16.0", + "@tailwindcss/postcss": "^4.3.0", + "@tailwindcss/forms": "^0.5.11", + "@tailwindcss/typography": "^0.5.19", + "@tanstack/react-query": "^5.100.10", + "axios": "^1.16.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "eslint": "9.39.4", - "eslint-config-next": "^16.2.4", + "eslint-config-next": "^16.2.6", "eslint-config-prettier": "^10.1.8", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-simple-import-sort": "^13.0.0", - "lucide-react": "^1.14.0", + "lucide-react": "^1.16.0", "next": "16.2.6", "next-auth": "^4.24.14", "next-themes": "^0.4.6", "postcss": "^8.5.14", "prettier": "^3.8.3", - "react": "19.2.5", - "react-dom": "19.2.5", + "react": "19.2.6", + "react-dom": "19.2.6", "react-dropzone": "^15.0.0", "react-hook-form": "^7.75.0", - "tailwind-merge": "^3.5.0", - "tailwindcss": "^4.2.4", + "tailwind-merge": "^3.6.0", + "tailwindcss": "^4.3.0", "tw-animate-css": "^1.4.0", - "typescript-eslint": "^8.59.2" + "typescript-eslint": "^8.59.3" }, "devDependencies": { - "@chromatic-com/storybook": "^5.1.2", - "@storybook/addon-a11y": "^10.3.6", - "@storybook/addon-docs": "^10.3.6", - "@storybook/addon-themes": "^10.3.6", - "@storybook/addon-vitest": "^10.3.6", - "@storybook/nextjs-vite": "^10.3.6", + "@chromatic-com/storybook": "^5.2.1", + "@storybook/addon-a11y": "^10.4.0", + "@storybook/addon-docs": "^10.4.0", + "@storybook/addon-themes": "^10.4.0", + "@storybook/addon-vitest": "^10.4.0", + "@storybook/nextjs-vite": "^10.4.0", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", - "@types/node": "25.6.0", + "@types/node": "25.8.0", "@types/react": "19.2.14", "@types/react-dom": "19.2.3", - "@vitejs/plugin-react": "^6.0.1", - "@vitest/browser-playwright": "^4.1.5", - "@vitest/coverage-v8": "^4.1.5", + "@vitejs/plugin-react": "^6.0.2", + "@vitest/browser-playwright": "^4.1.6", + "@vitest/coverage-v8": "^4.1.6", "eslint-formatter-compact": "^9.0.1", - "eslint-plugin-storybook": "^10.3.6", + "eslint-plugin-storybook": "^10.4.0", "jsdom": "^29.1.1", - "playwright": "^1.59.1", - "storybook": "^10.3.6", - "typescript": "6.0.3", - "vite": "^8.0.10", + "playwright": "^1.60.0", + "storybook": "^10.4.0", + "typescript": "5.9.3", + "vite": "^8.0.13", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^4.1.5" + "vitest": "^4.1.6" } } diff --git a/frontend/public/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf b/frontend/public/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf new file mode 100644 index 00000000..ecb5f736 Binary files /dev/null and b/frontend/public/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf differ diff --git a/frontend/public/fonts/JetBrainsMono-VariableFont_wght.ttf b/frontend/public/fonts/JetBrainsMono-VariableFont_wght.ttf new file mode 100644 index 00000000..4c96e798 Binary files /dev/null and b/frontend/public/fonts/JetBrainsMono-VariableFont_wght.ttf differ diff --git a/frontend/public/fonts/Outfit-VariableFont_wght.ttf b/frontend/public/fonts/Outfit-VariableFont_wght.ttf new file mode 100644 index 00000000..74caba13 Binary files /dev/null and b/frontend/public/fonts/Outfit-VariableFont_wght.ttf differ diff --git a/frontend/public/fonts/PublicSans-Italic-VariableFont_wght.ttf b/frontend/public/fonts/PublicSans-Italic-VariableFont_wght.ttf new file mode 100644 index 00000000..31d6684d Binary files /dev/null and b/frontend/public/fonts/PublicSans-Italic-VariableFont_wght.ttf differ diff --git a/frontend/public/fonts/PublicSans-VariableFont_wght.ttf b/frontend/public/fonts/PublicSans-VariableFont_wght.ttf new file mode 100644 index 00000000..711d3142 Binary files /dev/null and b/frontend/public/fonts/PublicSans-VariableFont_wght.ttf differ diff --git a/frontend/src/app/(home)/_components/ContentFeed/index.tsx b/frontend/src/app/(home)/_components/ContentFeed/index.tsx index 14749253..76b59769 100644 --- a/frontend/src/app/(home)/_components/ContentFeed/index.tsx +++ b/frontend/src/app/(home)/_components/ContentFeed/index.tsx @@ -30,7 +30,7 @@ export function ContentFeed({ return (
{filteredContents.length === 0 ? ( - + No content matched the current filters. ) : null} @@ -39,14 +39,14 @@ export function ContentFeed({ return (

{content.title}

-
+
{formatDate(content.published_date)} {content.author || "Unknown author"} {formatDisplayLabel(content.source_plugin)} @@ -73,29 +73,29 @@ export function ContentFeed({ ) : null} {content.authority_adjusted_score !== null ? ( - + Base {formatPercentScore(content.relevance_score)} ) : null} - + {formatDisplayLabel(content.content_type || "unclassified")} {content.duplicate_signal_count > 0 ? ( - + Also seen in {content.duplicate_signal_count} source {content.duplicate_signal_count === 1 ? "" : "s"} ) : null} {content.duplicate_of ? ( - + Duplicate of #{content.duplicate_of} ) : null} {content.is_reference ? ( - reference + reference ) : null} {!content.is_active ? ( - archived + archived ) : null} {content.newsletter_promotion_at ? ( -

{truncateText(content.content_text)}

+

{truncateText(content.content_text)}

{ />, ) - expect(screen.getByRole("button", { name: "Apply filters" })).toHaveClass( - "hover:bg-primary/84", - ) + expect(screen.getByRole("button", { name: "Apply filters" })).toHaveAttribute("type", "submit") expect(screen.getByRole("link", { name: "Reset" })).toHaveAttribute("href", "/?project=1") - expect(container.querySelector("#dashboard-view-filter")).toHaveClass( - "border-border/45", - "bg-card/95", - "hover:bg-secondary/88", - ) + expect(container.querySelector("#dashboard-view-filter")).toBeInTheDocument() expect(container.querySelector('input[name="project"]')).toHaveValue("1") expect(container.querySelector('input[name="contentType"]')).toHaveValue("article") expect(container.querySelector('input[name="source"]')).toHaveValue("rss") expect(container.querySelector('input[name="days"]')).toHaveValue("30") + expect(container.querySelector('input[name="duplicateState"]')).toHaveValue("duplicate_related") }) }) diff --git a/frontend/src/app/(home)/_components/DashboardFilterToolbar/index.tsx b/frontend/src/app/(home)/_components/DashboardFilterToolbar/index.tsx index e839538a..fe9cfb28 100644 --- a/frontend/src/app/(home)/_components/DashboardFilterToolbar/index.tsx +++ b/frontend/src/app/(home)/_components/DashboardFilterToolbar/index.tsx @@ -20,7 +20,7 @@ import { } from "../shared" const dashboardSelectTriggerClassName = - "w-full rounded-2xl border-border/45 bg-card/95 px-4 py-3 text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,0.06)] hover:bg-secondary/88 focus-visible:border-ring" + "w-full rounded-2xl border-trim-offset bg-page-base px-4 py-3 text-content-active shadow-[inset_0_1px_0_rgba(255,255,255,0.06)] hover:bg-secondary" type DashboardFilterToolbarProps = { projectId: number @@ -45,7 +45,7 @@ export function DashboardFilterToolbar({ duplicateStateFilter, }: DashboardFilterToolbarProps) { return ( - +
{items.map((item) => (

{item.label}

{item.value}

-

{item.description}

+

{item.description}

))} diff --git a/frontend/src/app/(home)/_components/DashboardSidebar/index.tsx b/frontend/src/app/(home)/_components/DashboardSidebar/index.tsx index c5df00b9..f010aeff 100644 --- a/frontend/src/app/(home)/_components/DashboardSidebar/index.tsx +++ b/frontend/src/app/(home)/_components/DashboardSidebar/index.tsx @@ -15,31 +15,31 @@ export function DashboardSidebar({ }: DashboardSidebarProps) { return (