From ee53a9c313fdc2ad61e2a56d46f8278e2e67a6c3 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Wed, 17 Jun 2026 03:26:11 +0200 Subject: [PATCH 1/9] Update [ghstack-poisoned] --- .github/renovate.json | 8 + .github/workflows/check.yaml | 27 - .github/workflows/cleanup.yaml | 41 +- .github/workflows/commands.yaml | 129 ++ .github/workflows/integration.yaml | 34 + .github/workflows/land.yaml | 28 - .github/workflows/nix.yaml | 152 ++ .github/workflows/release.yaml | 97 +- .github/workflows/test.yaml | 35 - .github/workflows/triage.yaml | 62 +- .github/workflows/update.yaml | 40 +- .gitignore | 11 - AGENTS.md | 4 +- README.md | 6 +- algorithm-cc/.vscode/c_cpp_properties.json | 4 +- algorithm-cc/.vscode/settings.json | 4 +- algorithm-cc/CMakePresets.json | 23 +- algorithm-elixir/.vscode/extensions.json | 7 +- algorithm-javascript/package-lock.json | 2133 +------------------- algorithm-javascript/package.json | 20 +- algorithm-javascript/src/cipher.test.ts | 6 +- algorithm-javascript/src/fib.test.ts | 6 +- algorithm-javascript/src/fib.ts | 2 - algorithm-javascript/src/oneAway.test.ts | 6 +- algorithm-javascript/src/oneAway.ts | 2 - algorithm-javascript/vitest.config.ts | 4 +- algorithm-ocaml/.vscode/extensions.json | 6 +- algorithm-ocaml/.vscode/settings.json | 6 +- algorithm-python/.vscode/extensions.json | 7 +- algorithm-python/.vscode/settings.json | 4 +- flake.nix | 1 - 31 files changed, 518 insertions(+), 2397 deletions(-) create mode 100644 .github/renovate.json delete mode 100644 .github/workflows/check.yaml create mode 100644 .github/workflows/commands.yaml create mode 100644 .github/workflows/integration.yaml delete mode 100644 .github/workflows/land.yaml create mode 100644 .github/workflows/nix.yaml delete mode 100644 .github/workflows/test.yaml diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 0000000..4906aeb --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:best-practices", "security:openssf-scorecard"], + "nix": { "enabled": true }, + "postUpgradeTasks": { + "nixFmt": { "commands": ["nix", "fmt"], "installTools": { "nix": {} } } + } +} diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml deleted file mode 100644 index 3009af1..0000000 --- a/.github/workflows/check.yaml +++ /dev/null @@ -1,27 +0,0 @@ -jobs: - check: - runs-on: ubuntu-latest - steps: - - id: createGithubAppToken - uses: actions/create-github-app-token@v2 - with: - app-id: ${{ vars.OPERATOR_APP_ID }} - private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} - - uses: shikanime-studio/setup-nix-action@v1 - with: - github-token: ${{ steps.createGithubAppToken.outputs.token }} - - run: nix flake check --accept-flake-config --all-systems --no-pure-eval -name: Check -'on': - pull_request: - branches: - - main - - gh/*/*/base - push: - branches: - - main - - release-* diff --git a/.github/workflows/cleanup.yaml b/.github/workflows/cleanup.yaml index 5aa0f5a..5bcaf60 100644 --- a/.github/workflows/cleanup.yaml +++ b/.github/workflows/cleanup.yaml @@ -1,32 +1,25 @@ +name: Cleanup +permissions: + contents: read +"on": + pull_request: + types: + - closed jobs: cleanup: - runs-on: ubuntu-latest + if: ${{ github.event.pull_request.head.repo.fork == false }} + runs-on: ubuntu-slim steps: - id: createGithubAppToken - uses: actions/create-github-app-token@v2 + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: write private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 + - uses: shikanime-studio/actions/nix/setup@v9 with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} - - env: - BASE_REF: ${{ github.base_ref }} - GITHUB_TOKEN: ${{ steps.createGithubAppToken.outputs.token }} - HEAD_REF: ${{ github.head_ref }} - REPO: ${{ github.repository }} - if: '!(startsWith(github.head_ref, ''gh/'') && endsWith(github.head_ref, ''/head''))' - run: git push origin --delete "$HEAD_REF" - - env: - BASE_REF: ${{ github.base_ref }} - GITHUB_TOKEN: ${{ steps.createGithubAppToken.outputs.token }} - HEAD_REF: ${{ github.head_ref }} - REPO: ${{ github.repository }} - if: startsWith(github.head_ref, 'gh/') && endsWith(github.head_ref, '/head') - run: "for role in base head orig; do\n git push origin --delete \"${HEAD_REF%/head}/$role\" || true\ndone\n" -name: Cleanup -'on': - pull_request: - types: - - closed + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/cleanup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + pull-request-url: ${{ github.event.pull_request.html_url }} diff --git a/.github/workflows/commands.yaml b/.github/workflows/commands.yaml new file mode 100644 index 0000000..28e3a95 --- /dev/null +++ b/.github/workflows/commands.yaml @@ -0,0 +1,129 @@ +name: Commands +permissions: + contents: read +"on": + issue_comment: + types: + - created +jobs: + backport: + if: + github.event.issue.pull_request != null && + contains(github.event.comment.body, '.backport') + runs-on: ubuntu-slim + steps: + - id: createGithubAppToken + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: write + permission-issues: write + permission-pull-requests: write + permission-workflows: write + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/command/backport@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} + gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} + sign-commits: true + close: + if: + github.event.issue.pull_request != null && + contains(github.event.comment.body, '.close') + runs-on: ubuntu-slim + steps: + - id: createGithubAppToken + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: write + permission-issues: write + permission-pull-requests: write + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/command/close@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + username: operator6o + land: + if: + github.event.issue.pull_request != null && + (contains(github.event.comment.body, '.land') || + contains(github.event.comment.body, '.force-land')) + runs-on: ubuntu-slim + steps: + - id: createGithubAppToken + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-administration: read + permission-contents: write + permission-issues: write + permission-pull-requests: write + permission-workflows: write + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/command/land@v9 + with: + email: operator6o@shikanime.studio + fullname: Operator 6O + github-token: ${{ steps.createGithubAppToken.outputs.token }} + gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} + gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} + sign-commits: true + username: operator6o + rebase: + if: + github.event.issue.pull_request != null && + contains(github.event.comment.body, '.rebase') + runs-on: ubuntu-slim + steps: + - id: createGithubAppToken + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: write + permission-issues: write + permission-pull-requests: write + permission-workflows: write + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/command/rebase@v9 + with: + email: operator6o@shikanime.studio + fullname: Operator 6O + github-token: ${{ steps.createGithubAppToken.outputs.token }} + gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} + gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} + sign-commits: true + username: operator6o + run: + if: + github.event.issue.pull_request != null && + contains(github.event.comment.body, '.run') + runs-on: ubuntu-slim + steps: + - id: createGithubAppToken + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: write + permission-issues: write + permission-pull-requests: write + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/command/run@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml new file mode 100644 index 0000000..d194dcb --- /dev/null +++ b/.github/workflows/integration.yaml @@ -0,0 +1,34 @@ +name: Integration +permissions: + contents: read +jobs: + nix: + if: + ${{ github.event_name == 'workflow_call' || github.event_name == + 'workflow_dispatch' || github.event.pull_request.draft == false }} + permissions: + contents: read + packages: write + secrets: + CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }} + OPERATOR_PRIVATE_KEY: ${{ secrets.OPERATOR_PRIVATE_KEY }} + uses: ./.github/workflows/nix.yaml + with: + cachix-name: shikanime +"on": + pull_request: + branches: + - main + - gh/*/*/base + types: + - opened + - reopened + - synchronize + - ready_for_review + workflow_call: + secrets: + CACHIX_AUTH_TOKEN: + required: false + OPERATOR_PRIVATE_KEY: + required: true + workflow_dispatch: {} diff --git a/.github/workflows/land.yaml b/.github/workflows/land.yaml deleted file mode 100644 index 4787d34..0000000 --- a/.github/workflows/land.yaml +++ /dev/null @@ -1,28 +0,0 @@ -jobs: - land: - runs-on: ubuntu-latest - steps: - - id: createGithubAppToken - uses: actions/create-github-app-token@v2 - with: - app-id: ${{ vars.OPERATOR_APP_ID }} - private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} - - uses: shikanime-studio/setup-nix-action@v1 - with: - github-token: ${{ steps.createGithubAppToken.outputs.token }} - - uses: shikanime-studio/sapling-action@v5 - with: - github-token: ${{ steps.createGithubAppToken.outputs.token }} - gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} - gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} - sign-commits: true - username: Operator 6O -name: Land -'on': - issue_comment: - types: - - created diff --git a/.github/workflows/nix.yaml b/.github/workflows/nix.yaml new file mode 100644 index 0000000..93aaee9 --- /dev/null +++ b/.github/workflows/nix.yaml @@ -0,0 +1,152 @@ +name: Nix +permissions: + contents: read +"on": + workflow_call: + inputs: + cachix-name: + type: string + default: "" + secrets: + CACHIX_AUTH_TOKEN: + required: false + OPERATOR_PRIVATE_KEY: + required: true + workflow_dispatch: + inputs: + cachix-name: + type: string + default: "" + description: Cachix cache name +jobs: + checks: + name: Checks + if: ${{ needs['setup-checks-jobs'].outputs.continue == 'true' }} + runs-on: ${{ matrix.runner }} + needs: + - setup-checks-jobs + strategy: + fail-fast: false + matrix: + include: ${{ fromJSON(needs['setup-checks-jobs'].outputs.matrix) }} + steps: + - id: createGithubAppToken + continue-on-error: true + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }} + cachix-name: ${{ inputs['cachix-name'] }} + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - uses: shikanime-studio/actions/checkout@v9 + with: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - id: direnv + uses: shikanime-studio/actions/direnv@v9 + - env: ${{ fromJSON(steps.direnv.outputs.env) }} + run: + nix flake check --accept-flake-config --no-pure-eval --system "${{ + matrix.system }}" + shell: bash + packages: + name: Packages + if: ${{ needs['setup-packages-jobs'].outputs.continue == 'true' }} + runs-on: ${{ matrix.runner }} + needs: + - setup-packages-jobs + permissions: + contents: read + packages: write + strategy: + fail-fast: false + matrix: + include: ${{ fromJSON(needs['setup-packages-jobs'].outputs.matrix) }} + steps: + - id: createGithubAppToken + continue-on-error: true + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }} + cachix-name: ${{ inputs['cachix-name'] }} + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - uses: shikanime-studio/actions/checkout@v9 + with: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - id: direnv + uses: shikanime-studio/actions/direnv@v9 + - env: ${{ fromJSON(steps.direnv.outputs.env) }} + uses: shikanime-studio/actions/nix/integration@v9 + with: + name: ${{ matrix.name }} + system: ${{ matrix.system }} + setup-checks-jobs: + name: Setup Checks Jobs + runs-on: ubuntu-latest + outputs: + continue: ${{ steps.setup-checks-jobs.outputs.continue }} + matrix: ${{ steps.setup-checks-jobs.outputs.matrix }} + steps: + - id: createGithubAppToken + continue-on-error: true + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - uses: shikanime-studio/actions/checkout@v9 + with: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - id: setup-checks-jobs + uses: shikanime-studio/actions/nix/setup-checks-jobs@v9 + setup-packages-jobs: + name: Setup Packages Jobs + runs-on: ubuntu-latest + needs: + - checks + outputs: + continue: ${{ steps.setup-packages-jobs.outputs.continue }} + matrix: ${{ steps.setup-packages-jobs.outputs.matrix }} + steps: + - id: createGithubAppToken + continue-on-error: true + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - uses: shikanime-studio/actions/checkout@v9 + with: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - id: setup-packages-jobs + uses: shikanime-studio/actions/nix/setup-packages-jobs@v9 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 615a490..bea304a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,41 +1,88 @@ +name: Release +permissions: + contents: read +"on": + push: + branches: + - main + - release-[0-9]+.[0-9]+ + tags: + - v?[0-9]+.[0-9]+.[0-9]+* + workflow_call: + secrets: + CACHIX_AUTH_TOKEN: + required: true + OPERATOR_PRIVATE_KEY: + required: true + workflow_dispatch: + inputs: + ref_name: + description: Tag or branch to release + required: true jobs: - check: + nix: + name: Checks runs-on: ubuntu-latest + permissions: + contents: read steps: - id: createGithubAppToken - uses: actions/create-github-app-token@v2 + continue-on-error: true + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 + - uses: shikanime-studio/actions/nix/setup@v9 with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} - - uses: shikanime-studio/setup-nix-action@v1 + cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }} + cachix-name: shikanime + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - uses: shikanime-studio/actions/checkout@v9 with: - github-token: ${{ steps.createGithubAppToken.outputs.token }} - - run: nix flake check --accept-flake-config --all-systems --no-pure-eval - publish: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - id: direnv + uses: shikanime-studio/actions/direnv@v9 + - env: ${{ fromJSON(steps.direnv.outputs.env) }} + run: | + nix flake check --accept-flake-config --no-pure-eval --system "${{ matrix.system }}" + shell: bash + strategy: + fail-fast: false + matrix: + system: + - x86_64-linux + - aarch64-linux + release: + if: | + (startsWith(github.ref, 'refs/tags/v')) || (github.event_name == + 'workflow_dispatch' && startsWith(github.event.inputs.ref_name, 'v')) needs: - - check - runs-on: ubuntu-latest + - nix + permissions: + contents: write + runs-on: ubuntu-slim steps: - id: createGithubAppToken - uses: actions/create-github-app-token@v2 + continue-on-error: true + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: write + permission-workflows: write private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 + - uses: shikanime-studio/actions/nix/setup@v9 with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} - - env: - GITHUB_TOKEN: ${{ steps.createGithubAppToken.outputs.token }} - REF_NAME: ${{ github.ref_name }} - REPO: ${{ github.repository }} - run: gh release create "$REF_NAME" --repo "$REPO" --generate-notes -name: Release -'on': - push: - tags: - - v?[0-9]+.[0-9]+.[0-9]+* + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/checkout@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + - uses: shikanime-studio/actions/release@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + ref: ${{ github.ref_name || github.event.inputs.ref_name }} + repo: ${{ github.repository }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml deleted file mode 100644 index 332fd3e..0000000 --- a/.github/workflows/test.yaml +++ /dev/null @@ -1,35 +0,0 @@ -jobs: - test: - runs-on: ubuntu-latest - steps: - - id: createGithubAppToken - uses: actions/create-github-app-token@v2 - with: - app-id: ${{ vars.OPERATOR_APP_ID }} - private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} - - uses: shikanime-studio/setup-nix-action@v1 - with: - github-token: ${{ steps.createGithubAppToken.outputs.token }} - - run: nix develop --accept-flake-config --no-pure-eval .#${{ matrix.package }} --command devenv test - working-directory: ${{ matrix.package }} - strategy: - matrix: - package: - - algorithm-cc - - algorithm-elixir - - algorithm-javascript - - algorithm-ocaml - - algorithm-python -name: Test -'on': - pull_request: - branches: - - main - - gh/*/*/base - push: - branches: - - main diff --git a/.github/workflows/triage.yaml b/.github/workflows/triage.yaml index b06b8f0..2737ae2 100644 --- a/.github/workflows/triage.yaml +++ b/.github/workflows/triage.yaml @@ -1,32 +1,50 @@ +name: Triage +permissions: + pull-requests: write +"on": + pull_request: + types: + - opened + - synchronize jobs: triage: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - id: createGithubAppToken - uses: actions/create-github-app-token@v2 + continue-on-error: true + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read + permission-pull-requests: write private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + - uses: shikanime-studio/actions/checkout@v9 with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} + github-token: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} - env: - GITHUB_TOKEN: ${{ steps.createGithubAppToken.outputs.token }} - PR_NUMBER: ${{ github.event.pull_request.number }} - if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'yorha-operator-6o[bot]' - run: gh pr edit "$PR_NUMBER" --add-label dependencies + GH_TOKEN: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + if: + github.event.pull_request.user.login == 'dependabot[bot]' || + github.event.pull_request.user.login == 'yorha-operator-6o[bot]' + run: + gh pr edit "${{ github.event.pull_request.number }}" --add-label + dependencies - env: - GITHUB_TOKEN: ${{ steps.createGithubAppToken.outputs.token }} - PR_NUMBER: ${{ github.event.pull_request.number }} - if: startsWith(github.head_ref, 'gh/') && endsWith(github.head_ref, '/head') - run: gh pr edit "$PR_NUMBER" --add-label ghstack -name: Triage -'on': - pull_request: - branches: - - main - - gh/*/*/base - types: - - opened - - reopened + GH_TOKEN: + ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN + }} + if: + startsWith(github.head_ref, 'gh/') && endsWith(github.head_ref, + '/head') + run: + gh pr edit "${{ github.event.pull_request.number }}" --add-label + ghstack diff --git a/.github/workflows/update.yaml b/.github/workflows/update.yaml index 394c103..34ba5e6 100644 --- a/.github/workflows/update.yaml +++ b/.github/workflows/update.yaml @@ -1,34 +1,45 @@ +name: Update +permissions: + contents: read +"on": + schedule: + - cron: 0 4 * * 0 + workflow_dispatch: {} jobs: dependencies: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - id: createGithubAppToken - uses: actions/create-github-app-token@v2 + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: write + permission-pull-requests: write + permission-workflows: write private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: actions/checkout@v6 - with: - fetch-depth: 0 - token: ${{ steps.createGithubAppToken.outputs.token }} - - uses: shikanime-studio/setup-nix-action@v1 + - uses: shikanime-studio/actions/nix/setup@v9 with: github-token: ${{ steps.createGithubAppToken.outputs.token }} - - uses: shikanime-studio/automata-action@v1 + - uses: shikanime-studio/actions/checkout@v9 with: - ghstack-username: operator6o github-token: ${{ steps.createGithubAppToken.outputs.token }} gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} sign-commits: true - username: Operator 6O + username: operator6o + - uses: shikanime-studio/actions/update@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token }} + username: operator6o stale: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - id: createGithubAppToken - uses: actions/create-github-app-token@v2 + uses: actions/create-github-app-token@v3 with: app-id: ${{ vars.OPERATOR_APP_ID }} + permission-issues: write + permission-pull-requests: write private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - uses: actions/stale@v10 with: @@ -37,8 +48,3 @@ jobs: repo-token: ${{ steps.createGithubAppToken.outputs.token }} stale-issue-label: stale stale-pr-label: stale -name: Update -'on': - schedule: - - cron: 0 4 * * 0 - workflow_dispatch: null diff --git a/.gitignore b/.gitignore index c67e1d7..17a8a47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,3 @@ -###---------------### -### GitHub: Nix ### -###---------------### - -# Ignore build outputs from performing a nix-build or `nix build` command -result -result-* - -# Ignore automatically generated direnv output -.direnv - ###---------------------------------------------------------------------### ### Repo: shikanime-studio/gitignore/refs/heads/main/Devenv.gitignore ### ###---------------------------------------------------------------------### diff --git a/AGENTS.md b/AGENTS.md index 57df48e..c0a94df 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -38,5 +38,5 @@ reference. - Require signed commits - Squash+rebase merge only -*Focus on time/space complexity and correctness. Always use worktrees when -making changes.* +_Focus on time/space complexity and correctness. Always use worktrees when +making changes._ diff --git a/README.md b/README.md index 73cbd7f..9e69fcf 100755 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ - +# Algorithm ![header.png](https://raw.githubusercontent.com/shikanime/shikanime/main/assets/github-header.png) - - -## Algorithm - Hey 🌸 I'm Shikanime Deva, this is my collection of algorithmic challenges solutions. diff --git a/algorithm-cc/.vscode/c_cpp_properties.json b/algorithm-cc/.vscode/c_cpp_properties.json index f575b74..7b1f1ca 100644 --- a/algorithm-cc/.vscode/c_cpp_properties.json +++ b/algorithm-cc/.vscode/c_cpp_properties.json @@ -1,10 +1,10 @@ { + "version": 4, "configurations": [ { "name": "Default", "compileCommands": "${workspaceFolder}/out/build/unknown-unknown-gnu/compile_commands.json", "configurationProvider": "ms-vscode.cmake-tools" } - ], - "version": 4 + ] } diff --git a/algorithm-cc/.vscode/settings.json b/algorithm-cc/.vscode/settings.json index 0ddf2d4..00d5c4b 100644 --- a/algorithm-cc/.vscode/settings.json +++ b/algorithm-cc/.vscode/settings.json @@ -1,6 +1,6 @@ { - "sonarlint.pathToCompileCommands": "${workspaceFolder}/out/build/unknown-unknown-gnu/compile_commands.json", "C_Cpp.default.cStandard": "c17", "C_Cpp.default.cppStandard": "c++20", - "cmake.configureOnOpen": true + "cmake.configureOnOpen": true, + "sonarlint.pathToCompileCommands": "${workspaceFolder}/out/build/unknown-unknown-gnu/compile_commands.json" } diff --git a/algorithm-cc/CMakePresets.json b/algorithm-cc/CMakePresets.json index d250713..433d466 100644 --- a/algorithm-cc/CMakePresets.json +++ b/algorithm-cc/CMakePresets.json @@ -1,34 +1,27 @@ { "version": 3, + "buildPresets": [ + { "name": "unknown-unknown-gnu", "configurePreset": "unknown-unknown-gnu" } + ], "configurePresets": [ { "name": "unknown-unknown-gnu", "description": "Sets Ninja generator, build and install directory", "generator": "Ninja", "cacheVariables": { - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", - "CMAKE_MAKE_PROGRAM": "ninja", + "CMAKE_C_COMPILER": "gcc", "CMAKE_CXX_COMPILER": "g++", - "CMAKE_C_COMPILER": "gcc" + "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", + "CMAKE_MAKE_PROGRAM": "ninja" } } ], - "buildPresets": [ - { - "name": "unknown-unknown-gnu", - "configurePreset": "unknown-unknown-gnu" - } - ], "testPresets": [ { "name": "unknown-unknown-gnu", "configurePreset": "unknown-unknown-gnu", - "output": { - "outputOnFailure": true - }, - "execution": { - "stopOnFailure": true - } + "execution": { "stopOnFailure": true }, + "output": { "outputOnFailure": true } } ] } diff --git a/algorithm-elixir/.vscode/extensions.json b/algorithm-elixir/.vscode/extensions.json index d7d2b30..56e3c9f 100644 --- a/algorithm-elixir/.vscode/extensions.json +++ b/algorithm-elixir/.vscode/extensions.json @@ -1,6 +1 @@ -{ - "recommendations": [ - "JakeBecker.elixir-ls", - "erlang-ls.erlang-ls" - ] -} +{ "recommendations": ["JakeBecker.elixir-ls", "erlang-ls.erlang-ls"] } diff --git a/algorithm-javascript/package-lock.json b/algorithm-javascript/package-lock.json index 4127e0e..0e95c7a 100644 --- a/algorithm-javascript/package-lock.json +++ b/algorithm-javascript/package-lock.json @@ -1,2132 +1 @@ -{ - "name": "algorithm", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "algorithm", - "version": "0.1.0", - "license": "AGPL-3.0-or-later", - "devDependencies": { - "vitest": "^4.0.15" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", - "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@standard-schema/spec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", - "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", - "dev": true, - "license": "MIT" - }, - "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/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vitest/expect": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.15.tgz", - "integrity": "sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.0.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.15", - "@vitest/utils": "4.0.15", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.15.tgz", - "integrity": "sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "4.0.15", - "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-0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.15.tgz", - "integrity": "sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.15.tgz", - "integrity": "sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "4.0.15", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.15.tgz", - "integrity": "sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.0.15", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.15.tgz", - "integrity": "sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.15.tgz", - "integrity": "sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.0.15", - "tinyrainbow": "^3.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "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/chai": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", - "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/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/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/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/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/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/rollup": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", - "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.53.3", - "@rollup/rollup-android-arm64": "4.53.3", - "@rollup/rollup-darwin-arm64": "4.53.3", - "@rollup/rollup-darwin-x64": "4.53.3", - "@rollup/rollup-freebsd-arm64": "4.53.3", - "@rollup/rollup-freebsd-x64": "4.53.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", - "@rollup/rollup-linux-arm-musleabihf": "4.53.3", - "@rollup/rollup-linux-arm64-gnu": "4.53.3", - "@rollup/rollup-linux-arm64-musl": "4.53.3", - "@rollup/rollup-linux-loong64-gnu": "4.53.3", - "@rollup/rollup-linux-ppc64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-musl": "4.53.3", - "@rollup/rollup-linux-s390x-gnu": "4.53.3", - "@rollup/rollup-linux-x64-gnu": "4.53.3", - "@rollup/rollup-linux-x64-musl": "4.53.3", - "@rollup/rollup-openharmony-arm64": "4.53.3", - "@rollup/rollup-win32-arm64-msvc": "4.53.3", - "@rollup/rollup-win32-ia32-msvc": "4.53.3", - "@rollup/rollup-win32-x64-gnu": "4.53.3", - "@rollup/rollup-win32-x64-msvc": "4.53.3", - "fsevents": "~2.3.2" - } - }, - "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/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", - "dev": true, - "license": "MIT" - }, - "node_modules/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.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vite": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", - "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "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", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vitest": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.15.tgz", - "integrity": "sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.0.15", - "@vitest/mocker": "4.0.15", - "@vitest/pretty-format": "4.0.15", - "@vitest/runner": "4.0.15", - "@vitest/snapshot": "4.0.15", - "@vitest/spy": "4.0.15", - "@vitest/utils": "4.0.15", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^3.10.0", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.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.0.15", - "@vitest/browser-preview": "4.0.15", - "@vitest/browser-webdriverio": "4.0.15", - "@vitest/ui": "4.0.15", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@opentelemetry/api": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser-playwright": { - "optional": true - }, - "@vitest/browser-preview": { - "optional": true - }, - "@vitest/browser-webdriverio": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "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" - } - } - }, - "dependencies": { - "@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "dev": true, - "optional": true - }, - "@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "dev": true, - "optional": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true - }, - "@rollup/rollup-android-arm-eabi": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", - "dev": true, - "optional": true - }, - "@rollup/rollup-android-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", - "dev": true, - "optional": true - }, - "@rollup/rollup-darwin-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-darwin-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-freebsd-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", - "dev": true, - "optional": true - }, - "@rollup/rollup-freebsd-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-loong64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-ppc64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-riscv64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-s390x-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-x64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", - "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-openharmony-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-arm64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-ia32-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-x64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", - "dev": true, - "optional": true - }, - "@standard-schema/spec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", - "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", - "dev": true - }, - "@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, - "requires": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "@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 - }, - "@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true - }, - "@vitest/expect": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.15.tgz", - "integrity": "sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==", - "dev": true, - "requires": { - "@standard-schema/spec": "^1.0.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.15", - "@vitest/utils": "4.0.15", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" - } - }, - "@vitest/mocker": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.15.tgz", - "integrity": "sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==", - "dev": true, - "requires": { - "@vitest/spy": "4.0.15", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" - } - }, - "@vitest/pretty-format": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.15.tgz", - "integrity": "sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==", - "dev": true, - "requires": { - "tinyrainbow": "^3.0.3" - } - }, - "@vitest/runner": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.15.tgz", - "integrity": "sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==", - "dev": true, - "requires": { - "@vitest/utils": "4.0.15", - "pathe": "^2.0.3" - } - }, - "@vitest/snapshot": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.15.tgz", - "integrity": "sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==", - "dev": true, - "requires": { - "@vitest/pretty-format": "4.0.15", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" - } - }, - "@vitest/spy": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.15.tgz", - "integrity": "sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==", - "dev": true - }, - "@vitest/utils": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.15.tgz", - "integrity": "sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==", - "dev": true, - "requires": { - "@vitest/pretty-format": "4.0.15", - "tinyrainbow": "^3.0.3" - } - }, - "assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true - }, - "chai": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", - "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", - "dev": true - }, - "es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true - }, - "esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0" - } - }, - "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 - }, - "fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "requires": {} - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true - }, - "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 - }, - "pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true - }, - "postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "requires": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - } - }, - "rollup": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", - "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", - "dev": true, - "requires": { - "@rollup/rollup-android-arm-eabi": "4.53.3", - "@rollup/rollup-android-arm64": "4.53.3", - "@rollup/rollup-darwin-arm64": "4.53.3", - "@rollup/rollup-darwin-x64": "4.53.3", - "@rollup/rollup-freebsd-arm64": "4.53.3", - "@rollup/rollup-freebsd-x64": "4.53.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", - "@rollup/rollup-linux-arm-musleabihf": "4.53.3", - "@rollup/rollup-linux-arm64-gnu": "4.53.3", - "@rollup/rollup-linux-arm64-musl": "4.53.3", - "@rollup/rollup-linux-loong64-gnu": "4.53.3", - "@rollup/rollup-linux-ppc64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-musl": "4.53.3", - "@rollup/rollup-linux-s390x-gnu": "4.53.3", - "@rollup/rollup-linux-x64-gnu": "4.53.3", - "@rollup/rollup-linux-x64-musl": "4.53.3", - "@rollup/rollup-openharmony-arm64": "4.53.3", - "@rollup/rollup-win32-arm64-msvc": "4.53.3", - "@rollup/rollup-win32-ia32-msvc": "4.53.3", - "@rollup/rollup-win32-x64-gnu": "4.53.3", - "@rollup/rollup-win32-x64-msvc": "4.53.3", - "@types/estree": "1.0.8", - "fsevents": "~2.3.2" - } - }, - "siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true - }, - "source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true - }, - "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 - }, - "std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", - "dev": true - }, - "tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true - }, - "tinyexec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", - "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", - "dev": true - }, - "tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "requires": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - } - }, - "tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", - "dev": true - }, - "vite": { - "version": "7.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", - "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", - "dev": true, - "requires": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "fsevents": "~2.3.3", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - } - }, - "vitest": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.15.tgz", - "integrity": "sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==", - "dev": true, - "requires": { - "@vitest/expect": "4.0.15", - "@vitest/mocker": "4.0.15", - "@vitest/pretty-format": "4.0.15", - "@vitest/runner": "4.0.15", - "@vitest/snapshot": "4.0.15", - "@vitest/spy": "4.0.15", - "@vitest/utils": "4.0.15", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", - "magic-string": "^0.30.21", - "obug": "^2.1.1", - "pathe": "^2.0.3", - "picomatch": "^4.0.3", - "std-env": "^3.10.0", - "tinybench": "^2.9.0", - "tinyexec": "^1.0.2", - "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", - "why-is-node-running": "^2.3.0" - } - }, - "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, - "requires": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - } - } - } -} +{"name": "algorithm", "version": "0.1.0", "lockfileVersion": 2, "requires": true, "dependencies": {"@esbuild/aix-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz"}, "@esbuild/android-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz"}, "@esbuild/android-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz"}, "@esbuild/android-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz"}, "@esbuild/darwin-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz"}, "@esbuild/darwin-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz"}, "@esbuild/freebsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz"}, "@esbuild/freebsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz"}, "@esbuild/linux-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz"}, "@esbuild/linux-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz"}, "@esbuild/linux-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz"}, "@esbuild/linux-loong64": {"version": "0.25.12", "dev": true, "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz"}, "@esbuild/linux-mips64el": {"version": "0.25.12", "dev": true, "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz"}, "@esbuild/linux-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz"}, "@esbuild/linux-riscv64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz"}, "@esbuild/linux-s390x": {"version": "0.25.12", "dev": true, "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz"}, "@esbuild/linux-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz"}, "@esbuild/netbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz"}, "@esbuild/netbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz"}, "@esbuild/openbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz"}, "@esbuild/openbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz"}, "@esbuild/openharmony-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz"}, "@esbuild/sunos-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz"}, "@esbuild/win32-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz"}, "@esbuild/win32-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz"}, "@esbuild/win32-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz"}, "@jridgewell/sourcemap-codec": {"version": "1.5.5", "dev": true, "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"}, "@rollup/rollup-android-arm-eabi": {"version": "4.53.3", "dev": true, "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz"}, "@rollup/rollup-android-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz"}, "@rollup/rollup-darwin-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz"}, "@rollup/rollup-darwin-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz"}, "@rollup/rollup-freebsd-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz"}, "@rollup/rollup-freebsd-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz"}, "@rollup/rollup-linux-arm-gnueabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz"}, "@rollup/rollup-linux-arm-musleabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz"}, "@rollup/rollup-linux-arm64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-arm64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz"}, "@rollup/rollup-linux-loong64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-ppc64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-riscv64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-riscv64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz"}, "@rollup/rollup-linux-s390x-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-x64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz"}, "@rollup/rollup-openharmony-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz"}, "@rollup/rollup-win32-arm64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz"}, "@rollup/rollup-win32-ia32-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz"}, "@rollup/rollup-win32-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz"}, "@rollup/rollup-win32-x64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz"}, "@standard-schema/spec": {"version": "1.0.0", "dev": true, "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz"}, "@types/chai": {"version": "5.2.3", "dev": true, "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", "requires": {"@types/deep-eql": "*", "assertion-error": "^2.0.1"}}, "@types/deep-eql": {"version": "4.0.2", "dev": true, "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz"}, "@types/estree": {"version": "1.0.8", "dev": true, "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"}, "@vitest/expect": {"version": "4.0.15", "dev": true, "integrity": "sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.15.tgz", "requires": {"@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "chai": "^6.2.1", "tinyrainbow": "^3.0.3"}}, "@vitest/mocker": {"version": "4.0.15", "dev": true, "integrity": "sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==", "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.15.tgz", "requires": {"@vitest/spy": "4.0.15", "estree-walker": "^3.0.3", "magic-string": "^0.30.21"}}, "@vitest/pretty-format": {"version": "4.0.15", "dev": true, "integrity": "sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==", "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.15.tgz", "requires": {"tinyrainbow": "^3.0.3"}}, "@vitest/runner": {"version": "4.0.15", "dev": true, "integrity": "sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==", "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.15.tgz", "requires": {"@vitest/utils": "4.0.15", "pathe": "^2.0.3"}}, "@vitest/snapshot": {"version": "4.0.15", "dev": true, "integrity": "sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==", "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.15.tgz", "requires": {"@vitest/pretty-format": "4.0.15", "magic-string": "^0.30.21", "pathe": "^2.0.3"}}, "@vitest/spy": {"version": "4.0.15", "dev": true, "integrity": "sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==", "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.15.tgz"}, "@vitest/utils": {"version": "4.0.15", "dev": true, "integrity": "sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==", "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.15.tgz", "requires": {"@vitest/pretty-format": "4.0.15", "tinyrainbow": "^3.0.3"}}, "assertion-error": {"version": "2.0.1", "dev": true, "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz"}, "chai": {"version": "6.2.1", "dev": true, "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz"}, "es-module-lexer": {"version": "1.7.0", "dev": true, "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz"}, "esbuild": {"version": "0.25.12", "dev": true, "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", "requires": {"@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12"}}, "estree-walker": {"version": "3.0.3", "dev": true, "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "requires": {"@types/estree": "^1.0.0"}}, "expect-type": {"version": "1.3.0", "dev": true, "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz"}, "fdir": {"version": "6.5.0", "dev": true, "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "requires": {}, "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz"}, "fsevents": {"version": "2.3.3", "dev": true, "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true, "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"}, "magic-string": {"version": "0.30.21", "dev": true, "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", "requires": {"@jridgewell/sourcemap-codec": "^1.5.5"}}, "nanoid": {"version": "3.3.11", "dev": true, "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"}, "obug": {"version": "2.1.1", "dev": true, "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz"}, "pathe": {"version": "2.0.3", "dev": true, "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz"}, "picocolors": {"version": "1.1.1", "dev": true, "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"}, "picomatch": {"version": "4.0.3", "dev": true, "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"}, "postcss": {"version": "8.5.6", "dev": true, "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "requires": {"nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1"}}, "rollup": {"version": "4.53.3", "dev": true, "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", "requires": {"@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "@types/estree": "1.0.8", "fsevents": "~2.3.2"}}, "siginfo": {"version": "2.0.0", "dev": true, "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz"}, "source-map-js": {"version": "1.2.1", "dev": true, "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"}, "stackback": {"version": "0.0.2", "dev": true, "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz"}, "std-env": {"version": "3.10.0", "dev": true, "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz"}, "tinybench": {"version": "2.9.0", "dev": true, "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz"}, "tinyexec": {"version": "1.0.2", "dev": true, "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz"}, "tinyglobby": {"version": "0.2.15", "dev": true, "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "requires": {"fdir": "^6.5.0", "picomatch": "^4.0.3"}}, "tinyrainbow": {"version": "3.0.3", "dev": true, "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz"}, "vite": {"version": "7.2.7", "dev": true, "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", "requires": {"esbuild": "^0.25.0", "fdir": "^6.5.0", "fsevents": "~2.3.3", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15"}}, "vitest": {"version": "4.0.15", "dev": true, "integrity": "sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==", "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.15.tgz", "requires": {"@vitest/expect": "4.0.15", "@vitest/mocker": "4.0.15", "@vitest/pretty-format": "4.0.15", "@vitest/runner": "4.0.15", "@vitest/snapshot": "4.0.15", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "es-module-lexer": "^1.7.0", "expect-type": "^1.2.2", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "std-env": "^3.10.0", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tinyrainbow": "^3.0.3", "vite": "^6.0.0 || ^7.0.0", "why-is-node-running": "^2.3.0"}}, "why-is-node-running": {"version": "2.3.0", "dev": true, "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", "requires": {"siginfo": "^2.0.0", "stackback": "0.0.2"}}}, "packages": {"": {"name": "algorithm", "version": "0.1.0", "license": "AGPL-3.0-or-later", "devDependencies": {"vitest": "^4.0.15"}}, "node_modules/@esbuild/aix-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", "cpu": ["ppc64"], "engines": {"node": "\u003e=18"}, "os": ["aix"]}, "node_modules/@esbuild/android-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", "cpu": ["arm"], "engines": {"node": "\u003e=18"}, "os": ["android"]}, "node_modules/@esbuild/android-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["android"]}, "node_modules/@esbuild/android-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["android"]}, "node_modules/@esbuild/darwin-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["darwin"]}, "node_modules/@esbuild/darwin-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["darwin"]}, "node_modules/@esbuild/freebsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["freebsd"]}, "node_modules/@esbuild/freebsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["freebsd"]}, "node_modules/@esbuild/linux-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", "cpu": ["arm"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", "cpu": ["ia32"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-loong64": {"version": "0.25.12", "dev": true, "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", "cpu": ["loong64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-mips64el": {"version": "0.25.12", "dev": true, "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", "cpu": ["mips64el"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", "cpu": ["ppc64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-riscv64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", "cpu": ["riscv64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-s390x": {"version": "0.25.12", "dev": true, "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", "cpu": ["s390x"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/netbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["netbsd"]}, "node_modules/@esbuild/netbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["netbsd"]}, "node_modules/@esbuild/openbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["openbsd"]}, "node_modules/@esbuild/openbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["openbsd"]}, "node_modules/@esbuild/openharmony-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["openharmony"]}, "node_modules/@esbuild/sunos-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["sunos"]}, "node_modules/@esbuild/win32-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["win32"]}, "node_modules/@esbuild/win32-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", "cpu": ["ia32"], "engines": {"node": "\u003e=18"}, "os": ["win32"]}, "node_modules/@esbuild/win32-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["win32"]}, "node_modules/@jridgewell/sourcemap-codec": {"version": "1.5.5", "dev": true, "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"}, "node_modules/@rollup/rollup-android-arm-eabi": {"version": "4.53.3", "dev": true, "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", "cpu": ["arm"], "os": ["android"]}, "node_modules/@rollup/rollup-android-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["android"]}, "node_modules/@rollup/rollup-darwin-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["darwin"]}, "node_modules/@rollup/rollup-darwin-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", "cpu": ["x64"], "os": ["darwin"]}, "node_modules/@rollup/rollup-freebsd-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["freebsd"]}, "node_modules/@rollup/rollup-freebsd-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", "cpu": ["x64"], "os": ["freebsd"]}, "node_modules/@rollup/rollup-linux-arm-gnueabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", "cpu": ["arm"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-arm-musleabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", "cpu": ["arm"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-arm64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", "cpu": ["arm64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-arm64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", "cpu": ["arm64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-loong64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", "cpu": ["loong64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-ppc64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", "cpu": ["ppc64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-riscv64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", "cpu": ["riscv64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-riscv64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", "cpu": ["riscv64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-s390x-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", "cpu": ["s390x"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", "cpu": ["x64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-x64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", "cpu": ["x64"], "os": ["linux"]}, "node_modules/@rollup/rollup-openharmony-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["openharmony"]}, "node_modules/@rollup/rollup-win32-arm64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", "cpu": ["arm64"], "os": ["win32"]}, "node_modules/@rollup/rollup-win32-ia32-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", "cpu": ["ia32"], "os": ["win32"]}, "node_modules/@rollup/rollup-win32-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", "cpu": ["x64"], "os": ["win32"]}, "node_modules/@rollup/rollup-win32-x64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", "cpu": ["x64"], "os": ["win32"]}, "node_modules/@standard-schema/spec": {"version": "1.0.0", "dev": true, "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", "license": "MIT", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz"}, "node_modules/@types/chai": {"version": "5.2.3", "dev": true, "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "license": "MIT", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", "dependencies": {"@types/deep-eql": "*", "assertion-error": "^2.0.1"}}, "node_modules/@types/deep-eql": {"version": "4.0.2", "dev": true, "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "license": "MIT", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz"}, "node_modules/@types/estree": {"version": "1.0.8", "dev": true, "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "license": "MIT", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"}, "node_modules/@vitest/expect": {"version": "4.0.15", "dev": true, "integrity": "sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.15.tgz", "dependencies": {"@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "chai": "^6.2.1", "tinyrainbow": "^3.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/mocker": {"version": "4.0.15", "dev": true, "integrity": "sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.15.tgz", "dependencies": {"@vitest/spy": "4.0.15", "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-0"}, "peerDependenciesMeta": {"msw": {"optional": true}, "vite": {"optional": true}}}, "node_modules/@vitest/pretty-format": {"version": "4.0.15", "dev": true, "integrity": "sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.15.tgz", "dependencies": {"tinyrainbow": "^3.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/runner": {"version": "4.0.15", "dev": true, "integrity": "sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.15.tgz", "dependencies": {"@vitest/utils": "4.0.15", "pathe": "^2.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/snapshot": {"version": "4.0.15", "dev": true, "integrity": "sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.15.tgz", "dependencies": {"@vitest/pretty-format": "4.0.15", "magic-string": "^0.30.21", "pathe": "^2.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/spy": {"version": "4.0.15", "dev": true, "integrity": "sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.15.tgz", "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/utils": {"version": "4.0.15", "dev": true, "integrity": "sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.15.tgz", "dependencies": {"@vitest/pretty-format": "4.0.15", "tinyrainbow": "^3.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/assertion-error": {"version": "2.0.1", "dev": true, "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "license": "MIT", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", "engines": {"node": "\u003e=12"}}, "node_modules/chai": {"version": "6.2.1", "dev": true, "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "license": "MIT", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", "engines": {"node": "\u003e=18"}}, "node_modules/es-module-lexer": {"version": "1.7.0", "dev": true, "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "license": "MIT", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz"}, "node_modules/esbuild": {"version": "0.25.12", "dev": true, "hasInstallScript": true, "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "license": "MIT", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", "bin": {"esbuild": "bin/esbuild"}, "engines": {"node": "\u003e=18"}, "optionalDependencies": {"@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12"}}, "node_modules/estree-walker": {"version": "3.0.3", "dev": true, "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "license": "MIT", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "dependencies": {"@types/estree": "^1.0.0"}}, "node_modules/expect-type": {"version": "1.3.0", "dev": true, "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "license": "Apache-2.0", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", "engines": {"node": "\u003e=12.0.0"}}, "node_modules/fdir": {"version": "6.5.0", "dev": true, "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "license": "MIT", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "engines": {"node": "\u003e=12.0.0"}, "peerDependencies": {"picomatch": "^3 || ^4"}, "peerDependenciesMeta": {"picomatch": {"optional": true}}}, "node_modules/fsevents": {"version": "2.3.3", "dev": true, "hasInstallScript": true, "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "engines": {"node": "^8.16.0 || ^10.6.0 || \u003e=11.0.0"}, "os": ["darwin"]}, "node_modules/magic-string": {"version": "0.30.21", "dev": true, "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", "dependencies": {"@jridgewell/sourcemap-codec": "^1.5.5"}}, "node_modules/nanoid": {"version": "3.3.11", "dev": true, "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "license": "MIT", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "bin": {"nanoid": "bin/nanoid.cjs"}, "engines": {"node": "^10 || ^12 || ^13.7 || ^14 || \u003e=15.0.1"}, "funding": [{"url": "https://github.com/sponsors/ai", "type": "github"}]}, "node_modules/obug": {"version": "2.1.1", "dev": true, "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", "funding": ["https://github.com/sponsors/sxzz", "https://opencollective.com/debug"]}, "node_modules/pathe": {"version": "2.0.3", "dev": true, "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "license": "MIT", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz"}, "node_modules/picocolors": {"version": "1.1.1", "dev": true, "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"}, "node_modules/picomatch": {"version": "4.0.3", "dev": true, "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "engines": {"node": "\u003e=12"}, "funding": {"url": "https://github.com/sponsors/jonschlinkert"}}, "node_modules/postcss": {"version": "8.5.6", "dev": true, "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "license": "MIT", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "dependencies": {"nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1"}, "engines": {"node": "^10 || ^12 || \u003e=14"}, "funding": [{"url": "https://opencollective.com/postcss/", "type": "opencollective"}, {"url": "https://tidelift.com/funding/github/npm/postcss", "type": "tidelift"}, {"url": "https://github.com/sponsors/ai", "type": "github"}]}, "node_modules/rollup": {"version": "4.53.3", "dev": true, "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", "license": "MIT", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", "bin": {"rollup": "dist/bin/rollup"}, "dependencies": {"@types/estree": "1.0.8"}, "engines": {"node": "\u003e=18.0.0", "npm": "\u003e=8.0.0"}, "optionalDependencies": {"@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "fsevents": "~2.3.2"}}, "node_modules/siginfo": {"version": "2.0.0", "dev": true, "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "license": "ISC", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz"}, "node_modules/source-map-js": {"version": "1.2.1", "dev": true, "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "license": "BSD-3-Clause", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "engines": {"node": "\u003e=0.10.0"}}, "node_modules/stackback": {"version": "0.0.2", "dev": true, "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "license": "MIT", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz"}, "node_modules/std-env": {"version": "3.10.0", "dev": true, "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "license": "MIT", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz"}, "node_modules/tinybench": {"version": "2.9.0", "dev": true, "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz"}, "node_modules/tinyexec": {"version": "1.0.2", "dev": true, "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", "engines": {"node": "\u003e=18"}}, "node_modules/tinyglobby": {"version": "0.2.15", "dev": true, "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "dependencies": {"fdir": "^6.5.0", "picomatch": "^4.0.3"}, "engines": {"node": "\u003e=12.0.0"}, "funding": {"url": "https://github.com/sponsors/SuperchupuDev"}}, "node_modules/tinyrainbow": {"version": "3.0.3", "dev": true, "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", "engines": {"node": "\u003e=14.0.0"}}, "node_modules/vite": {"version": "7.2.7", "dev": true, "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", "bin": {"vite": "bin/vite.js"}, "dependencies": {"esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15"}, "engines": {"node": "^20.19.0 || \u003e=22.12.0"}, "funding": {"url": "https://github.com/vitejs/vite?sponsor=1"}, "optionalDependencies": {"fsevents": "~2.3.3"}, "peerDependencies": {"@types/node": "^20.19.0 || \u003e=22.12.0", "jiti": "\u003e=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": "\u003e=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2"}, "peerDependenciesMeta": {"@types/node": {"optional": true}, "jiti": {"optional": true}, "less": {"optional": true}, "lightningcss": {"optional": true}, "sass": {"optional": true}, "sass-embedded": {"optional": true}, "stylus": {"optional": true}, "sugarss": {"optional": true}, "terser": {"optional": true}, "tsx": {"optional": true}, "yaml": {"optional": true}}}, "node_modules/vitest": {"version": "4.0.15", "dev": true, "integrity": "sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==", "license": "MIT", "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.15.tgz", "bin": {"vitest": "vitest.mjs"}, "dependencies": {"@vitest/expect": "4.0.15", "@vitest/mocker": "4.0.15", "@vitest/pretty-format": "4.0.15", "@vitest/runner": "4.0.15", "@vitest/snapshot": "4.0.15", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "es-module-lexer": "^1.7.0", "expect-type": "^1.2.2", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "std-env": "^3.10.0", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tinyrainbow": "^3.0.3", "vite": "^6.0.0 || ^7.0.0", "why-is-node-running": "^2.3.0"}, "engines": {"node": "^20.0.0 || ^22.0.0 || \u003e=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 || \u003e=24.0.0", "@vitest/browser-playwright": "4.0.15", "@vitest/browser-preview": "4.0.15", "@vitest/browser-webdriverio": "4.0.15", "@vitest/ui": "4.0.15", "happy-dom": "*", "jsdom": "*"}, "peerDependenciesMeta": {"@edge-runtime/vm": {"optional": true}, "@opentelemetry/api": {"optional": true}, "@types/node": {"optional": true}, "@vitest/browser-playwright": {"optional": true}, "@vitest/browser-preview": {"optional": true}, "@vitest/browser-webdriverio": {"optional": true}, "@vitest/ui": {"optional": true}, "happy-dom": {"optional": true}, "jsdom": {"optional": true}}}, "node_modules/why-is-node-running": {"version": "2.3.0", "dev": true, "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "license": "MIT", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", "bin": {"why-is-node-running": "cli.js"}, "dependencies": {"siginfo": "^2.0.0", "stackback": "0.0.2"}, "engines": {"node": "\u003e=8"}}}} diff --git a/algorithm-javascript/package.json b/algorithm-javascript/package.json index ba74bb1..1d893ba 100644 --- a/algorithm-javascript/package.json +++ b/algorithm-javascript/package.json @@ -2,22 +2,22 @@ "name": "algorithm", "version": "0.1.0", "description": "Shikanime's algorithms sketchbook", - "scripts": { - "test": "vitest" - }, - "repository": { - "type": "git", - "url": "https://github.com/shikanime/algorithm" - }, "keywords": [ "algorithm" ], - "author": "William Phetsinorath ", - "license": "AGPL-3.0-or-later", + "homepage": "https://github.com/shikanime/algorithm", "bugs": { "url": "https://github.com/shikanime/algorithm/issues" }, - "homepage": "https://github.com/shikanime/algorithm", + "license": "AGPL-3.0-or-later", + "author": "William Phetsinorath ", + "repository": { + "type": "git", + "url": "https://github.com/shikanime/algorithm" + }, + "scripts": { + "test": "vitest" + }, "devDependencies": { "vitest": "^4.0.15" } diff --git a/algorithm-javascript/src/cipher.test.ts b/algorithm-javascript/src/cipher.test.ts index 58d8682..81b6fdc 100644 --- a/algorithm-javascript/src/cipher.test.ts +++ b/algorithm-javascript/src/cipher.test.ts @@ -1,7 +1,7 @@ -import { expect, test } from 'vitest'; -import { findSignatureCounts } from './cipher'; +import { expect, test } from "vitest"; +import { findSignatureCounts } from "./cipher"; -test('findSignatureCounts', () => { +test("findSignatureCounts", () => { expect(findSignatureCounts([2, 1])).toEqual([2, 2]); expect(findSignatureCounts([1, 2])).toEqual([1, 1]); }); diff --git a/algorithm-javascript/src/fib.test.ts b/algorithm-javascript/src/fib.test.ts index 00ea292..fbfcb88 100644 --- a/algorithm-javascript/src/fib.test.ts +++ b/algorithm-javascript/src/fib.test.ts @@ -1,6 +1,6 @@ -import { expect, test } from 'vitest'; -import { fib } from './fib'; +import { expect, test } from "vitest"; +import { fib } from "./fib"; -test('fib', () => { +test("fib", () => { expect(fib(10)[0]).toBe(55); }); diff --git a/algorithm-javascript/src/fib.ts b/algorithm-javascript/src/fib.ts index 5202f06..c88c58e 100644 --- a/algorithm-javascript/src/fib.ts +++ b/algorithm-javascript/src/fib.ts @@ -7,5 +7,3 @@ export function fib(n: number, acc: Memo = { [0]: 0, [1]: 1 }): [number, Memo] { const c = a + b; return [c, { [n]: c, ...bacc }]; } - - diff --git a/algorithm-javascript/src/oneAway.test.ts b/algorithm-javascript/src/oneAway.test.ts index 2e44787..d878c54 100644 --- a/algorithm-javascript/src/oneAway.test.ts +++ b/algorithm-javascript/src/oneAway.test.ts @@ -1,7 +1,7 @@ -import { expect, test } from 'vitest'; -import { oneAway } from './oneAway'; +import { expect, test } from "vitest"; +import { oneAway } from "./oneAway"; -test('oneAway', () => { +test("oneAway", () => { expect(oneAway("pale", "ple", 1)).toBe(true); expect(oneAway("pales", "pale", 1)).toBe(true); expect(oneAway("pale", "bale", 1)).toBe(true); diff --git a/algorithm-javascript/src/oneAway.ts b/algorithm-javascript/src/oneAway.ts index 5580794..886d5a2 100644 --- a/algorithm-javascript/src/oneAway.ts +++ b/algorithm-javascript/src/oneAway.ts @@ -46,5 +46,3 @@ function scoreOneAwayDeletion(a: string, b: string, scores: number[]): number { export function oneAway(a: string, b: string, factor: number): boolean { return scoreOneAway(a, b, []) >= b.length - factor; } - - diff --git a/algorithm-javascript/vitest.config.ts b/algorithm-javascript/vitest.config.ts index 6ec74ee..ae847ff 100644 --- a/algorithm-javascript/vitest.config.ts +++ b/algorithm-javascript/vitest.config.ts @@ -1,7 +1,7 @@ -import { defineConfig } from 'vitest/config'; +import { defineConfig } from "vitest/config"; export default defineConfig({ test: { - include: ['src/**/*.test.ts'], + include: ["src/**/*.test.ts"], }, }); diff --git a/algorithm-ocaml/.vscode/extensions.json b/algorithm-ocaml/.vscode/extensions.json index e0cf9e8..c12545e 100644 --- a/algorithm-ocaml/.vscode/extensions.json +++ b/algorithm-ocaml/.vscode/extensions.json @@ -1,5 +1 @@ -{ - "recommendations": [ - "ocamllabs.ocaml-platform" - ] -} +{ "recommendations": ["ocamllabs.ocaml-platform"] } diff --git a/algorithm-ocaml/.vscode/settings.json b/algorithm-ocaml/.vscode/settings.json index 1fadb77..067c0b8 100644 --- a/algorithm-ocaml/.vscode/settings.json +++ b/algorithm-ocaml/.vscode/settings.json @@ -1,5 +1 @@ -{ - "ocaml.sandbox": { - "kind": "global" - } -} +{ "ocaml.sandbox": { "kind": "global" } } diff --git a/algorithm-python/.vscode/extensions.json b/algorithm-python/.vscode/extensions.json index 11968ff..5e57231 100644 --- a/algorithm-python/.vscode/extensions.json +++ b/algorithm-python/.vscode/extensions.json @@ -1,6 +1 @@ -{ - "recommendations": [ - "ms-python.vscode-pylance", - "ms-python.python" - ] -} +{ "recommendations": ["ms-python.vscode-pylance", "ms-python.python"] } diff --git a/algorithm-python/.vscode/settings.json b/algorithm-python/.vscode/settings.json index a202bc7..8680df1 100644 --- a/algorithm-python/.vscode/settings.json +++ b/algorithm-python/.vscode/settings.json @@ -1,4 +1,4 @@ { - "python.testing.unittestEnabled": false, - "python.testing.pytestEnabled": true + "python.testing.pytestEnabled": true, + "python.testing.unittestEnabled": false } diff --git a/flake.nix b/flake.nix index fe856b1..26a9256 100755 --- a/flake.nix +++ b/flake.nix @@ -40,7 +40,6 @@ ]; perSystem = { - config, lib, pkgs, ... From 08e25c2deaa09616fd172ab5b43e5d5b59b6f880 Mon Sep 17 00:00:00 2001 From: Shikanime Deva Date: Wed, 17 Jun 2026 01:10:22 +0200 Subject: [PATCH 2/9] Update AGENTS.md stack workflow: clarify squash into target commit --- AGENTS.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index c0a94df..2c9ba36 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,12 +24,14 @@ reference. ## Stack -- 1 commit == 1 PR via ghstack -- Amend + `ghstack` to resubmit -- `ghstack land` on head PR to land the entire stack +- 1 commit == 1 PR via ghstack (1 commit is 1 logical atomic change) +- Split work into stacked PRs to keep each PR small and reviewable +- To update a PR: edit files, then `jj squash` (or `git commit --amend`) into the + **target commit** of the stack — the one that PR represents +- Resubmit with `ghstack` after squashing +- `ghstack land` on the head PR to land the entire stack - Never `gh pr merge` (creates poisoned commits) - Never force-push ghstack branches -- ghstack only works on HEAD commit chains, not detached HEADs ## Protect `main` From b2e051ed41c4b98f935e6f29e1c3e6fb54fe3ce8 Mon Sep 17 00:00:00 2001 From: Shikanime Deva Date: Wed, 17 Jun 2026 01:12:25 +0200 Subject: [PATCH 3/9] Add ghstack checkout to AGENTS.md stack workflow --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 2c9ba36..208b6d8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,6 +26,7 @@ reference. - 1 commit == 1 PR via ghstack (1 commit is 1 logical atomic change) - Split work into stacked PRs to keep each PR small and reviewable +- To pull down an existing stack: `ghstack checkout ` - To update a PR: edit files, then `jj squash` (or `git commit --amend`) into the **target commit** of the stack — the one that PR represents - Resubmit with `ghstack` after squashing From 217f2e2d3aff30fb971603290748e1bef7ede619 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Wed, 17 Jun 2026 01:38:12 +0200 Subject: [PATCH 4/9] docs: add PR body editing instructions to AGENTS.md --- AGENTS.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 208b6d8..cb5f332 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -34,6 +34,16 @@ reference. - Never `gh pr merge` (creates poisoned commits) - Never force-push ghstack branches + +## Editing Pull Requests + +- The commit title and description **are** the pull request title and body. +- To edit the PR body after creation, use `gh pr edit `: + - `gh pr edit --title "New title"` — update the title + - `gh pr edit --body "New body"` — update the body + - `gh pr edit --body-file /path/to/file.md` — set body from file +- Amending the commit (`jj squash` / `git commit --amend`) and resubmitting + with `ghstack` will also update the PR automatically. ## Protect `main` - Require 1 approving review From 2385777252c93d19f05432d3de3fdff093b6663d Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Wed, 17 Jun 2026 02:06:58 +0200 Subject: [PATCH 5/9] Refine AGENTS.md stack section with PR body editing instructions --- AGENTS.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index cb5f332..6346f9f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -25,26 +25,19 @@ reference. ## Stack - 1 commit == 1 PR via ghstack (1 commit is 1 logical atomic change) +- The commit title **is** the PR title; the commit body **is** the PR body - Split work into stacked PRs to keep each PR small and reviewable - To pull down an existing stack: `ghstack checkout ` - To update a PR: edit files, then `jj squash` (or `git commit --amend`) into the - **target commit** of the stack — the one that PR represents + **target commit** of the stack — the one that PR represents; the commit message + updates the PR title and body automatically when resubmitted - Resubmit with `ghstack` after squashing - `ghstack land` on the head PR to land the entire stack - Never `gh pr merge` (creates poisoned commits) - Never force-push ghstack branches -## Editing Pull Requests - -- The commit title and description **are** the pull request title and body. -- To edit the PR body after creation, use `gh pr edit `: - - `gh pr edit --title "New title"` — update the title - - `gh pr edit --body "New body"` — update the body - - `gh pr edit --body-file /path/to/file.md` — set body from file -- Amending the commit (`jj squash` / `git commit --amend`) and resubmitting - with `ghstack` will also update the PR automatically. -## Protect `main` + `main` - Require 1 approving review - Require linear history (no merge commits) From acebef6cabe325fdbf0f755de6645660139e1be9 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Wed, 17 Jun 2026 02:14:04 +0200 Subject: [PATCH 6/9] Fix corrupted Protect header in AGENTS.md --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 6346f9f..80911cb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -37,7 +37,7 @@ reference. - Never force-push ghstack branches - `main` +## Protect `main` - Require 1 approving review - Require linear history (no merge commits) From 17b0c528a20712f469622a4a8abf157b1bdcd105 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Wed, 17 Jun 2026 11:02:15 +0200 Subject: [PATCH 7/9] Trigger CI after devlib fix From 669c9d649c3219a929b18f2edf4098b5f06c0010 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Wed, 17 Jun 2026 19:29:08 +0200 Subject: [PATCH 8/9] Update [ghstack-poisoned] --- .github/workflows/release.yaml | 43 +- AGENTS.md | 14 +- flake.lock | 1003 ++------------------------------ flake.nix | 48 +- 4 files changed, 109 insertions(+), 999 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bea304a..05e3177 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -21,44 +21,17 @@ permissions: required: true jobs: nix: - name: Checks - runs-on: ubuntu-latest permissions: contents: read - steps: - - id: createGithubAppToken - continue-on-error: true - uses: actions/create-github-app-token@v3 - with: - app-id: ${{ vars.OPERATOR_APP_ID }} - permission-contents: read - private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - - uses: shikanime-studio/actions/nix/setup@v9 - with: - cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }} - cachix-name: shikanime - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} - - uses: shikanime-studio/actions/checkout@v9 - with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} - - id: direnv - uses: shikanime-studio/actions/direnv@v9 - - env: ${{ fromJSON(steps.direnv.outputs.env) }} - run: | - nix flake check --accept-flake-config --no-pure-eval --system "${{ matrix.system }}" - shell: bash - strategy: - fail-fast: false - matrix: - system: - - x86_64-linux - - aarch64-linux + packages: write + secrets: + CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }} + OPERATOR_PRIVATE_KEY: ${{ secrets.OPERATOR_PRIVATE_KEY }} + uses: ./.github/workflows/nix.yaml + with: + cachix-name: shikanime release: - if: | + if: (startsWith(github.ref, 'refs/tags/v')) || (github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.ref_name, 'v')) needs: diff --git a/AGENTS.md b/AGENTS.md index 80911cb..c0a94df 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,18 +24,12 @@ reference. ## Stack -- 1 commit == 1 PR via ghstack (1 commit is 1 logical atomic change) -- The commit title **is** the PR title; the commit body **is** the PR body -- Split work into stacked PRs to keep each PR small and reviewable -- To pull down an existing stack: `ghstack checkout ` -- To update a PR: edit files, then `jj squash` (or `git commit --amend`) into the - **target commit** of the stack — the one that PR represents; the commit message - updates the PR title and body automatically when resubmitted -- Resubmit with `ghstack` after squashing -- `ghstack land` on the head PR to land the entire stack +- 1 commit == 1 PR via ghstack +- Amend + `ghstack` to resubmit +- `ghstack land` on head PR to land the entire stack - Never `gh pr merge` (creates poisoned commits) - Never force-push ghstack branches - +- ghstack only works on HEAD commit chains, not detached HEADs ## Protect `main` diff --git a/flake.lock b/flake.lock index 88b8190..83280e3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,116 +1,19 @@ { "nodes": { - "automata": { - "inputs": { - "devenv": "devenv", - "devlib": "devlib", - "flake-parts": "flake-parts", - "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs", - "treefmt-nix": "treefmt-nix_2" - }, - "locked": { - "lastModified": 1781645998, - "narHash": "sha256-e7s4a3qqIFvjFAIeU1ERqVrl8I8jJJTrsgCdn+3nVfQ=", - "owner": "shikanime-studio", - "repo": "automata", - "rev": "afd2a844be6d5b487c5e8924ef9ff88e63fe8a84", - "type": "github" - }, - "original": { - "owner": "shikanime-studio", - "repo": "automata", - "type": "github" - } - }, "cachix": { "inputs": { "devenv": [ - "automata", - "devenv" - ], - "flake-compat": [ - "automata", - "devenv", - "flake-compat" - ], - "git-hooks": [ - "automata", - "devenv", - "git-hooks" - ], - "nixpkgs": [ - "automata", - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1760971495, - "narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", - "owner": "cachix", - "repo": "cachix", - "rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, - "cachix_2": { - "inputs": { - "devenv": [ - "devenv" - ], - "flake-compat": [ - "devenv", - "flake-compat" - ], - "git-hooks": [ - "devenv", - "git-hooks" - ], - "nixpkgs": [ - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777487137, - "narHash": "sha256-TuvKVBX60mqyMT6OB5JqVEh1YIWtFMR/igLCaCdC9tw=", - "owner": "cachix", - "repo": "cachix", - "rev": "a66a440c321d35f7193472c317f42a55ccd1cb93", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, - "cachix_3": { - "inputs": { - "devenv": [ - "devlib", "devenv" ], "flake-compat": [ - "devlib", "devenv", "flake-compat" ], "git-hooks": [ - "devlib", "devenv", "git-hooks" ], "nixpkgs": [ - "devlib", "devenv", "nixpkgs" ] @@ -147,67 +50,23 @@ "type": "github" } }, - "crate2nix_2": { - "flake": false, - "locked": { - "lastModified": 1772186516, - "narHash": "sha256-8s28pzmQ6TOIUzznwFibtW1CMieMUl1rYJIxoQYor58=", - "owner": "rossng", - "repo": "crate2nix", - "rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e", - "type": "github" - }, - "original": { - "owner": "rossng", - "repo": "crate2nix", - "rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e", - "type": "github" - } - }, "devenv": { "inputs": { "cachix": "cachix", + "crate2nix": "crate2nix", "flake-compat": "flake-compat", "flake-parts": [ - "automata", "flake-parts" ], + "ghostty": "ghostty", "git-hooks": [ - "automata", "git-hooks" ], "nix": "nix", "nixd": "nixd", "nixpkgs": [ - "automata", "nixpkgs" - ] - }, - "locked": { - "lastModified": 1767733209, - "narHash": "sha256-V1YN5JM1+/+MaiBH5puIjkjPssV8QNyFRT8EmCTurDY=", - "owner": "cachix", - "repo": "devenv", - "rev": "32a795ac142f4578aa5f6ecc8eafb79d253d99ae", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "devenv", - "type": "github" - } - }, - "devenv_2": { - "inputs": { - "cachix": "cachix_2", - "crate2nix": "crate2nix", - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_2", - "ghostty": "ghostty", - "git-hooks": "git-hooks_2", - "nix": "nix_2", - "nixd": "nixd_2", - "nixpkgs": "nixpkgs_2", + ], "rust-overlay": "rust-overlay" }, "locked": { @@ -224,93 +83,30 @@ "type": "github" } }, - "devenv_3": { - "inputs": { - "cachix": "cachix_3", - "crate2nix": "crate2nix_2", - "flake-compat": "flake-compat_4", - "flake-parts": [ - "devlib", - "flake-parts" - ], - "ghostty": "ghostty_2", - "git-hooks": [ - "devlib", - "git-hooks" - ], - "nix": "nix_3", - "nixd": "nixd_3", - "nixpkgs": [ - "devlib", - "nixpkgs" - ], - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1779749056, - "narHash": "sha256-AtocdrunzuxTvSDn+82RntEhrs6TicM6Z4/zNQS9KKg=", - "owner": "cachix", - "repo": "devenv", - "rev": "099ac65fcef79e88127bdc06adbd1ea94255274a", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "devenv", - "type": "github" - } - }, "devlib": { "inputs": { "devenv": [ - "automata", "devenv" ], "flake-parts": [ - "automata", "flake-parts" ], "git-hooks": [ - "automata", "git-hooks" ], "nixpkgs": [ - "automata", "nixpkgs" ], "treefmt-nix": [ - "automata", "treefmt-nix" ] }, "locked": { - "lastModified": 1767742964, - "narHash": "sha256-JDjQouLz99JsUhSCSbSLlVYDwCQuYbIJuZd3D32GPAc=", - "owner": "shikanime-studio", - "repo": "devlib", - "rev": "55e3b9ed9fad5cd881f3e02ffbc046cfe33441b5", - "type": "github" - }, - "original": { - "owner": "shikanime-studio", - "repo": "devlib", - "type": "github" - } - }, - "devlib_2": { - "inputs": { - "devenv": "devenv_3", - "flake-parts": "flake-parts_3", - "git-hooks": "git-hooks_3", - "nixpkgs": "nixpkgs_3", - "treefmt-nix": "treefmt-nix_5" - }, - "locked": { - "lastModified": 1781645980, - "narHash": "sha256-+7fKYF4aW8Q/WBw4JdBpQy6xdnsPpfZhIGT/XTZ7vbg=", + "lastModified": 1781716600, + "narHash": "sha256-9E/aUHRGwKWG2LDGuXCuGJ4nRsd2c57KKelXXtB4Q8k=", "owner": "shikanime-studio", "repo": "devlib", - "rev": "99f006e8753b5bbaea64c5a08d18ee155dd71d6a", + "rev": "8836b0c977b211de03ce16af02ceb51566c18851", "type": "github" }, "original": { @@ -322,11 +118,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", "owner": "edolstra", "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { @@ -351,497 +147,116 @@ "type": "github" } }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixpkgs" + ] }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { - "flake": false, "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "NixOS", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { - "owner": "NixOS", - "repo": "flake-compat", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, - "flake-compat_6": { + "ghostty": { "flake": false, "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "NixOS", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "lastModified": 1779069789, + "narHash": "sha256-ojo+gso45/6CVSuqfSVnlWpQ4d0QeLgwok+v/g3yu0E=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "4b7bf0b20e3baf9c1ba10c63f2ad1fd853faea8f", "type": "github" }, "original": { - "owner": "NixOS", - "repo": "flake-compat", + "owner": "ghostty-org", + "repo": "ghostty", "type": "github" } }, - "flake-parts": { + "git-hooks": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { - "lastModified": 1767609335, - "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "250481aafeb741edfe23d29195671c19b36b6dca", + "lastModified": 1778507602, + "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", "type": "github" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", + "owner": "cachix", + "repo": "git-hooks.nix", "type": "github" } }, - "flake-parts_2": { + "gitignore": { "inputs": { - "nixpkgs-lib": [ - "devenv", + "nixpkgs": [ + "git-hooks", "nixpkgs" ] }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { "owner": "hercules-ci", - "repo": "flake-parts", + "repo": "gitignore.nix", "type": "github" } }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "devlib", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, - "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-root": { - "locked": { - "lastModified": 1723604017, - "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", - "owner": "srid", - "repo": "flake-root", - "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", - "type": "github" - }, - "original": { - "owner": "srid", - "repo": "flake-root", - "type": "github" - } - }, - "ghostty": { - "flake": false, - "locked": { - "lastModified": 1779069789, - "narHash": "sha256-ojo+gso45/6CVSuqfSVnlWpQ4d0QeLgwok+v/g3yu0E=", - "owner": "ghostty-org", - "repo": "ghostty", - "rev": "4b7bf0b20e3baf9c1ba10c63f2ad1fd853faea8f", - "type": "github" - }, - "original": { - "owner": "ghostty-org", - "repo": "ghostty", - "type": "github" - } - }, - "ghostty_2": { - "flake": false, - "locked": { - "lastModified": 1779069789, - "narHash": "sha256-ojo+gso45/6CVSuqfSVnlWpQ4d0QeLgwok+v/g3yu0E=", - "owner": "ghostty-org", - "repo": "ghostty", - "rev": "4b7bf0b20e3baf9c1ba10c63f2ad1fd853faea8f", - "type": "github" - }, - "original": { - "owner": "ghostty-org", - "repo": "ghostty", - "type": "github" - } - }, - "git-hooks": { - "inputs": { - "flake-compat": "flake-compat_2", - "gitignore": "gitignore", - "nixpkgs": [ - "automata", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1767281941, - "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_2": { - "inputs": { - "flake-compat": [ - "devenv", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1778507602, - "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_3": { - "inputs": { - "flake-compat": "flake-compat_5", - "gitignore": "gitignore_3", - "nixpkgs": [ - "devlib", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1778507602, - "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_4": { - "inputs": { - "flake-compat": "flake-compat_6", - "gitignore": "gitignore_4", - "nixpkgs": "nixpkgs_4" - }, - "locked": { - "lastModified": 1778507602, - "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "automata", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "devenv", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_3": { - "inputs": { - "nixpkgs": [ - "devlib", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_4": { - "inputs": { - "nixpkgs": [ - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "nix": { - "inputs": { - "flake-compat": [ - "automata", - "devenv", - "flake-compat" - ], - "flake-parts": [ - "automata", - "devenv", - "flake-parts" - ], - "git-hooks-nix": [ - "automata", - "devenv", - "git-hooks" - ], - "nixpkgs": [ - "automata", - "devenv", - "nixpkgs" - ], - "nixpkgs-23-11": [ - "automata", - "devenv" - ], - "nixpkgs-regression": [ - "automata", - "devenv" - ] - }, - "locked": { - "lastModified": 1766922625, - "narHash": "sha256-O0wExzdYqSNqbPYCQhUWeoKlDa7q6wxhuWiHolxqdl8=", - "owner": "cachix", - "repo": "nix", - "rev": "c62c4bdb6673871ae5cdc51c498df6292d5169aa", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "devenv-2.32", - "repo": "nix", - "type": "github" - } - }, - "nix_2": { - "inputs": { - "flake-compat": [ - "devenv", - "flake-compat" - ], - "flake-parts": [ - "devenv", - "flake-parts" - ], - "git-hooks-nix": [ - "devenv", - "git-hooks" - ], - "nixpkgs": [ - "devenv", - "nixpkgs" - ], - "nixpkgs-23-11": [ - "devenv" - ], - "nixpkgs-regression": [ - "devenv" - ] - }, - "locked": { - "lastModified": 1779748925, - "narHash": "sha256-meIhqGC04O5VXbKSFXSQoOKp+XCq5RMnwAk1Guo0VQo=", - "owner": "cachix", - "repo": "nix", - "rev": "0bc443c8ff235c3547d09327b48aaa2ab98b15f2", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "devenv-2.34", - "repo": "nix", - "type": "github" - } - }, - "nix_3": { + "nix": { "inputs": { "flake-compat": [ - "devlib", "devenv", "flake-compat" ], "flake-parts": [ - "devlib", "devenv", "flake-parts" ], "git-hooks-nix": [ - "devlib", "devenv", "git-hooks" ], "nixpkgs": [ - "devlib", "devenv", "nixpkgs" ], "nixpkgs-23-11": [ - "devlib", "devenv" ], "nixpkgs-regression": [ - "devlib", "devenv" ] }, "locked": { - "lastModified": 1779391158, - "narHash": "sha256-NUKwtyaooPLJPBOdg0piBgR6NIzY/n2W45+qkYdh+h8=", + "lastModified": 1779748925, + "narHash": "sha256-meIhqGC04O5VXbKSFXSQoOKp+XCq5RMnwAk1Guo0VQo=", "owner": "cachix", "repo": "nix", - "rev": "b58ad8fb752809db919ae865c6b2aa3be7d55e1f", + "rev": "0bc443c8ff235c3547d09327b48aaa2ab98b15f2", "type": "github" }, "original": { @@ -854,72 +269,15 @@ "nixd": { "inputs": { "flake-parts": [ - "automata", "devenv", "flake-parts" ], - "flake-root": "flake-root", "nixpkgs": [ - "automata", "devenv", "nixpkgs" ], "treefmt-nix": "treefmt-nix" }, - "locked": { - "lastModified": 1763964548, - "narHash": "sha256-JTRoaEWvPsVIMFJWeS4G2isPo15wqXY/otsiHPN0zww=", - "owner": "nix-community", - "repo": "nixd", - "rev": "d4bf15e56540422e2acc7bc26b20b0a0934e3f5e", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixd", - "type": "github" - } - }, - "nixd_2": { - "inputs": { - "flake-parts": [ - "devenv", - "flake-parts" - ], - "nixpkgs": [ - "devenv", - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix_3" - }, - "locked": { - "lastModified": 1778381404, - "narHash": "sha256-FqhdOTA8vyoIpkHhbs2cCT7h6EWM7nsLeOYJc1ifQLE=", - "owner": "nix-community", - "repo": "nixd", - "rev": "e3e45eb76663f522e196b7f0cf34cab201db7779", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixd", - "type": "github" - } - }, - "nixd_3": { - "inputs": { - "flake-parts": [ - "devlib", - "devenv", - "flake-parts" - ], - "nixpkgs": [ - "devlib", - "devenv", - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix_4" - }, "locked": { "lastModified": 1778381404, "narHash": "sha256-FqhdOTA8vyoIpkHhbs2cCT7h6EWM7nsLeOYJc1ifQLE=", @@ -935,120 +293,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1767364772, - "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1765674936, - "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_2": { - "locked": { - "lastModified": 1777168982, - "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-src": { - "flake": false, - "locked": { - "lastModified": 1778274207, - "narHash": "sha256-I4puXmX1iovcCHZlRmztO3vW0mAbbRvq4F8wgIMQ1MM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b3da656039dc7a6240f27b2ef8cc6a3ef3bccae7", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "inputs": { - "nixpkgs-src": "nixpkgs-src" - }, - "locked": { - "lastModified": 1778507786, - "narHash": "sha256-HzSQCKMsMr8r55LwM1JuzIOB+8bzk0FEv6sItKvsfoY=", - "owner": "cachix", - "repo": "devenv-nixpkgs", - "rev": "8f24a228a782e24576b155d1e39f0d914b380691", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "rolling", - "repo": "devenv-nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1779694939, - "narHash": "sha256-Ly4j75O8ICaSQx3uxPnwk2x7PMF0XQvn5r0c3yBA7FI=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "f9d8b65950353691ab56561e7c73d2e1063d810b", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1770073757, - "narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "47472570b1e607482890801aeaf29bfb749884f6", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { "locked": { "lastModified": 1781607440, "narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=", @@ -1064,31 +308,14 @@ "type": "github" } }, - "nixpkgs_6": { - "locked": { - "lastModified": 1770107345, - "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { - "automata": "automata", - "devenv": "devenv_2", - "devlib": "devlib_2", - "flake-parts": "flake-parts_4", - "git-hooks": "git-hooks_4", - "nixpkgs": "nixpkgs_5", - "treefmt-nix": "treefmt-nix_6" + "devenv": "devenv", + "devlib": "devlib", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "nixpkgs": "nixpkgs", + "treefmt-nix": "treefmt-nix_2" } }, "rust-overlay": { @@ -1112,98 +339,9 @@ "type": "github" } }, - "rust-overlay_2": { - "inputs": { - "nixpkgs": [ - "devlib", - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1779074409, - "narHash": "sha256-6aXy8Ga41iLVM8ibddFU1O5+wYWcBGNEfZzZuL91eIc=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "2a77b5b1dc952f214e8102acdef1622b68515560", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ - "automata", - "devenv", - "nixd", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1734704479, - "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "automata", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1767738726, - "narHash": "sha256-bHATlMr42JABTJgi4Wc8SJCK8Cv9AnR6HCl3k8eTwEs=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "4db0238d79254c6d14f251808dc5264b8fc81b73", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_3": { - "inputs": { - "nixpkgs": [ - "devenv", - "nixd", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1775636079, - "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_4": { - "inputs": { - "nixpkgs": [ - "devlib", "devenv", "nixd", "nixpkgs" @@ -1223,31 +361,12 @@ "type": "github" } }, - "treefmt-nix_5": { + "treefmt-nix_2": { "inputs": { "nixpkgs": [ - "devlib", "nixpkgs" ] }, - "locked": { - "lastModified": 1775636079, - "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_6": { - "inputs": { - "nixpkgs": "nixpkgs_6" - }, "locked": { "lastModified": 1780220602, "narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=", diff --git a/flake.nix b/flake.nix index 26a9256..88587a2 100755 --- a/flake.nix +++ b/flake.nix @@ -1,12 +1,41 @@ { inputs = { - automata.url = "github:shikanime-studio/automata"; - devenv.url = "github:cachix/devenv"; - devlib.url = "github:shikanime-studio/devlib"; - flake-parts.url = "github:hercules-ci/flake-parts"; - git-hooks.url = "github:cachix/git-hooks.nix"; + devenv = { + url = "github:cachix/devenv"; + inputs = { + flake-parts.follows = "flake-parts"; + git-hooks.follows = "git-hooks"; + nixpkgs.follows = "nixpkgs"; + }; + }; + + devlib = { + url = "github:shikanime-studio/devlib"; + inputs = { + devenv.follows = "devenv"; + flake-parts.follows = "flake-parts"; + git-hooks.follows = "git-hooks"; + nixpkgs.follows = "nixpkgs"; + treefmt-nix.follows = "treefmt-nix"; + }; + }; + + flake-parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; + }; + + git-hooks = { + url = "github:cachix/git-hooks.nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - treefmt-nix.url = "github:numtide/treefmt-nix"; + + treefmt-nix = { + url = "github:numtide/treefmt-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; nixConfig = { @@ -52,12 +81,7 @@ devlib.devenvModules.shikanime ]; shells = { - default = { - github.workflows.nix.enable = true; - github.settings.workflows.nix = { - "with".cachix-name = "shikanime"; - }; - }; + default.github.workflows.nix.enable = true; algorithm-cc = { enterTest = '' ${lib.getExe pkgs.cmake} \ From dc2a1317fd0ef61676f4631178b109582fdd8939 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Wed, 17 Jun 2026 19:48:07 +0200 Subject: [PATCH 9/9] Update [ghstack-poisoned] --- .github/renovate.json | 9 +- .github/workflows/commands.yaml | 21 +- .github/workflows/integration.yaml | 9 +- .github/workflows/javascript.yaml | 54 ++ .github/workflows/nix.yaml | 36 +- .github/workflows/release.yaml | 9 +- .github/workflows/triage.yaml | 32 +- .gitignore | 497 +++++++++++++ README.md | 6 +- algorithm-cc/.envrc | 8 - algorithm-cc/.gitignore | 365 ---------- algorithm-cc/.vscode/c_cpp_properties.json | 11 +- algorithm-cc/.vscode/extensions.json | 11 +- algorithm-cc/.vscode/settings.json | 7 +- algorithm-cc/CMakePresets.json | 28 +- algorithm-elixir/.envrc | 8 - algorithm-elixir/.gitignore | 326 --------- algorithm-elixir/.vscode/extensions.json | 2 +- algorithm-javascript/.envrc | 8 - algorithm-javascript/.gitignore | 425 ----------- algorithm-javascript/package-lock.json | 1 - algorithm-javascript/package.json | 25 +- algorithm-javascript/pnpm-lock.yaml | 781 +++++++++++++++++++++ algorithm-ocaml/.envrc | 8 - algorithm-ocaml/.gitignore | 319 --------- algorithm-ocaml/.vscode/extensions.json | 2 +- algorithm-ocaml/.vscode/settings.json | 2 +- algorithm-python/.envrc | 8 - algorithm-python/.gitignore | 459 ------------ algorithm-python/.vscode/extensions.json | 2 +- algorithm-python/.vscode/settings.json | 5 +- flake.nix | 137 ++-- 32 files changed, 1458 insertions(+), 2163 deletions(-) create mode 100644 .github/workflows/javascript.yaml delete mode 100644 algorithm-cc/.envrc delete mode 100644 algorithm-cc/.gitignore delete mode 100644 algorithm-elixir/.envrc delete mode 100644 algorithm-elixir/.gitignore delete mode 100644 algorithm-javascript/.envrc delete mode 100644 algorithm-javascript/.gitignore delete mode 100644 algorithm-javascript/package-lock.json create mode 100644 algorithm-javascript/pnpm-lock.yaml delete mode 100644 algorithm-ocaml/.envrc delete mode 100644 algorithm-ocaml/.gitignore delete mode 100644 algorithm-python/.envrc delete mode 100644 algorithm-python/.gitignore diff --git a/.github/renovate.json b/.github/renovate.json index 4906aeb..43040e8 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,8 +1 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["config:best-practices", "security:openssf-scorecard"], - "nix": { "enabled": true }, - "postUpgradeTasks": { - "nixFmt": { "commands": ["nix", "fmt"], "installTools": { "nix": {} } } - } -} +{"$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:best-practices", "security:openssf-scorecard"], "mix": {"enabled": true}, "nix": {"enabled": true}, "npm": {"enabled": true}, "postUpgradeTasks": {"nixFmt": {"commands": ["nix", "fmt"], "installTools": {"nix": {}}}}, "uv": {"enabled": true}} diff --git a/.github/workflows/commands.yaml b/.github/workflows/commands.yaml index 28e3a95..45097e4 100644 --- a/.github/workflows/commands.yaml +++ b/.github/workflows/commands.yaml @@ -7,9 +7,7 @@ permissions: - created jobs: backport: - if: - github.event.issue.pull_request != null && - contains(github.event.comment.body, '.backport') + if: github.event.issue.pull_request != null && contains(github.event.comment.body, '.backport') runs-on: ubuntu-slim steps: - id: createGithubAppToken @@ -31,9 +29,7 @@ jobs: gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} sign-commits: true close: - if: - github.event.issue.pull_request != null && - contains(github.event.comment.body, '.close') + if: github.event.issue.pull_request != null && contains(github.event.comment.body, '.close') runs-on: ubuntu-slim steps: - id: createGithubAppToken @@ -52,10 +48,7 @@ jobs: github-token: ${{ steps.createGithubAppToken.outputs.token }} username: operator6o land: - if: - github.event.issue.pull_request != null && - (contains(github.event.comment.body, '.land') || - contains(github.event.comment.body, '.force-land')) + if: github.event.issue.pull_request != null && (contains(github.event.comment.body, '.land') || contains(github.event.comment.body, '.force-land')) runs-on: ubuntu-slim steps: - id: createGithubAppToken @@ -81,9 +74,7 @@ jobs: sign-commits: true username: operator6o rebase: - if: - github.event.issue.pull_request != null && - contains(github.event.comment.body, '.rebase') + if: github.event.issue.pull_request != null && contains(github.event.comment.body, '.rebase') runs-on: ubuntu-slim steps: - id: createGithubAppToken @@ -108,9 +99,7 @@ jobs: sign-commits: true username: operator6o run: - if: - github.event.issue.pull_request != null && - contains(github.event.comment.body, '.run') + if: github.event.issue.pull_request != null && contains(github.event.comment.body, '.run') runs-on: ubuntu-slim steps: - id: createGithubAppToken diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index d194dcb..1c7b6b1 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -2,10 +2,13 @@ name: Integration permissions: contents: read jobs: + javascript: + if: ${{ github.event_name == 'workflow_call' || github.event_name == 'workflow_dispatch' || github.event.pull_request.draft == false }} + secrets: + OPERATOR_PRIVATE_KEY: ${{ secrets.OPERATOR_PRIVATE_KEY }} + uses: ./.github/workflows/javascript.yaml nix: - if: - ${{ github.event_name == 'workflow_call' || github.event_name == - 'workflow_dispatch' || github.event.pull_request.draft == false }} + if: ${{ github.event_name == 'workflow_call' || github.event_name == 'workflow_dispatch' || github.event.pull_request.draft == false }} permissions: contents: read packages: write diff --git a/.github/workflows/javascript.yaml b/.github/workflows/javascript.yaml new file mode 100644 index 0000000..74dc509 --- /dev/null +++ b/.github/workflows/javascript.yaml @@ -0,0 +1,54 @@ +name: JavaScript +permissions: + contents: read +"on": + workflow_call: + secrets: + OPERATOR_PRIVATE_KEY: + required: true + workflow_dispatch: {} +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - id: createGithubAppToken + continue-on-error: true + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/checkout@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} + - id: direnv + uses: shikanime-studio/actions/direnv@v9 + - env: ${{ fromJSON(steps.direnv.outputs.env) }} + uses: shikanime-studio/actions/pnpm/integration@v9 + build-workspace: + name: Build (Workspace) + runs-on: ubuntu-latest + steps: + - id: createGithubAppToken + continue-on-error: true + uses: actions/create-github-app-token@v3 + with: + app-id: ${{ vars.OPERATOR_APP_ID }} + permission-contents: read + private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} + - uses: shikanime-studio/actions/checkout@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} + - uses: shikanime-studio/actions/nix/setup@v9 + with: + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} + - id: direnv + uses: shikanime-studio/actions/direnv@v9 + - env: ${{ fromJSON(steps.direnv.outputs.env) }} + uses: shikanime-studio/actions/pnpm/integration@v9 + with: + recursive: true diff --git a/.github/workflows/nix.yaml b/.github/workflows/nix.yaml index 93aaee9..0224c12 100644 --- a/.github/workflows/nix.yaml +++ b/.github/workflows/nix.yaml @@ -41,20 +41,14 @@ jobs: with: cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }} cachix-name: ${{ inputs['cachix-name'] }} - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - uses: shikanime-studio/actions/checkout@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - id: direnv uses: shikanime-studio/actions/direnv@v9 - env: ${{ fromJSON(steps.direnv.outputs.env) }} - run: - nix flake check --accept-flake-config --no-pure-eval --system "${{ - matrix.system }}" + run: nix flake check --accept-flake-config --no-pure-eval --system "${{ matrix.system }}" shell: bash packages: name: Packages @@ -81,14 +75,10 @@ jobs: with: cachix-auth-token: ${{ secrets.CACHIX_AUTH_TOKEN }} cachix-name: ${{ inputs['cachix-name'] }} - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - uses: shikanime-studio/actions/checkout@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - id: direnv uses: shikanime-studio/actions/direnv@v9 - env: ${{ fromJSON(steps.direnv.outputs.env) }} @@ -112,14 +102,10 @@ jobs: private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - uses: shikanime-studio/actions/nix/setup@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - uses: shikanime-studio/actions/checkout@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - id: setup-checks-jobs uses: shikanime-studio/actions/nix/setup-checks-jobs@v9 setup-packages-jobs: @@ -140,13 +126,9 @@ jobs: private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - uses: shikanime-studio/actions/nix/setup@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - uses: shikanime-studio/actions/checkout@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - id: setup-packages-jobs uses: shikanime-studio/actions/nix/setup-packages-jobs@v9 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 05e3177..3fb53c3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -20,6 +20,10 @@ permissions: description: Tag or branch to release required: true jobs: + javascript: + secrets: + OPERATOR_PRIVATE_KEY: ${{ secrets.OPERATOR_PRIVATE_KEY }} + uses: ./.github/workflows/javascript.yaml nix: permissions: contents: read @@ -31,11 +35,10 @@ jobs: with: cachix-name: shikanime release: - if: - (startsWith(github.ref, 'refs/tags/v')) || (github.event_name == - 'workflow_dispatch' && startsWith(github.event.inputs.ref_name, 'v')) + if: (startsWith(github.ref, 'refs/tags/v')) || (github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.ref_name, 'v')) needs: - nix + - javascript permissions: contents: write runs-on: ubuntu-slim diff --git a/.github/workflows/triage.yaml b/.github/workflows/triage.yaml index 2737ae2..b1dce4d 100644 --- a/.github/workflows/triage.yaml +++ b/.github/workflows/triage.yaml @@ -20,31 +20,15 @@ jobs: private-key: ${{ secrets.OPERATOR_PRIVATE_KEY }} - uses: shikanime-studio/actions/nix/setup@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - uses: shikanime-studio/actions/checkout@v9 with: - github-token: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} + github-token: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} - env: - GH_TOKEN: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} - if: - github.event.pull_request.user.login == 'dependabot[bot]' || - github.event.pull_request.user.login == 'yorha-operator-6o[bot]' - run: - gh pr edit "${{ github.event.pull_request.number }}" --add-label - dependencies + GH_TOKEN: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} + if: github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'yorha-operator-6o[bot]' + run: gh pr edit "${{ github.event.pull_request.number }}" --add-label dependencies - env: - GH_TOKEN: - ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN - }} - if: - startsWith(github.head_ref, 'gh/') && endsWith(github.head_ref, - '/head') - run: - gh pr edit "${{ github.event.pull_request.number }}" --add-label - ghstack + GH_TOKEN: ${{ steps.createGithubAppToken.outputs.token || secrets.GITHUB_TOKEN }} + if: startsWith(github.head_ref, 'gh/') && endsWith(github.head_ref, '/head') + run: gh pr edit "${{ github.event.pull_request.number }}" --add-label ghstack diff --git a/.gitignore b/.gitignore index 17a8a47..5cb97e8 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,503 @@ .devenv* .direnv* +###------------------### +### TopTal: python ### +###------------------### + +# Created by https://www.toptal.com/developers/gitignore/api/python +# Edit at https://www.toptal.com/developers/gitignore?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +# End of https://www.toptal.com/developers/gitignore/api/python + +###-----------------### +### TopTal: ocaml ### +###-----------------### + +# Created by https://www.toptal.com/developers/gitignore/api/ocaml +# Edit at https://www.toptal.com/developers/gitignore?templates=ocaml + +### OCaml ### +*.annot +*.cmo +*.cma +*.cmi +*.a +*.o +*.cmx +*.cmxs +*.cmxa + +# ocamlbuild working directory +_build/ + +# ocamlbuild targets +*.byte +*.native + +# oasis generated files +setup.data +setup.log + +# Merlin configuring file for Vim and Emacs +.merlin + +# Dune generated files +*.install + +# Local OPAM switch +_opam/ + +# End of https://www.toptal.com/developers/gitignore/api/ocaml + +###----------------### +### TopTal: node ### +###----------------### + +# Created by https://www.toptal.com/developers/gitignore/api/node +# Edit at https://www.toptal.com/developers/gitignore?templates=node + +### Node ### +# Logs +logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# SvelteKit build / generate output +.svelte-kit + +# End of https://www.toptal.com/developers/gitignore/api/node + +###------------------### +### TopTal: erlang ### +###------------------### + +# Created by https://www.toptal.com/developers/gitignore/api/erlang +# Edit at https://www.toptal.com/developers/gitignore?templates=erlang + +### Erlang ### +.eunit +*.beam +*.plt +erl_crash.dump +.concrete/DEV_MODE + +# rebar 2.x +.rebar +rel/example_project +ebin/*.beam +deps + +# rebar 3 +.rebar3 +_checkouts/ + +### Erlang Patch ### +rebar3.crashdump + +# End of https://www.toptal.com/developers/gitignore/api/erlang + +###------------------### +### TopTal: elixir ### +###------------------### + +# Created by https://www.toptal.com/developers/gitignore/api/elixir +# Edit at https://www.toptal.com/developers/gitignore?templates=elixir + +### Elixir ### +/_build +/cover +/deps +/doc +/.fetch +*.ez +/config/*.secret.exs +.elixir_ls/ + +### Elixir Patch ### + +# End of https://www.toptal.com/developers/gitignore/api/elixir + +###-------------### +### TopTal: c ### +###-------------### + +# Created by https://www.toptal.com/developers/gitignore/api/c +# Edit at https://www.toptal.com/developers/gitignore?templates=c + +### C ### +# Prerequisites +*.d + +# Object files +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf + +# End of https://www.toptal.com/developers/gitignore/api/c + +###---------------### +### TopTal: c++ ### +###---------------### + +# Created by https://www.toptal.com/developers/gitignore/api/c++ +# Edit at https://www.toptal.com/developers/gitignore?templates=c++ + +### C++ ### + +# Compiled Object files +*.slo + +# Compiled Dynamic libraries + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai + +# End of https://www.toptal.com/developers/gitignore/api/c++ + ###-------------------------### ### TopTal: jetbrains+all ### ###-------------------------### diff --git a/README.md b/README.md index 9e69fcf..7fc3874 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ -# Algorithm + ![header.png](https://raw.githubusercontent.com/shikanime/shikanime/main/assets/github-header.png) + + +# Algorithm + Hey 🌸 I'm Shikanime Deva, this is my collection of algorithmic challenges solutions. diff --git a/algorithm-cc/.envrc b/algorithm-cc/.envrc deleted file mode 100644 index 7d0fe62..0000000 --- a/algorithm-cc/.envrc +++ /dev/null @@ -1,8 +0,0 @@ -# shellcheck shell=bash - -# If we are a computer with nix available, then use that to setup -# the build environment with exactly what we need. -if has nix; then - # Use nix flakes to setup the environment - use flake ..#algorithm-cc --accept-flake-config --no-pure-eval -fi diff --git a/algorithm-cc/.gitignore b/algorithm-cc/.gitignore deleted file mode 100644 index 445d0e0..0000000 --- a/algorithm-cc/.gitignore +++ /dev/null @@ -1,365 +0,0 @@ -###---------------### -### GitHub: Nix ### -###---------------### - -# Ignore build outputs from performing a nix-build or `nix build` command -result -result-* - -# Ignore automatically generated direnv output -.direnv - -###---------------------------------------------------------------------### -### Repo: shikanime-studio/gitignore/refs/heads/main/Devenv.gitignore ### -###---------------------------------------------------------------------### - -.env -.env.* -.devenv* -.direnv* - -###-------------### -### TopTal: c ### -###-------------### - -# Created by https://www.toptal.com/developers/gitignore/api/c -# Edit at https://www.toptal.com/developers/gitignore?templates=c - -### C ### -# Prerequisites -*.d - -# Object files -*.o -*.ko -*.obj -*.elf - -# Linker output -*.ilk -*.map -*.exp - -# Precompiled Headers -*.gch -*.pch - -# Libraries -*.lib -*.a -*.la -*.lo - -# Shared objects (inc. Windows DLLs) -*.dll -*.so -*.so.* -*.dylib - -# Executables -*.exe -*.out -*.app -*.i*86 -*.x86_64 -*.hex - -# Debug files -*.dSYM/ -*.su -*.idb -*.pdb - -# Kernel Module Compile Results -*.mod* -*.cmd -.tmp_versions/ -modules.order -Module.symvers -Mkfile.old -dkms.conf - -# End of https://www.toptal.com/developers/gitignore/api/c - -###---------------### -### TopTal: c++ ### -###---------------### - -# Created by https://www.toptal.com/developers/gitignore/api/c++ -# Edit at https://www.toptal.com/developers/gitignore?templates=c++ - -### C++ ### - -# Compiled Object files -*.slo - -# Compiled Dynamic libraries - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai - -# End of https://www.toptal.com/developers/gitignore/api/c++ - -###-------------------------### -### TopTal: jetbrains+all ### -###-------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/jetbrains+all -# Edit at https://www.toptal.com/developers/gitignore?templates=jetbrains+all - -### JetBrains+all ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### JetBrains+all Patch ### -# Ignore everything but code style settings and run configurations -# that are supposed to be shared within teams. - -.idea/* - -!.idea/codeStyles -!.idea/runConfigurations - -# End of https://www.toptal.com/developers/gitignore/api/jetbrains+all - -###-----------------### -### TopTal: linux ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/linux -# Edit at https://www.toptal.com/developers/gitignore?templates=linux - -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - -# End of https://www.toptal.com/developers/gitignore/api/linux - -###-----------------### -### TopTal: macos ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/macos -# Edit at https://www.toptal.com/developers/gitignore?templates=macos - -### macOS ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### macOS Patch ### -# iCloud generated files -*.icloud - -# End of https://www.toptal.com/developers/gitignore/api/macos - -###---------------### -### TopTal: vim ### -###---------------### - -# Created by https://www.toptal.com/developers/gitignore/api/vim -# Edit at https://www.toptal.com/developers/gitignore?templates=vim - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -# End of https://www.toptal.com/developers/gitignore/api/vim - -###----------------------------### -### TopTal: visualstudiocode ### -###----------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode - -###-------------------### -### TopTal: windows ### -###-------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/windows -# Edit at https://www.toptal.com/developers/gitignore?templates=windows - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# End of https://www.toptal.com/developers/gitignore/api/windows - -###-------------------### -### Devlib: content ### -###-------------------### - -.pre-commit-config.yaml diff --git a/algorithm-cc/.vscode/c_cpp_properties.json b/algorithm-cc/.vscode/c_cpp_properties.json index 7b1f1ca..95ab235 100644 --- a/algorithm-cc/.vscode/c_cpp_properties.json +++ b/algorithm-cc/.vscode/c_cpp_properties.json @@ -1,10 +1 @@ -{ - "version": 4, - "configurations": [ - { - "name": "Default", - "compileCommands": "${workspaceFolder}/out/build/unknown-unknown-gnu/compile_commands.json", - "configurationProvider": "ms-vscode.cmake-tools" - } - ] -} +{"version": 4, "configurations": [{"name": "Default", "compileCommands": "${workspaceFolder}/out/build/unknown-unknown-gnu/compile_commands.json", "configurationProvider": "ms-vscode.cmake-tools"}]} diff --git a/algorithm-cc/.vscode/extensions.json b/algorithm-cc/.vscode/extensions.json index 3e51ea9..f1f0c60 100644 --- a/algorithm-cc/.vscode/extensions.json +++ b/algorithm-cc/.vscode/extensions.json @@ -1,10 +1 @@ -{ - "recommendations": [ - "ms-vscode.cpptools", - "xaver.clang-format", - "twxs.cmake", - "ms-vscode.cmake-tools", - "fredericbonnet.cmake-test-adapter", - "vadimcn.vscode-lldb" - ] -} +{"recommendations": ["ms-vscode.cpptools", "xaver.clang-format", "twxs.cmake", "ms-vscode.cmake-tools", "fredericbonnet.cmake-test-adapter", "vadimcn.vscode-lldb"]} diff --git a/algorithm-cc/.vscode/settings.json b/algorithm-cc/.vscode/settings.json index 00d5c4b..e55efe6 100644 --- a/algorithm-cc/.vscode/settings.json +++ b/algorithm-cc/.vscode/settings.json @@ -1,6 +1 @@ -{ - "C_Cpp.default.cStandard": "c17", - "C_Cpp.default.cppStandard": "c++20", - "cmake.configureOnOpen": true, - "sonarlint.pathToCompileCommands": "${workspaceFolder}/out/build/unknown-unknown-gnu/compile_commands.json" -} +{"C_Cpp.default.cStandard": "c17", "C_Cpp.default.cppStandard": "c++20", "cmake.configureOnOpen": true, "sonarlint.pathToCompileCommands": "${workspaceFolder}/out/build/unknown-unknown-gnu/compile_commands.json"} diff --git a/algorithm-cc/CMakePresets.json b/algorithm-cc/CMakePresets.json index 433d466..503ac61 100644 --- a/algorithm-cc/CMakePresets.json +++ b/algorithm-cc/CMakePresets.json @@ -1,27 +1 @@ -{ - "version": 3, - "buildPresets": [ - { "name": "unknown-unknown-gnu", "configurePreset": "unknown-unknown-gnu" } - ], - "configurePresets": [ - { - "name": "unknown-unknown-gnu", - "description": "Sets Ninja generator, build and install directory", - "generator": "Ninja", - "cacheVariables": { - "CMAKE_C_COMPILER": "gcc", - "CMAKE_CXX_COMPILER": "g++", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", - "CMAKE_MAKE_PROGRAM": "ninja" - } - } - ], - "testPresets": [ - { - "name": "unknown-unknown-gnu", - "configurePreset": "unknown-unknown-gnu", - "execution": { "stopOnFailure": true }, - "output": { "outputOnFailure": true } - } - ] -} +{"version": 3, "buildPresets": [{"name": "unknown-unknown-gnu", "configurePreset": "unknown-unknown-gnu"}], "configurePresets": [{"name": "unknown-unknown-gnu", "description": "Sets Ninja generator, build and install directory", "generator": "Ninja", "cacheVariables": {"CMAKE_C_COMPILER": "gcc", "CMAKE_CXX_COMPILER": "g++", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_MAKE_PROGRAM": "ninja"}}], "testPresets": [{"name": "unknown-unknown-gnu", "configurePreset": "unknown-unknown-gnu", "execution": {"stopOnFailure": true}, "output": {"outputOnFailure": true}}]} diff --git a/algorithm-elixir/.envrc b/algorithm-elixir/.envrc deleted file mode 100644 index 4ef0e33..0000000 --- a/algorithm-elixir/.envrc +++ /dev/null @@ -1,8 +0,0 @@ -# shellcheck shell=bash - -# If we are a computer with nix available, then use that to setup -# the build environment with exactly what we need. -if has nix; then - # Use nix flakes to setup the environment - use flake ..#algorithm-elixir --accept-flake-config --no-pure-eval -fi diff --git a/algorithm-elixir/.gitignore b/algorithm-elixir/.gitignore deleted file mode 100644 index 4722b55..0000000 --- a/algorithm-elixir/.gitignore +++ /dev/null @@ -1,326 +0,0 @@ - ###-------------------------### -### TopTal: jetbrains+all ### -###-------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/jetbrains+all -# Edit at https://www.toptal.com/developers/gitignore?templates=jetbrains+all - -### JetBrains+all ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### JetBrains+all Patch ### -# Ignore everything but code style settings and run configurations -# that are supposed to be shared within teams. - -.idea/* - -!.idea/codeStyles -!.idea/runConfigurations - -# End of https://www.toptal.com/developers/gitignore/api/jetbrains+all - -###-----------------### -### TopTal: linux ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/linux -# Edit at https://www.toptal.com/developers/gitignore?templates=linux - -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - -# End of https://www.toptal.com/developers/gitignore/api/linux - -###-----------------### -### TopTal: macos ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/macos -# Edit at https://www.toptal.com/developers/gitignore?templates=macos - -### macOS ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### macOS Patch ### -# iCloud generated files -*.icloud - -# End of https://www.toptal.com/developers/gitignore/api/macos - -###---------------### -### TopTal: vim ### -###---------------### - -# Created by https://www.toptal.com/developers/gitignore/api/vim -# Edit at https://www.toptal.com/developers/gitignore?templates=vim - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -# End of https://www.toptal.com/developers/gitignore/api/vim - -###----------------------------### -### TopTal: visualstudiocode ### -###----------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode - -###-------------------### -### TopTal: windows ### -###-------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/windows -# Edit at https://www.toptal.com/developers/gitignore?templates=windows - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# End of https://www.toptal.com/developers/gitignore/api/windows - -###---------------### -### GitHub: Nix ### -###---------------### - -# Ignore build outputs from performing a nix-build or `nix build` command -result -result-* - -# Ignore automatically generated direnv output -.direnv - -###--------------------------------------------------------------### -### Repo: shikanime/gitignore/refs/heads/main/Devenv.gitignore ### -###--------------------------------------------------------------### - -.env -.env.* -.devenv* -.direnv* -.pre-commit-config.yaml - -###------------------### -### TopTal: elixir ### -###------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/elixir -# Edit at https://www.toptal.com/developers/gitignore?templates=elixir - -### Elixir ### -/_build -/cover -/deps -/doc -/.fetch -erl_crash.dump -*.ez -*.beam -/config/*.secret.exs -.elixir_ls/ - -### Elixir Patch ### - -# End of https://www.toptal.com/developers/gitignore/api/elixir - -###------------------### -### TopTal: erlang ### -###------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/erlang -# Edit at https://www.toptal.com/developers/gitignore?templates=erlang - -### Erlang ### -.eunit -*.o -*.plt -.concrete/DEV_MODE - -# rebar 2.x -.rebar -rel/example_project -ebin/*.beam -deps - -# rebar 3 -.rebar3 -_build/ -_checkouts/ - -### Erlang Patch ### -rebar3.crashdump - -# End of https://www.toptal.com/developers/gitignore/api/erlang diff --git a/algorithm-elixir/.vscode/extensions.json b/algorithm-elixir/.vscode/extensions.json index 56e3c9f..2bb8eb8 100644 --- a/algorithm-elixir/.vscode/extensions.json +++ b/algorithm-elixir/.vscode/extensions.json @@ -1 +1 @@ -{ "recommendations": ["JakeBecker.elixir-ls", "erlang-ls.erlang-ls"] } +{"recommendations": ["JakeBecker.elixir-ls", "erlang-ls.erlang-ls"]} diff --git a/algorithm-javascript/.envrc b/algorithm-javascript/.envrc deleted file mode 100644 index b0e5a3f..0000000 --- a/algorithm-javascript/.envrc +++ /dev/null @@ -1,8 +0,0 @@ -# shellcheck shell=bash - -# If we are a computer with nix available, then use that to setup -# the build environment with exactly what we need. -if has nix; then - # Use nix flakes to setup the environment - use flake ..#algorithm-javascript --accept-flake-config --no-pure-eval -fi diff --git a/algorithm-javascript/.gitignore b/algorithm-javascript/.gitignore deleted file mode 100644 index e05f773..0000000 --- a/algorithm-javascript/.gitignore +++ /dev/null @@ -1,425 +0,0 @@ -###---------------### -### GitHub: Nix ### -###---------------### - -# Ignore build outputs from performing a nix-build or `nix build` command -result -result-* - -# Ignore automatically generated direnv output -.direnv - -###---------------------------------------------------------------------### -### Repo: shikanime-studio/gitignore/refs/heads/main/Devenv.gitignore ### -###---------------------------------------------------------------------### - -.env -.env.* -.devenv* -.direnv* - -###----------------### -### TopTal: node ### -###----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/node -# Edit at https://www.toptal.com/developers/gitignore?templates=node - -### Node ### -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -### Node Patch ### -# Serverless Webpack directories -.webpack/ - -# SvelteKit build / generate output -.svelte-kit - -# End of https://www.toptal.com/developers/gitignore/api/node - -###-------------------------### -### TopTal: jetbrains+all ### -###-------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/jetbrains+all -# Edit at https://www.toptal.com/developers/gitignore?templates=jetbrains+all - -### JetBrains+all ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### JetBrains+all Patch ### -# Ignore everything but code style settings and run configurations -# that are supposed to be shared within teams. - -.idea/* - -!.idea/codeStyles -!.idea/runConfigurations - -# End of https://www.toptal.com/developers/gitignore/api/jetbrains+all - -###-----------------### -### TopTal: linux ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/linux -# Edit at https://www.toptal.com/developers/gitignore?templates=linux - -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - -# End of https://www.toptal.com/developers/gitignore/api/linux - -###-----------------### -### TopTal: macos ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/macos -# Edit at https://www.toptal.com/developers/gitignore?templates=macos - -### macOS ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### macOS Patch ### -# iCloud generated files -*.icloud - -# End of https://www.toptal.com/developers/gitignore/api/macos - -###---------------### -### TopTal: vim ### -###---------------### - -# Created by https://www.toptal.com/developers/gitignore/api/vim -# Edit at https://www.toptal.com/developers/gitignore?templates=vim - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -# End of https://www.toptal.com/developers/gitignore/api/vim - -###----------------------------### -### TopTal: visualstudiocode ### -###----------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode - -###-------------------### -### TopTal: windows ### -###-------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/windows -# Edit at https://www.toptal.com/developers/gitignore?templates=windows - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# End of https://www.toptal.com/developers/gitignore/api/windows - -###-------------------### -### Devlib: content ### -###-------------------### - -.pre-commit-config.yaml diff --git a/algorithm-javascript/package-lock.json b/algorithm-javascript/package-lock.json deleted file mode 100644 index 0e95c7a..0000000 --- a/algorithm-javascript/package-lock.json +++ /dev/null @@ -1 +0,0 @@ -{"name": "algorithm", "version": "0.1.0", "lockfileVersion": 2, "requires": true, "dependencies": {"@esbuild/aix-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz"}, "@esbuild/android-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz"}, "@esbuild/android-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz"}, "@esbuild/android-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz"}, "@esbuild/darwin-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz"}, "@esbuild/darwin-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz"}, "@esbuild/freebsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz"}, "@esbuild/freebsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz"}, "@esbuild/linux-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz"}, "@esbuild/linux-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz"}, "@esbuild/linux-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz"}, "@esbuild/linux-loong64": {"version": "0.25.12", "dev": true, "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz"}, "@esbuild/linux-mips64el": {"version": "0.25.12", "dev": true, "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz"}, "@esbuild/linux-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz"}, "@esbuild/linux-riscv64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz"}, "@esbuild/linux-s390x": {"version": "0.25.12", "dev": true, "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz"}, "@esbuild/linux-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz"}, "@esbuild/netbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz"}, "@esbuild/netbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz"}, "@esbuild/openbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz"}, "@esbuild/openbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz"}, "@esbuild/openharmony-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz"}, "@esbuild/sunos-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz"}, "@esbuild/win32-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz"}, "@esbuild/win32-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz"}, "@esbuild/win32-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz"}, "@jridgewell/sourcemap-codec": {"version": "1.5.5", "dev": true, "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"}, "@rollup/rollup-android-arm-eabi": {"version": "4.53.3", "dev": true, "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz"}, "@rollup/rollup-android-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz"}, "@rollup/rollup-darwin-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz"}, "@rollup/rollup-darwin-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz"}, "@rollup/rollup-freebsd-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz"}, "@rollup/rollup-freebsd-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz"}, "@rollup/rollup-linux-arm-gnueabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz"}, "@rollup/rollup-linux-arm-musleabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz"}, "@rollup/rollup-linux-arm64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-arm64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz"}, "@rollup/rollup-linux-loong64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-ppc64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-riscv64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-riscv64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz"}, "@rollup/rollup-linux-s390x-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz"}, "@rollup/rollup-linux-x64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz"}, "@rollup/rollup-openharmony-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz"}, "@rollup/rollup-win32-arm64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz"}, "@rollup/rollup-win32-ia32-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz"}, "@rollup/rollup-win32-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz"}, "@rollup/rollup-win32-x64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz"}, "@standard-schema/spec": {"version": "1.0.0", "dev": true, "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz"}, "@types/chai": {"version": "5.2.3", "dev": true, "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", "requires": {"@types/deep-eql": "*", "assertion-error": "^2.0.1"}}, "@types/deep-eql": {"version": "4.0.2", "dev": true, "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz"}, "@types/estree": {"version": "1.0.8", "dev": true, "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"}, "@vitest/expect": {"version": "4.0.15", "dev": true, "integrity": "sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.15.tgz", "requires": {"@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "chai": "^6.2.1", "tinyrainbow": "^3.0.3"}}, "@vitest/mocker": {"version": "4.0.15", "dev": true, "integrity": "sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==", "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.15.tgz", "requires": {"@vitest/spy": "4.0.15", "estree-walker": "^3.0.3", "magic-string": "^0.30.21"}}, "@vitest/pretty-format": {"version": "4.0.15", "dev": true, "integrity": "sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==", "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.15.tgz", "requires": {"tinyrainbow": "^3.0.3"}}, "@vitest/runner": {"version": "4.0.15", "dev": true, "integrity": "sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==", "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.15.tgz", "requires": {"@vitest/utils": "4.0.15", "pathe": "^2.0.3"}}, "@vitest/snapshot": {"version": "4.0.15", "dev": true, "integrity": "sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==", "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.15.tgz", "requires": {"@vitest/pretty-format": "4.0.15", "magic-string": "^0.30.21", "pathe": "^2.0.3"}}, "@vitest/spy": {"version": "4.0.15", "dev": true, "integrity": "sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==", "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.15.tgz"}, "@vitest/utils": {"version": "4.0.15", "dev": true, "integrity": "sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==", "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.15.tgz", "requires": {"@vitest/pretty-format": "4.0.15", "tinyrainbow": "^3.0.3"}}, "assertion-error": {"version": "2.0.1", "dev": true, "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz"}, "chai": {"version": "6.2.1", "dev": true, "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz"}, "es-module-lexer": {"version": "1.7.0", "dev": true, "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz"}, "esbuild": {"version": "0.25.12", "dev": true, "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", "requires": {"@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12"}}, "estree-walker": {"version": "3.0.3", "dev": true, "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "requires": {"@types/estree": "^1.0.0"}}, "expect-type": {"version": "1.3.0", "dev": true, "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz"}, "fdir": {"version": "6.5.0", "dev": true, "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "requires": {}, "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz"}, "fsevents": {"version": "2.3.3", "dev": true, "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true, "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"}, "magic-string": {"version": "0.30.21", "dev": true, "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", "requires": {"@jridgewell/sourcemap-codec": "^1.5.5"}}, "nanoid": {"version": "3.3.11", "dev": true, "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"}, "obug": {"version": "2.1.1", "dev": true, "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz"}, "pathe": {"version": "2.0.3", "dev": true, "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz"}, "picocolors": {"version": "1.1.1", "dev": true, "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"}, "picomatch": {"version": "4.0.3", "dev": true, "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"}, "postcss": {"version": "8.5.6", "dev": true, "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "requires": {"nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1"}}, "rollup": {"version": "4.53.3", "dev": true, "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", "requires": {"@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "@types/estree": "1.0.8", "fsevents": "~2.3.2"}}, "siginfo": {"version": "2.0.0", "dev": true, "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz"}, "source-map-js": {"version": "1.2.1", "dev": true, "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"}, "stackback": {"version": "0.0.2", "dev": true, "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz"}, "std-env": {"version": "3.10.0", "dev": true, "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz"}, "tinybench": {"version": "2.9.0", "dev": true, "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz"}, "tinyexec": {"version": "1.0.2", "dev": true, "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz"}, "tinyglobby": {"version": "0.2.15", "dev": true, "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "requires": {"fdir": "^6.5.0", "picomatch": "^4.0.3"}}, "tinyrainbow": {"version": "3.0.3", "dev": true, "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz"}, "vite": {"version": "7.2.7", "dev": true, "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", "requires": {"esbuild": "^0.25.0", "fdir": "^6.5.0", "fsevents": "~2.3.3", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15"}}, "vitest": {"version": "4.0.15", "dev": true, "integrity": "sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==", "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.15.tgz", "requires": {"@vitest/expect": "4.0.15", "@vitest/mocker": "4.0.15", "@vitest/pretty-format": "4.0.15", "@vitest/runner": "4.0.15", "@vitest/snapshot": "4.0.15", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "es-module-lexer": "^1.7.0", "expect-type": "^1.2.2", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "std-env": "^3.10.0", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tinyrainbow": "^3.0.3", "vite": "^6.0.0 || ^7.0.0", "why-is-node-running": "^2.3.0"}}, "why-is-node-running": {"version": "2.3.0", "dev": true, "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", "requires": {"siginfo": "^2.0.0", "stackback": "0.0.2"}}}, "packages": {"": {"name": "algorithm", "version": "0.1.0", "license": "AGPL-3.0-or-later", "devDependencies": {"vitest": "^4.0.15"}}, "node_modules/@esbuild/aix-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", "cpu": ["ppc64"], "engines": {"node": "\u003e=18"}, "os": ["aix"]}, "node_modules/@esbuild/android-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", "cpu": ["arm"], "engines": {"node": "\u003e=18"}, "os": ["android"]}, "node_modules/@esbuild/android-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["android"]}, "node_modules/@esbuild/android-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["android"]}, "node_modules/@esbuild/darwin-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["darwin"]}, "node_modules/@esbuild/darwin-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["darwin"]}, "node_modules/@esbuild/freebsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["freebsd"]}, "node_modules/@esbuild/freebsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["freebsd"]}, "node_modules/@esbuild/linux-arm": {"version": "0.25.12", "dev": true, "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", "cpu": ["arm"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", "cpu": ["ia32"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-loong64": {"version": "0.25.12", "dev": true, "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", "cpu": ["loong64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-mips64el": {"version": "0.25.12", "dev": true, "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", "cpu": ["mips64el"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-ppc64": {"version": "0.25.12", "dev": true, "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", "cpu": ["ppc64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-riscv64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", "cpu": ["riscv64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-s390x": {"version": "0.25.12", "dev": true, "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", "cpu": ["s390x"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/linux-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["linux"]}, "node_modules/@esbuild/netbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["netbsd"]}, "node_modules/@esbuild/netbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["netbsd"]}, "node_modules/@esbuild/openbsd-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["openbsd"]}, "node_modules/@esbuild/openbsd-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["openbsd"]}, "node_modules/@esbuild/openharmony-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["openharmony"]}, "node_modules/@esbuild/sunos-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["sunos"]}, "node_modules/@esbuild/win32-arm64": {"version": "0.25.12", "dev": true, "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", "cpu": ["arm64"], "engines": {"node": "\u003e=18"}, "os": ["win32"]}, "node_modules/@esbuild/win32-ia32": {"version": "0.25.12", "dev": true, "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", "cpu": ["ia32"], "engines": {"node": "\u003e=18"}, "os": ["win32"]}, "node_modules/@esbuild/win32-x64": {"version": "0.25.12", "dev": true, "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", "cpu": ["x64"], "engines": {"node": "\u003e=18"}, "os": ["win32"]}, "node_modules/@jridgewell/sourcemap-codec": {"version": "1.5.5", "dev": true, "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"}, "node_modules/@rollup/rollup-android-arm-eabi": {"version": "4.53.3", "dev": true, "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", "cpu": ["arm"], "os": ["android"]}, "node_modules/@rollup/rollup-android-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["android"]}, "node_modules/@rollup/rollup-darwin-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["darwin"]}, "node_modules/@rollup/rollup-darwin-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", "cpu": ["x64"], "os": ["darwin"]}, "node_modules/@rollup/rollup-freebsd-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["freebsd"]}, "node_modules/@rollup/rollup-freebsd-x64": {"version": "4.53.3", "dev": true, "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", "cpu": ["x64"], "os": ["freebsd"]}, "node_modules/@rollup/rollup-linux-arm-gnueabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", "cpu": ["arm"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-arm-musleabihf": {"version": "4.53.3", "dev": true, "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", "cpu": ["arm"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-arm64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", "cpu": ["arm64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-arm64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", "cpu": ["arm64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-loong64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", "cpu": ["loong64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-ppc64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", "cpu": ["ppc64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-riscv64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", "cpu": ["riscv64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-riscv64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", "cpu": ["riscv64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-s390x-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", "cpu": ["s390x"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", "cpu": ["x64"], "os": ["linux"]}, "node_modules/@rollup/rollup-linux-x64-musl": {"version": "4.53.3", "dev": true, "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", "cpu": ["x64"], "os": ["linux"]}, "node_modules/@rollup/rollup-openharmony-arm64": {"version": "4.53.3", "dev": true, "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", "cpu": ["arm64"], "os": ["openharmony"]}, "node_modules/@rollup/rollup-win32-arm64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", "cpu": ["arm64"], "os": ["win32"]}, "node_modules/@rollup/rollup-win32-ia32-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", "cpu": ["ia32"], "os": ["win32"]}, "node_modules/@rollup/rollup-win32-x64-gnu": {"version": "4.53.3", "dev": true, "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", "cpu": ["x64"], "os": ["win32"]}, "node_modules/@rollup/rollup-win32-x64-msvc": {"version": "4.53.3", "dev": true, "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", "cpu": ["x64"], "os": ["win32"]}, "node_modules/@standard-schema/spec": {"version": "1.0.0", "dev": true, "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", "license": "MIT", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz"}, "node_modules/@types/chai": {"version": "5.2.3", "dev": true, "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "license": "MIT", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", "dependencies": {"@types/deep-eql": "*", "assertion-error": "^2.0.1"}}, "node_modules/@types/deep-eql": {"version": "4.0.2", "dev": true, "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "license": "MIT", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz"}, "node_modules/@types/estree": {"version": "1.0.8", "dev": true, "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "license": "MIT", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"}, "node_modules/@vitest/expect": {"version": "4.0.15", "dev": true, "integrity": "sha512-Gfyva9/GxPAWXIWjyGDli9O+waHDC0Q0jaLdFP1qPAUUfo1FEXPXUfUkp3eZA0sSq340vPycSyOlYUeM15Ft1w==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.15.tgz", "dependencies": {"@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "chai": "^6.2.1", "tinyrainbow": "^3.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/mocker": {"version": "4.0.15", "dev": true, "integrity": "sha512-CZ28GLfOEIFkvCFngN8Sfx5h+Se0zN+h4B7yOsPVCcgtiO7t5jt9xQh2E1UkFep+eb9fjyMfuC5gBypwb07fvQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.15.tgz", "dependencies": {"@vitest/spy": "4.0.15", "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-0"}, "peerDependenciesMeta": {"msw": {"optional": true}, "vite": {"optional": true}}}, "node_modules/@vitest/pretty-format": {"version": "4.0.15", "dev": true, "integrity": "sha512-SWdqR8vEv83WtZcrfLNqlqeQXlQLh2iilO1Wk1gv4eiHKjEzvgHb2OVc3mIPyhZE6F+CtfYjNlDJwP5MN6Km7A==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.15.tgz", "dependencies": {"tinyrainbow": "^3.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/runner": {"version": "4.0.15", "dev": true, "integrity": "sha512-+A+yMY8dGixUhHmNdPUxOh0la6uVzun86vAbuMT3hIDxMrAOmn5ILBHm8ajrqHE0t8R9T1dGnde1A5DTnmi3qw==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.15.tgz", "dependencies": {"@vitest/utils": "4.0.15", "pathe": "^2.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/snapshot": {"version": "4.0.15", "dev": true, "integrity": "sha512-A7Ob8EdFZJIBjLjeO0DZF4lqR6U7Ydi5/5LIZ0xcI+23lYlsYJAfGn8PrIWTYdZQRNnSRlzhg0zyGu37mVdy5g==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.15.tgz", "dependencies": {"@vitest/pretty-format": "4.0.15", "magic-string": "^0.30.21", "pathe": "^2.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/spy": {"version": "4.0.15", "dev": true, "integrity": "sha512-+EIjOJmnY6mIfdXtE/bnozKEvTC4Uczg19yeZ2vtCz5Yyb0QQ31QWVQ8hswJ3Ysx/K2EqaNsVanjr//2+P3FHw==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.15.tgz", "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/@vitest/utils": {"version": "4.0.15", "dev": true, "integrity": "sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==", "license": "MIT", "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.15.tgz", "dependencies": {"@vitest/pretty-format": "4.0.15", "tinyrainbow": "^3.0.3"}, "funding": {"url": "https://opencollective.com/vitest"}}, "node_modules/assertion-error": {"version": "2.0.1", "dev": true, "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "license": "MIT", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", "engines": {"node": "\u003e=12"}}, "node_modules/chai": {"version": "6.2.1", "dev": true, "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", "license": "MIT", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", "engines": {"node": "\u003e=18"}}, "node_modules/es-module-lexer": {"version": "1.7.0", "dev": true, "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "license": "MIT", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz"}, "node_modules/esbuild": {"version": "0.25.12", "dev": true, "hasInstallScript": true, "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "license": "MIT", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", "bin": {"esbuild": "bin/esbuild"}, "engines": {"node": "\u003e=18"}, "optionalDependencies": {"@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12"}}, "node_modules/estree-walker": {"version": "3.0.3", "dev": true, "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "license": "MIT", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "dependencies": {"@types/estree": "^1.0.0"}}, "node_modules/expect-type": {"version": "1.3.0", "dev": true, "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "license": "Apache-2.0", "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", "engines": {"node": "\u003e=12.0.0"}}, "node_modules/fdir": {"version": "6.5.0", "dev": true, "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "license": "MIT", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "engines": {"node": "\u003e=12.0.0"}, "peerDependencies": {"picomatch": "^3 || ^4"}, "peerDependenciesMeta": {"picomatch": {"optional": true}}}, "node_modules/fsevents": {"version": "2.3.3", "dev": true, "hasInstallScript": true, "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "license": "MIT", "optional": true, "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "engines": {"node": "^8.16.0 || ^10.6.0 || \u003e=11.0.0"}, "os": ["darwin"]}, "node_modules/magic-string": {"version": "0.30.21", "dev": true, "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", "dependencies": {"@jridgewell/sourcemap-codec": "^1.5.5"}}, "node_modules/nanoid": {"version": "3.3.11", "dev": true, "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "license": "MIT", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", "bin": {"nanoid": "bin/nanoid.cjs"}, "engines": {"node": "^10 || ^12 || ^13.7 || ^14 || \u003e=15.0.1"}, "funding": [{"url": "https://github.com/sponsors/ai", "type": "github"}]}, "node_modules/obug": {"version": "2.1.1", "dev": true, "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", "funding": ["https://github.com/sponsors/sxzz", "https://opencollective.com/debug"]}, "node_modules/pathe": {"version": "2.0.3", "dev": true, "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "license": "MIT", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz"}, "node_modules/picocolors": {"version": "1.1.1", "dev": true, "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"}, "node_modules/picomatch": {"version": "4.0.3", "dev": true, "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "engines": {"node": "\u003e=12"}, "funding": {"url": "https://github.com/sponsors/jonschlinkert"}}, "node_modules/postcss": {"version": "8.5.6", "dev": true, "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "license": "MIT", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "dependencies": {"nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1"}, "engines": {"node": "^10 || ^12 || \u003e=14"}, "funding": [{"url": "https://opencollective.com/postcss/", "type": "opencollective"}, {"url": "https://tidelift.com/funding/github/npm/postcss", "type": "tidelift"}, {"url": "https://github.com/sponsors/ai", "type": "github"}]}, "node_modules/rollup": {"version": "4.53.3", "dev": true, "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", "license": "MIT", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", "bin": {"rollup": "dist/bin/rollup"}, "dependencies": {"@types/estree": "1.0.8"}, "engines": {"node": "\u003e=18.0.0", "npm": "\u003e=8.0.0"}, "optionalDependencies": {"@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "fsevents": "~2.3.2"}}, "node_modules/siginfo": {"version": "2.0.0", "dev": true, "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "license": "ISC", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz"}, "node_modules/source-map-js": {"version": "1.2.1", "dev": true, "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "license": "BSD-3-Clause", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "engines": {"node": "\u003e=0.10.0"}}, "node_modules/stackback": {"version": "0.0.2", "dev": true, "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "license": "MIT", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz"}, "node_modules/std-env": {"version": "3.10.0", "dev": true, "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", "license": "MIT", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz"}, "node_modules/tinybench": {"version": "2.9.0", "dev": true, "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz"}, "node_modules/tinyexec": {"version": "1.0.2", "dev": true, "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", "engines": {"node": "\u003e=18"}}, "node_modules/tinyglobby": {"version": "0.2.15", "dev": true, "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "dependencies": {"fdir": "^6.5.0", "picomatch": "^4.0.3"}, "engines": {"node": "\u003e=12.0.0"}, "funding": {"url": "https://github.com/sponsors/SuperchupuDev"}}, "node_modules/tinyrainbow": {"version": "3.0.3", "dev": true, "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", "license": "MIT", "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", "engines": {"node": "\u003e=14.0.0"}}, "node_modules/vite": {"version": "7.2.7", "dev": true, "integrity": "sha512-ITcnkFeR3+fI8P1wMgItjGrR10170d8auB4EpMLPqmx6uxElH3a/hHGQabSHKdqd4FXWO1nFIp9rRn7JQ34ACQ==", "license": "MIT", "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.7.tgz", "bin": {"vite": "bin/vite.js"}, "dependencies": {"esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15"}, "engines": {"node": "^20.19.0 || \u003e=22.12.0"}, "funding": {"url": "https://github.com/vitejs/vite?sponsor=1"}, "optionalDependencies": {"fsevents": "~2.3.3"}, "peerDependencies": {"@types/node": "^20.19.0 || \u003e=22.12.0", "jiti": "\u003e=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": "\u003e=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2"}, "peerDependenciesMeta": {"@types/node": {"optional": true}, "jiti": {"optional": true}, "less": {"optional": true}, "lightningcss": {"optional": true}, "sass": {"optional": true}, "sass-embedded": {"optional": true}, "stylus": {"optional": true}, "sugarss": {"optional": true}, "terser": {"optional": true}, "tsx": {"optional": true}, "yaml": {"optional": true}}}, "node_modules/vitest": {"version": "4.0.15", "dev": true, "integrity": "sha512-n1RxDp8UJm6N0IbJLQo+yzLZ2sQCDyl1o0LeugbPWf8+8Fttp29GghsQBjYJVmWq3gBFfe9Hs1spR44vovn2wA==", "license": "MIT", "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.15.tgz", "bin": {"vitest": "vitest.mjs"}, "dependencies": {"@vitest/expect": "4.0.15", "@vitest/mocker": "4.0.15", "@vitest/pretty-format": "4.0.15", "@vitest/runner": "4.0.15", "@vitest/snapshot": "4.0.15", "@vitest/spy": "4.0.15", "@vitest/utils": "4.0.15", "es-module-lexer": "^1.7.0", "expect-type": "^1.2.2", "magic-string": "^0.30.21", "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "std-env": "^3.10.0", "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tinyrainbow": "^3.0.3", "vite": "^6.0.0 || ^7.0.0", "why-is-node-running": "^2.3.0"}, "engines": {"node": "^20.0.0 || ^22.0.0 || \u003e=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 || \u003e=24.0.0", "@vitest/browser-playwright": "4.0.15", "@vitest/browser-preview": "4.0.15", "@vitest/browser-webdriverio": "4.0.15", "@vitest/ui": "4.0.15", "happy-dom": "*", "jsdom": "*"}, "peerDependenciesMeta": {"@edge-runtime/vm": {"optional": true}, "@opentelemetry/api": {"optional": true}, "@types/node": {"optional": true}, "@vitest/browser-playwright": {"optional": true}, "@vitest/browser-preview": {"optional": true}, "@vitest/browser-webdriverio": {"optional": true}, "@vitest/ui": {"optional": true}, "happy-dom": {"optional": true}, "jsdom": {"optional": true}}}, "node_modules/why-is-node-running": {"version": "2.3.0", "dev": true, "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "license": "MIT", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", "bin": {"why-is-node-running": "cli.js"}, "dependencies": {"siginfo": "^2.0.0", "stackback": "0.0.2"}, "engines": {"node": "\u003e=8"}}}} diff --git a/algorithm-javascript/package.json b/algorithm-javascript/package.json index 1d893ba..5098ed5 100644 --- a/algorithm-javascript/package.json +++ b/algorithm-javascript/package.json @@ -1,24 +1 @@ -{ - "name": "algorithm", - "version": "0.1.0", - "description": "Shikanime's algorithms sketchbook", - "keywords": [ - "algorithm" - ], - "homepage": "https://github.com/shikanime/algorithm", - "bugs": { - "url": "https://github.com/shikanime/algorithm/issues" - }, - "license": "AGPL-3.0-or-later", - "author": "William Phetsinorath ", - "repository": { - "type": "git", - "url": "https://github.com/shikanime/algorithm" - }, - "scripts": { - "test": "vitest" - }, - "devDependencies": { - "vitest": "^4.0.15" - } -} +{"name": "algorithm", "version": "0.1.0", "author": "William Phetsinorath \u003cwilliam.phetsinorath@shikanime.studio\u003e", "description": "Shikanime's algorithms sketchbook", "homepage": "https://github.com/shikanime/algorithm", "license": "AGPL-3.0-or-later", "bugs": {"url": "https://github.com/shikanime/algorithm/issues"}, "devDependencies": {"vitest": "^4.0.15"}, "keywords": ["algorithm"], "repository": {"url": "https://github.com/shikanime/algorithm", "type": "git"}, "scripts": {"test": "vitest"}} diff --git a/algorithm-javascript/pnpm-lock.yaml b/algorithm-javascript/pnpm-lock.yaml new file mode 100644 index 0000000..50a9e25 --- /dev/null +++ b/algorithm-javascript/pnpm-lock.yaml @@ -0,0 +1,781 @@ +importers: + .: + devDependencies: + vitest: + version: 4.1.9(vite@8.0.16) + specifier: ^4.0.15 +lockfileVersion: "9.0" +packages: + '@emnapi/core@1.10.0': + resolution: + integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw== + '@emnapi/runtime@1.10.0': + resolution: + integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== + '@emnapi/wasi-threads@1.2.1': + resolution: + integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w== + '@jridgewell/sourcemap-codec@1.5.5': + resolution: + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== + '@napi-rs/wasm-runtime@1.1.5': + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + resolution: + integrity: sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q== + '@oxc-project/types@0.133.0': + resolution: + integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA== + '@rolldown/binding-android-arm64@1.0.3': + cpu: + - arm64 + engines: + node: ^20.19.0 || >=22.12.0 + os: + - android + resolution: + integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw== + '@rolldown/binding-darwin-arm64@1.0.3': + cpu: + - arm64 + engines: + node: ^20.19.0 || >=22.12.0 + os: + - darwin + resolution: + integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA== + '@rolldown/binding-darwin-x64@1.0.3': + cpu: + - x64 + engines: + node: ^20.19.0 || >=22.12.0 + os: + - darwin + resolution: + integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg== + '@rolldown/binding-freebsd-x64@1.0.3': + cpu: + - x64 + engines: + node: ^20.19.0 || >=22.12.0 + os: + - freebsd + resolution: + integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g== + '@rolldown/binding-linux-arm-gnueabihf@1.0.3': + cpu: + - arm + engines: + node: ^20.19.0 || >=22.12.0 + os: + - linux + resolution: + integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw== + '@rolldown/binding-linux-arm64-gnu@1.0.3': + cpu: + - arm64 + engines: + node: ^20.19.0 || >=22.12.0 + libc: + - glibc + os: + - linux + resolution: + integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw== + '@rolldown/binding-linux-arm64-musl@1.0.3': + cpu: + - arm64 + engines: + node: ^20.19.0 || >=22.12.0 + libc: + - musl + os: + - linux + resolution: + integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q== + '@rolldown/binding-linux-ppc64-gnu@1.0.3': + cpu: + - ppc64 + engines: + node: ^20.19.0 || >=22.12.0 + libc: + - glibc + os: + - linux + resolution: + integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg== + '@rolldown/binding-linux-s390x-gnu@1.0.3': + cpu: + - s390x + engines: + node: ^20.19.0 || >=22.12.0 + libc: + - glibc + os: + - linux + resolution: + integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg== + '@rolldown/binding-linux-x64-gnu@1.0.3': + cpu: + - x64 + engines: + node: ^20.19.0 || >=22.12.0 + libc: + - glibc + os: + - linux + resolution: + integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg== + '@rolldown/binding-linux-x64-musl@1.0.3': + cpu: + - x64 + engines: + node: ^20.19.0 || >=22.12.0 + libc: + - musl + os: + - linux + resolution: + integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow== + '@rolldown/binding-openharmony-arm64@1.0.3': + cpu: + - arm64 + engines: + node: ^20.19.0 || >=22.12.0 + os: + - openharmony + resolution: + integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg== + '@rolldown/binding-wasm32-wasi@1.0.3': + cpu: + - wasm32 + engines: + node: ^20.19.0 || >=22.12.0 + resolution: + integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg== + '@rolldown/binding-win32-arm64-msvc@1.0.3': + cpu: + - arm64 + engines: + node: ^20.19.0 || >=22.12.0 + os: + - win32 + resolution: + integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g== + '@rolldown/binding-win32-x64-msvc@1.0.3': + cpu: + - x64 + engines: + node: ^20.19.0 || >=22.12.0 + os: + - win32 + resolution: + integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA== + '@rolldown/pluginutils@1.0.1': + resolution: + integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw== + '@standard-schema/spec@1.1.0': + resolution: + integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== + '@tybys/wasm-util@0.10.2': + resolution: + integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg== + '@types/chai@5.2.3': + resolution: + integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA== + '@types/deep-eql@4.0.2': + resolution: + integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== + '@types/estree@1.0.9': + resolution: + integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== + '@vitest/expect@4.1.9': + resolution: + integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA== + '@vitest/mocker@4.1.9': + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + resolution: + integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw== + '@vitest/pretty-format@4.1.9': + resolution: + integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A== + '@vitest/runner@4.1.9': + resolution: + integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg== + '@vitest/snapshot@4.1.9': + resolution: + integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA== + '@vitest/spy@4.1.9': + resolution: + integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA== + '@vitest/utils@4.1.9': + resolution: + integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA== + assertion-error@2.0.1: + engines: + node: '>=12' + resolution: + integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + chai@6.2.2: + engines: + node: '>=18' + resolution: + integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg== + convert-source-map@2.0.0: + resolution: + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + detect-libc@2.1.2: + engines: + node: '>=8' + resolution: + integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== + es-module-lexer@2.1.0: + resolution: + integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ== + estree-walker@3.0.3: + resolution: + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + expect-type@1.3.0: + engines: + node: '>=12.0.0' + resolution: + integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== + fdir@6.5.0: + engines: + node: '>=12.0.0' + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + resolution: + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + fsevents@2.3.3: + engines: + node: ^8.16.0 || ^10.6.0 || >=11.0.0 + os: + - darwin + resolution: + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + lightningcss-android-arm64@1.32.0: + cpu: + - arm64 + engines: + node: '>= 12.0.0' + os: + - android + resolution: + integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== + lightningcss-darwin-arm64@1.32.0: + cpu: + - arm64 + engines: + node: '>= 12.0.0' + os: + - darwin + resolution: + integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== + lightningcss-darwin-x64@1.32.0: + cpu: + - x64 + engines: + node: '>= 12.0.0' + os: + - darwin + resolution: + integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== + lightningcss-freebsd-x64@1.32.0: + cpu: + - x64 + engines: + node: '>= 12.0.0' + os: + - freebsd + resolution: + integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== + lightningcss-linux-arm-gnueabihf@1.32.0: + cpu: + - arm + engines: + node: '>= 12.0.0' + os: + - linux + resolution: + integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== + lightningcss-linux-arm64-gnu@1.32.0: + cpu: + - arm64 + engines: + node: '>= 12.0.0' + libc: + - glibc + os: + - linux + resolution: + integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== + lightningcss-linux-arm64-musl@1.32.0: + cpu: + - arm64 + engines: + node: '>= 12.0.0' + libc: + - musl + os: + - linux + resolution: + integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== + lightningcss-linux-x64-gnu@1.32.0: + cpu: + - x64 + engines: + node: '>= 12.0.0' + libc: + - glibc + os: + - linux + resolution: + integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== + lightningcss-linux-x64-musl@1.32.0: + cpu: + - x64 + engines: + node: '>= 12.0.0' + libc: + - musl + os: + - linux + resolution: + integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== + lightningcss-win32-arm64-msvc@1.32.0: + cpu: + - arm64 + engines: + node: '>= 12.0.0' + os: + - win32 + resolution: + integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== + lightningcss-win32-x64-msvc@1.32.0: + cpu: + - x64 + engines: + node: '>= 12.0.0' + os: + - win32 + resolution: + integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q== + lightningcss@1.32.0: + engines: + node: '>= 12.0.0' + resolution: + integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ== + magic-string@0.30.21: + resolution: + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== + nanoid@3.3.12: + engines: + node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 + hasBin: true + resolution: + integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ== + obug@2.1.3: + engines: + node: '>=12.20.0' + resolution: + integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg== + pathe@2.0.3: + resolution: + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== + picocolors@1.1.1: + resolution: + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@4.0.4: + engines: + node: '>=12' + resolution: + integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== + postcss@8.5.15: + engines: + node: ^10 || ^12 || >=14 + resolution: + integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A== + rolldown@1.0.3: + engines: + node: ^20.19.0 || >=22.12.0 + hasBin: true + resolution: + integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g== + siginfo@2.0.0: + resolution: + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== + source-map-js@1.2.1: + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + stackback@0.0.2: + resolution: + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== + std-env@4.1.0: + resolution: + integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ== + tinybench@2.9.0: + resolution: + integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== + tinyexec@1.2.4: + engines: + node: '>=18' + resolution: + integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg== + tinyglobby@0.2.17: + engines: + node: '>=12.0.0' + resolution: + integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== + tinyrainbow@3.1.0: + engines: + node: '>=14.0.0' + resolution: + integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== + tslib@2.8.1: + resolution: + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + vite@8.0.16: + engines: + node: ^20.19.0 || >=22.12.0 + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.1.18 + 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 + resolution: + integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw== + vitest@4.1.9: + engines: + node: ^20.0.0 || ^22.0.0 || >=24.0.0 + hasBin: true + 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.9 + '@vitest/browser-preview': 4.1.9 + '@vitest/browser-webdriverio': 4.1.9 + '@vitest/coverage-istanbul': 4.1.9 + '@vitest/coverage-v8': 4.1.9 + '@vitest/ui': 4.1.9 + 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 + resolution: + integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ== + why-is-node-running@2.3.0: + engines: + node: '>=8' + hasBin: true + resolution: + integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false +snapshots: + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + '@jridgewell/sourcemap-codec@1.5.5': {} + '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 + optional: true + '@oxc-project/types@0.133.0': {} + '@rolldown/binding-android-arm64@1.0.3': + optional: true + '@rolldown/binding-darwin-arm64@1.0.3': + optional: true + '@rolldown/binding-darwin-x64@1.0.3': + optional: true + '@rolldown/binding-freebsd-x64@1.0.3': + optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.0.3': + optional: true + '@rolldown/binding-linux-arm64-gnu@1.0.3': + optional: true + '@rolldown/binding-linux-arm64-musl@1.0.3': + optional: true + '@rolldown/binding-linux-ppc64-gnu@1.0.3': + optional: true + '@rolldown/binding-linux-s390x-gnu@1.0.3': + optional: true + '@rolldown/binding-linux-x64-gnu@1.0.3': + optional: true + '@rolldown/binding-linux-x64-musl@1.0.3': + optional: true + '@rolldown/binding-openharmony-arm64@1.0.3': + optional: true + '@rolldown/binding-wasm32-wasi@1.0.3': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + '@rolldown/binding-win32-arm64-msvc@1.0.3': + optional: true + '@rolldown/binding-win32-x64-msvc@1.0.3': + optional: true + '@rolldown/pluginutils@1.0.1': {} + '@standard-schema/spec@1.1.0': {} + '@tybys/wasm-util@0.10.2': + dependencies: + tslib: 2.8.1 + optional: true + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + '@types/deep-eql@4.0.2': {} + '@types/estree@1.0.9': {} + '@vitest/expect@4.1.9': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + chai: 6.2.2 + tinyrainbow: 3.1.0 + '@vitest/mocker@4.1.9(vite@8.0.16)': + dependencies: + '@vitest/spy': 4.1.9 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.0.16 + '@vitest/pretty-format@4.1.9': + dependencies: + tinyrainbow: 3.1.0 + '@vitest/runner@4.1.9': + dependencies: + '@vitest/utils': 4.1.9 + pathe: 2.0.3 + '@vitest/snapshot@4.1.9': + dependencies: + '@vitest/pretty-format': 4.1.9 + '@vitest/utils': 4.1.9 + magic-string: 0.30.21 + pathe: 2.0.3 + '@vitest/spy@4.1.9': {} + '@vitest/utils@4.1.9': + dependencies: + '@vitest/pretty-format': 4.1.9 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 + assertion-error@2.0.1: {} + chai@6.2.2: {} + convert-source-map@2.0.0: {} + detect-libc@2.1.2: {} + es-module-lexer@2.1.0: {} + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + expect-type@1.3.0: {} + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 + fsevents@2.3.3: + optional: true + lightningcss-android-arm64@1.32.0: + optional: true + lightningcss-darwin-arm64@1.32.0: + optional: true + lightningcss-darwin-x64@1.32.0: + optional: true + lightningcss-freebsd-x64@1.32.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + lightningcss-linux-arm64-musl@1.32.0: + optional: true + lightningcss-linux-x64-gnu@1.32.0: + optional: true + lightningcss-linux-x64-musl@1.32.0: + optional: true + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + lightningcss-win32-x64-msvc@1.32.0: + optional: true + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + 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 + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + nanoid@3.3.12: {} + obug@2.1.3: {} + pathe@2.0.3: {} + picocolors@1.1.1: {} + picomatch@4.0.4: {} + postcss@8.5.15: + dependencies: + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + rolldown@1.0.3: + dependencies: + '@oxc-project/types': 0.133.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.3 + '@rolldown/binding-darwin-arm64': 1.0.3 + '@rolldown/binding-darwin-x64': 1.0.3 + '@rolldown/binding-freebsd-x64': 1.0.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.3 + '@rolldown/binding-linux-arm64-gnu': 1.0.3 + '@rolldown/binding-linux-arm64-musl': 1.0.3 + '@rolldown/binding-linux-ppc64-gnu': 1.0.3 + '@rolldown/binding-linux-s390x-gnu': 1.0.3 + '@rolldown/binding-linux-x64-gnu': 1.0.3 + '@rolldown/binding-linux-x64-musl': 1.0.3 + '@rolldown/binding-openharmony-arm64': 1.0.3 + '@rolldown/binding-wasm32-wasi': 1.0.3 + '@rolldown/binding-win32-arm64-msvc': 1.0.3 + '@rolldown/binding-win32-x64-msvc': 1.0.3 + siginfo@2.0.0: {} + source-map-js@1.2.1: {} + stackback@0.0.2: {} + std-env@4.1.0: {} + tinybench@2.9.0: {} + tinyexec@1.2.4: {} + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + tinyrainbow@3.1.0: {} + tslib@2.8.1: + optional: true + vite@8.0.16: + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.4 + postcss: 8.5.15 + rolldown: 1.0.3 + tinyglobby: 0.2.17 + optionalDependencies: + fsevents: 2.3.3 + vitest@4.1.9(vite@8.0.16): + dependencies: + '@vitest/expect': 4.1.9 + '@vitest/mocker': 4.1.9(vite@8.0.16) + '@vitest/pretty-format': 4.1.9 + '@vitest/runner': 4.1.9 + '@vitest/snapshot': 4.1.9 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + es-module-lexer: 2.1.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.3 + pathe: 2.0.3 + picomatch: 4.0.4 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: 8.0.16 + why-is-node-running: 2.3.0 + transitivePeerDependencies: + - msw + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 diff --git a/algorithm-ocaml/.envrc b/algorithm-ocaml/.envrc deleted file mode 100644 index d1a51bd..0000000 --- a/algorithm-ocaml/.envrc +++ /dev/null @@ -1,8 +0,0 @@ -# shellcheck shell=bash - -# If we are a computer with nix available, then use that to setup -# the build environment with exactly what we need. -if has nix; then - # Use nix flakes to setup the environment - use flake ..#algorithm-ocaml --accept-flake-config --no-pure-eval -fi diff --git a/algorithm-ocaml/.gitignore b/algorithm-ocaml/.gitignore deleted file mode 100644 index cbc713c..0000000 --- a/algorithm-ocaml/.gitignore +++ /dev/null @@ -1,319 +0,0 @@ -###---------------### -### GitHub: Nix ### -###---------------### - -# Ignore build outputs from performing a nix-build or `nix build` command -result -result-* - -# Ignore automatically generated direnv output -.direnv - -###---------------------------------------------------------------------### -### Repo: shikanime-studio/gitignore/refs/heads/main/Devenv.gitignore ### -###---------------------------------------------------------------------### - -.env -.env.* -.devenv* -.direnv* - -###-----------------### -### TopTal: ocaml ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/ocaml -# Edit at https://www.toptal.com/developers/gitignore?templates=ocaml - -### OCaml ### -*.annot -*.cmo -*.cma -*.cmi -*.a -*.o -*.cmx -*.cmxs -*.cmxa - -# ocamlbuild working directory -_build/ - -# ocamlbuild targets -*.byte -*.native - -# oasis generated files -setup.data -setup.log - -# Merlin configuring file for Vim and Emacs -.merlin - -# Dune generated files -*.install - -# Local OPAM switch -_opam/ - -# End of https://www.toptal.com/developers/gitignore/api/ocaml - -###-------------------------### -### TopTal: jetbrains+all ### -###-------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/jetbrains+all -# Edit at https://www.toptal.com/developers/gitignore?templates=jetbrains+all - -### JetBrains+all ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### JetBrains+all Patch ### -# Ignore everything but code style settings and run configurations -# that are supposed to be shared within teams. - -.idea/* - -!.idea/codeStyles -!.idea/runConfigurations - -# End of https://www.toptal.com/developers/gitignore/api/jetbrains+all - -###-----------------### -### TopTal: linux ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/linux -# Edit at https://www.toptal.com/developers/gitignore?templates=linux - -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - -# End of https://www.toptal.com/developers/gitignore/api/linux - -###-----------------### -### TopTal: macos ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/macos -# Edit at https://www.toptal.com/developers/gitignore?templates=macos - -### macOS ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### macOS Patch ### -# iCloud generated files -*.icloud - -# End of https://www.toptal.com/developers/gitignore/api/macos - -###---------------### -### TopTal: vim ### -###---------------### - -# Created by https://www.toptal.com/developers/gitignore/api/vim -# Edit at https://www.toptal.com/developers/gitignore?templates=vim - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -# End of https://www.toptal.com/developers/gitignore/api/vim - -###----------------------------### -### TopTal: visualstudiocode ### -###----------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode - -###-------------------### -### TopTal: windows ### -###-------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/windows -# Edit at https://www.toptal.com/developers/gitignore?templates=windows - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# End of https://www.toptal.com/developers/gitignore/api/windows - -###-------------------### -### Devlib: content ### -###-------------------### - -.pre-commit-config.yaml diff --git a/algorithm-ocaml/.vscode/extensions.json b/algorithm-ocaml/.vscode/extensions.json index c12545e..97ec979 100644 --- a/algorithm-ocaml/.vscode/extensions.json +++ b/algorithm-ocaml/.vscode/extensions.json @@ -1 +1 @@ -{ "recommendations": ["ocamllabs.ocaml-platform"] } +{"recommendations": ["ocamllabs.ocaml-platform"]} diff --git a/algorithm-ocaml/.vscode/settings.json b/algorithm-ocaml/.vscode/settings.json index 067c0b8..bdb6fcd 100644 --- a/algorithm-ocaml/.vscode/settings.json +++ b/algorithm-ocaml/.vscode/settings.json @@ -1 +1 @@ -{ "ocaml.sandbox": { "kind": "global" } } +{"ocaml.sandbox": {"kind": "global"}} diff --git a/algorithm-python/.envrc b/algorithm-python/.envrc deleted file mode 100644 index a731d14..0000000 --- a/algorithm-python/.envrc +++ /dev/null @@ -1,8 +0,0 @@ -# shellcheck shell=bash - -# If we are a computer with nix available, then use that to setup -# the build environment with exactly what we need. -if has nix; then - # Use nix flakes to setup the environment - use flake ..#algorithm-python --accept-flake-config --no-pure-eval -fi diff --git a/algorithm-python/.gitignore b/algorithm-python/.gitignore deleted file mode 100644 index cfb6a6e..0000000 --- a/algorithm-python/.gitignore +++ /dev/null @@ -1,459 +0,0 @@ -###---------------### -### GitHub: Nix ### -###---------------### - -# Ignore build outputs from performing a nix-build or `nix build` command -result -result-* - -# Ignore automatically generated direnv output -.direnv - -###---------------------------------------------------------------------### -### Repo: shikanime-studio/gitignore/refs/heads/main/Devenv.gitignore ### -###---------------------------------------------------------------------### - -.env -.env.* -.devenv* -.direnv* - -###------------------### -### TopTal: python ### -###------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/python -# Edit at https://www.toptal.com/developers/gitignore?templates=python - -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ - -### Python Patch ### -# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration -poetry.toml - -# ruff -.ruff_cache/ - -# LSP config files -pyrightconfig.json - -# End of https://www.toptal.com/developers/gitignore/api/python - -###-------------------------### -### TopTal: jetbrains+all ### -###-------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/jetbrains+all -# Edit at https://www.toptal.com/developers/gitignore?templates=jetbrains+all - -### JetBrains+all ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### JetBrains+all Patch ### -# Ignore everything but code style settings and run configurations -# that are supposed to be shared within teams. - -.idea/* - -!.idea/codeStyles -!.idea/runConfigurations - -# End of https://www.toptal.com/developers/gitignore/api/jetbrains+all - -###-----------------### -### TopTal: linux ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/linux -# Edit at https://www.toptal.com/developers/gitignore?templates=linux - -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - -# End of https://www.toptal.com/developers/gitignore/api/linux - -###-----------------### -### TopTal: macos ### -###-----------------### - -# Created by https://www.toptal.com/developers/gitignore/api/macos -# Edit at https://www.toptal.com/developers/gitignore?templates=macos - -### macOS ### -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### macOS Patch ### -# iCloud generated files -*.icloud - -# End of https://www.toptal.com/developers/gitignore/api/macos - -###---------------### -### TopTal: vim ### -###---------------### - -# Created by https://www.toptal.com/developers/gitignore/api/vim -# Edit at https://www.toptal.com/developers/gitignore?templates=vim - -### Vim ### -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -# End of https://www.toptal.com/developers/gitignore/api/vim - -###----------------------------### -### TopTal: visualstudiocode ### -###----------------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode - -###-------------------### -### TopTal: windows ### -###-------------------### - -# Created by https://www.toptal.com/developers/gitignore/api/windows -# Edit at https://www.toptal.com/developers/gitignore?templates=windows - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# End of https://www.toptal.com/developers/gitignore/api/windows - -###-------------------### -### Devlib: content ### -###-------------------### - -.pre-commit-config.yaml diff --git a/algorithm-python/.vscode/extensions.json b/algorithm-python/.vscode/extensions.json index 5e57231..2452123 100644 --- a/algorithm-python/.vscode/extensions.json +++ b/algorithm-python/.vscode/extensions.json @@ -1 +1 @@ -{ "recommendations": ["ms-python.vscode-pylance", "ms-python.python"] } +{"recommendations": ["ms-python.vscode-pylance", "ms-python.python"]} diff --git a/algorithm-python/.vscode/settings.json b/algorithm-python/.vscode/settings.json index 8680df1..4dbd476 100644 --- a/algorithm-python/.vscode/settings.json +++ b/algorithm-python/.vscode/settings.json @@ -1,4 +1 @@ -{ - "python.testing.pytestEnabled": true, - "python.testing.unittestEnabled": false -} +{"python.testing.pytestEnabled": true, "python.testing.unittestEnabled": false} diff --git a/flake.nix b/flake.nix index 88587a2..96c24b0 100755 --- a/flake.nix +++ b/flake.nix @@ -73,6 +73,7 @@ pkgs, ... }: + with lib; { devenv = { modules = [ @@ -80,70 +81,84 @@ devlib.devenvModules.shell devlib.devenvModules.shikanime ]; - shells = { - default.github.workflows.nix.enable = true; - algorithm-cc = { - enterTest = '' - ${lib.getExe pkgs.cmake} \ - --preset unknown-unknown-gnu \ - -B out/build/unknown-unknown-gnu - ${lib.getExe pkgs.cmake} \ - --build out/build/unknown-unknown-gnu - ${pkgs.cmake}/bin/ctest \ - --preset unknown-unknown-gnu \ - --test-dir out/build/unknown-unknown-gnu - ''; - gitignore.templates = [ - "tt:c" - "tt:c++" - ]; - packages = [ - pkgs.ninja - pkgs.gcc - pkgs.openssl - pkgs.binutils - pkgs.cmake - pkgs.gtest - ]; - treefmt.config.programs = { - clang-format.enable = true; - cmake-format.enable = true; - }; - }; + shells.default = { + imports = [ + devlib.devenvModules.elixir + devlib.devenvModules.javascript + devlib.devenvModules.ocaml + devlib.devenvModules.python + ]; - algorithm-elixir = { - imports = [ - devlib.devenvModules.elixir - ]; - enterTest = '' - ${pkgs.elixir}/bin/mix deps.get - ${pkgs.elixir}/bin/mix test - ''; - }; - algorithm-javascript = { - imports = [ - devlib.devenvModules.javascript - ]; - enterTest = '' - ${pkgs.nodejs}/bin/npm ci - ${pkgs.nodejs}/bin/npm run test - ''; + github.workflows.nix.enable = true; + + gitignore.templates = [ + "tt:c" + "tt:c++" + ]; + + languages = { + javascript.directory = "algorithm-javascript"; + python.directory = "algorithm-python"; }; - algorithm-ocaml = { - imports = [ - devlib.devenvModules.ocaml - ]; - enterTest = '' - ${lib.getExe pkgs.dune_3} runtest - ''; + + packages = [ + pkgs.ninja + pkgs.gcc + pkgs.openssl + pkgs.binutils + pkgs.cmake + pkgs.gtest + ]; + + tasks = { + "algorithm:cc" = { + before = [ "devenv:enterTest" ]; + exec = '' + ${getExe pkgs.cmake} \ + --preset unknown-unknown-gnu \ + -B out/build/unknown-unknown-gnu + ${getExe pkgs.cmake} \ + --build out/build/unknown-unknown-gnu + ${pkgs.cmake}/bin/ctest \ + --preset unknown-unknown-gnu \ + --test-dir out/build/unknown-unknown-gnu + ''; + + }; + "algorithm:elixir" = { + before = [ "devenv:enterTest" ]; + exec = '' + ${pkgs.elixir}/bin/mix deps.get + ${pkgs.elixir}/bin/mix test + ''; + }; + + "algorithm:javascript" = { + before = [ "devenv:enterTest" ]; + exec = '' + ${pkgs.nodejs}/bin/npm ci + ${pkgs.nodejs}/bin/npm run test + ''; + }; + + "algorithm:ocaml" = { + before = [ "devenv:enterTest" ]; + exec = '' + ${getExe pkgs.dune_3} runtest + ''; + }; + + "algorithm:python" = { + before = [ "devenv:enterTest" ]; + exec = '' + ${getExe pkgs.uv} run pytest + ''; + }; }; - algorithm-python = { - imports = [ - devlib.devenvModules.python - ]; - enterTest = '' - ${lib.getExe pkgs.uv} run pytest - ''; + + treefmt.config.programs = { + clang-format.enable = true; + cmake-format.enable = true; }; }; };