diff --git a/patches/AstralRinth_Git_Diff_02112025.patch b/patches/AstralRinth_Git_Diff_02112025.patch
new file mode 100644
index 00000000..0533ff4c
--- /dev/null
+++ b/patches/AstralRinth_Git_Diff_02112025.patch
@@ -0,0 +1,31363 @@
+diff --git a/.github/ISSUE_TEMPLATE/1-app-bug.yml b/.github/ISSUE_TEMPLATE/1-app-bug.yml
+new file mode 100644
+index 000000000..fad0c15ca
+--- /dev/null
++++ b/.github/ISSUE_TEMPLATE/1-app-bug.yml
+@@ -0,0 +1,60 @@
++name: 🎮 Bug with Modrinth App
++description: For issues with Modrinth App.
++labels: [app]
++type: 'bug'
++body:
++ - type: checkboxes
++ attributes:
++ label: Please confirm the following.
++ options:
++ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate problems
++ required: true
++ - label: I have tried resolving the issue using the [support portal](https://support.modrinth.com)
++ required: true
++ - label: I have ensured my Modrinth App installation is up to date
++ required: true
++ - type: input
++ id: version
++ attributes:
++ label: What version of the Modrinth App are you using?
++ description: Find this in ⚙️ Settings (bottom right) -> After Modrinth App (bottom left)
++ validations:
++ required: true
++ - type: dropdown
++ id: oses
++ attributes:
++ label: What operating systems are you seeing the problem on?
++ multiple: true
++ options:
++ - Windows
++ - MacOS
++ - Linux
++ - type: textarea
++ attributes:
++ label: Describe the bug
++ description: A clear and concise description of what the bug is. Include screenshots if applicable.
++ validations:
++ required: true
++ - type: textarea
++ attributes:
++ label: Steps to reproduce
++ description: Steps to reproduce the behavior.
++ placeholder: |
++ 1. Go to '...'
++ 2. Click on '...'
++ 3. Scroll down to '...'
++ 4. See error
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Expected behavior
++ description: A clear and concise description of what you expected to happen.
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Additional context
++ description: Add any other context about the problem here.
++ validations:
++ required: false
+diff --git a/.github/ISSUE_TEMPLATE/2-web-bug.yml b/.github/ISSUE_TEMPLATE/2-web-bug.yml
+new file mode 100644
+index 000000000..983279c14
+--- /dev/null
++++ b/.github/ISSUE_TEMPLATE/2-web-bug.yml
+@@ -0,0 +1,53 @@
++name: 🌐 Bug with Modrinth.com
++description: For issues with the Modrinth website.
++labels: [website]
++type: 'bug'
++body:
++ - type: checkboxes
++ attributes:
++ label: Please confirm the following.
++ options:
++ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate problems
++ required: true
++ - label: I have tried resolving the issue using the [support portal](https://support.modrinth.com)
++ required: true
++ - type: dropdown
++ id: browsers
++ attributes:
++ label: What browsers are you seeing the problem on?
++ multiple: true
++ options:
++ - Chrome (including Arc, Brave, Opera, Vivaldi)
++ - Microsoft Edge
++ - Firefox
++ - Safari
++ - Other (please specify)
++ - type: textarea
++ attributes:
++ label: Describe the bug
++ description: A clear and concise description of what the bug is. Include screenshots if applicable.
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Steps to reproduce
++ description: Steps to reproduce the behavior.
++ placeholder: |
++ 1. Go to '...'
++ 2. Click on '...'
++ 3. Scroll down to '...'
++ 4. See error
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Expected behavior
++ description: A clear and concise description of what you expected to happen.
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Additional context
++ description: Add any other context about the problem here.
++ validations:
++ required: false
+diff --git a/.github/ISSUE_TEMPLATE/4-api-bug.yml b/.github/ISSUE_TEMPLATE/4-api-bug.yml
+new file mode 100644
+index 000000000..00fac9bac
+--- /dev/null
++++ b/.github/ISSUE_TEMPLATE/4-api-bug.yml
+@@ -0,0 +1,42 @@
++name: 🛠 Bug with Modrinth API
++description: For issues with the Modrinth API for developers.
++labels: [api, backend]
++type: 'bug'
++body:
++ - type: checkboxes
++ attributes:
++ label: Please confirm the following.
++ options:
++ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate problems
++ required: true
++ - label: I have tried resolving the issue using the [support portal](https://support.modrinth.com)
++ required: true
++ - type: textarea
++ attributes:
++ label: Describe the bug
++ description: A clear and concise description of what the bug is. Include screenshots if applicable.
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Steps to reproduce
++ description: Steps to reproduce the behavior.
++ placeholder: |
++ 1. Go to '...'
++ 2. Click on '...'
++ 3. Scroll down to '...'
++ 4. See error
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Expected behavior
++ description: A clear and concise description of what you expected to happen.
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Additional context
++ description: Add any other context about the problem here.
++ validations:
++ required: false
+diff --git a/.github/ISSUE_TEMPLATE/5-feature-request.yml b/.github/ISSUE_TEMPLATE/5-feature-request.yml
+new file mode 100644
+index 000000000..0b358e9b4
+--- /dev/null
++++ b/.github/ISSUE_TEMPLATE/5-feature-request.yml
+@@ -0,0 +1,47 @@
++name: 💡 Feature request
++description: Suggest an idea
++type: 'feature'
++
++body:
++ - type: checkboxes
++ attributes:
++ label: Please confirm the following.
++ options:
++ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate feature requests
++ required: true
++ - label: I have checked that this feature request is not on our [roadmap](https://roadmap.modrinth.com)
++ required: true
++ - type: dropdown
++ id: projects
++ attributes:
++ label: What parts of Modrinth is your feature request related too?
++ multiple: true
++ options:
++ - Modrinth App
++ - Modrinth.com website
++ - Modrinth Servers
++ - Modrinth API for developers
++ - type: textarea
++ attributes:
++ label: Is your suggested feature related to a problem? Please describe.
++ description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Describe the solution you'd like
++ description: A clear and concise description of what you want to happen.
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Describe alternatives you've considered
++ description: A clear and concise description of any alternative solutions or features you've considered.
++ validations:
++ required: false
++ - type: textarea
++ attributes:
++ label: Additional context
++ description: Add any other context or screenshots about the suggested enhancement here.
++ validations:
++ required: false
+diff --git a/.github/workflows/astralrinth-build.yml b/.github/workflows/astralrinth-build.yml
+deleted file mode 100644
+index 63bb12c65..000000000
+--- a/.github/workflows/astralrinth-build.yml
++++ /dev/null
+@@ -1,158 +0,0 @@
+-name: AstralRinth App build
+-
+-on:
+- push:
+- branches:
+- - main
+- - master
+- - prod
+- - release
+- - beta
+- - feature*
+- tags:
+- - release-*
+- - beta-*
+- paths:
+- - .github/workflows/astralrinth-build.yml
+- - 'apps/app/**'
+- - 'apps/app-frontend/**'
+- - 'packages/app-lib/**'
+- - 'packages/app-macros/**'
+- - 'packages/assets/**'
+- - 'packages/ui/**'
+- - 'packages/utils/**'
+- workflow_dispatch:
+-
+-jobs:
+- build:
+- name: Build
+- strategy:
+- fail-fast: false
+- matrix:
+- # platform: [macos-latest, windows-latest, ubuntu-latest]
+- platform: [windows-latest, ubuntu-latest]
+- include:
+- # - platform: macos-latest
+- # artifact-target-name: universal-apple-darwin
+- - platform: windows-latest
+- artifact-target-name: x86_64-pc-windows-msvc
+- - platform: ubuntu-latest
+- artifact-target-name: x86_64-unknown-linux-gnu
+-
+- runs-on: ${{ matrix.platform }}
+-
+- steps:
+- - name: 📥 Check out code
+- uses: actions/checkout@v4
+- with:
+- fetch-depth: 2
+-
+- - name: 🔍 Validate Git config does not introduce CRLF
+- shell: bash
+- run: |
+- echo "🔍 Checking Git config for CRLF settings..."
+-
+- autocrlf=$(git config --get core.autocrlf || echo "unset")
+- eol_setting=$(git config --get core.eol || echo "unset")
+-
+- echo "core.autocrlf = $autocrlf"
+- echo "core.eol = $eol_setting"
+-
+- if [ "$autocrlf" = "true" ]; then
+- echo "⚠️ WARNING: core.autocrlf is set to 'true'. Consider setting it to 'input' or 'false'."
+- fi
+-
+- if [ "$eol_setting" = "crlf" ]; then
+- echo "⚠️ WARNING: core.eol is set to 'crlf'. Consider unsetting it or setting to 'lf'."
+- fi
+-
+- - name: 🔍 Check migration files line endings (LF only)
+- shell: bash
+- run: |
+- echo "🔍 Scanning migration SQL files for CR characters (\\r)..."
+- if grep -Iq $'\r' packages/app-lib/migrations/*.sql; then
+- echo "❌ ERROR: Some migration files contain CR (\\r) characters — expected only LF line endings."
+- exit 1
+- fi
+- echo "✅ All migration files use LF line endings"
+-
+- - name: 🧰 Setup Rust toolchain
+- uses: actions-rust-lang/setup-rust-toolchain@v1
+- with:
+- target: ${{ matrix.artifact-target-name }}
+-
+- - name: 🧰 Install pnpm
+- uses: pnpm/action-setup@v4
+-
+- - name: 🧰 Setup Node.js
+- uses: actions/setup-node@v4
+- with:
+- node-version-file: .nvmrc
+- cache: pnpm
+-
+- - name: 🧰 Install Linux build dependencies
+- if: matrix.platform == 'ubuntu-latest'
+- run: |
+- sudo apt-get update
+- sudo apt-get install -yq \
+- libgtk-3-dev \
+- libwebkit2gtk-4.1-dev \
+- libayatana-appindicator3-dev \
+- librsvg2-dev \
+- xdg-utils \
+- openjdk-17-jdk
+-
+- - name: ⚙️ Set application environment
+- shell: bash
+- run: |
+- cp packages/app-lib/.env.prod packages/app-lib/.env
+-
+- - name: 💨 Setup Turbo cache
+- uses: rharkor/caching-for-turbo@v1.8
+-
+- - name: 🧰 Install dependencies
+- run: pnpm install
+-
+- - name: ✍️ Set up Windows code signing (jsign)
+- if: matrix.platform == 'windows-latest' && env.SIGN_WINDOWS_BINARIES == 'true'
+- shell: bash
+- run: |
+- choco install jsign --ignore-dependencies
+-
+- - name: 🗑️ Clean up cached bundles
+- shell: bash
+- run: |
+- rm -rf target/release/bundle
+- rm -rf target/*/release/bundle || true
+-
+- # - name: 🔨 Build macOS app
+- # if: matrix.platform == 'macos-latest'
+- # run: pnpm --filter=@modrinth/app run tauri build --target universal-apple-darwin --config tauri-release.conf.json
+- # env:
+- # TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
+- # TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
+-
+- - name: 🔨 Build Linux app
+- if: matrix.platform == 'ubuntu-latest'
+- run: pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json
+- env:
+- TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
+- TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
+-
+- - name: 🔨 Build Windows app
+- if: matrix.platform == 'windows-latest'
+- shell: pwsh
+- run: |
+- $env:JAVA_HOME = "$env:JAVA_HOME_17_X64"
+- pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json --verbose --bundles 'nsis'
+- env:
+- TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
+- TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
+-
+- - name: 📤 Upload app bundles
+- uses: actions/upload-artifact@v3
+- with:
+- name: App bundle (${{ matrix.artifact-target-name }})
+- path: |
+- target/release/bundle/**
+- target/*/release/bundle/**
+diff --git a/.github/workflows/daedalus-docker.yml b/.github/workflows/daedalus-docker.yml
+new file mode 100644
+index 000000000..ad6661134
+--- /dev/null
++++ b/.github/workflows/daedalus-docker.yml
+@@ -0,0 +1,62 @@
++name: daedalus-docker-build
++
++on:
++ push:
++ branches:
++ - '**'
++ paths:
++ - .github/workflows/daedalus-docker.yml
++ - 'apps/daedalus_client/**'
++ - 'packages/daedalus/**'
++ pull_request:
++ types: [opened, synchronize]
++ paths:
++ - .github/workflows/daedalus-docker.yml
++ - 'apps/daedalus_client/**'
++ - 'packages/daedalus/**'
++ merge_group:
++ types: [checks_requested]
++
++jobs:
++ docker:
++ runs-on: ubuntu-latest
++ steps:
++ - name: 📥 Check out code
++ uses: actions/checkout@v4
++
++ - name: 🧰 Set up Docker Buildx
++ uses: docker/setup-buildx-action@v2
++
++ - name: ⚙️ Generate Docker image metadata
++ id: docker_meta
++ uses: docker/metadata-action@v5
++ env:
++ DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
++ with:
++ images: ghcr.io/modrinth/daedalus
++ labels: |
++ org.opencontainers.image.title=daedalus
++ org.opencontainers.image.description=Modrinth game metadata query client
++ org.opencontainers.image.licenses=MIT
++ annotations: |
++ org.opencontainers.image.title=daedalus
++ org.opencontainers.image.description=Modrinth game metadata query client
++ org.opencontainers.image.licenses=MIT
++
++ - name: 🔑 Login to GitHub Packages
++ uses: docker/login-action@v3
++ with:
++ registry: ghcr.io
++ username: ${{ github.actor }}
++ password: ${{ secrets.GITHUB_TOKEN }}
++
++ - name: 🔨 Build and push
++ uses: docker/build-push-action@v6
++ with:
++ file: ./apps/daedalus_client/Dockerfile
++ push: ${{ github.event_name != 'pull_request' }}
++ tags: ${{ steps.docker_meta.outputs.tags }}
++ labels: ${{ steps.docker_meta.outputs.labels }}
++ annotations: ${{ steps.docker_meta.outputs.annotations }}
++ cache-from: type=registry,ref=ghcr.io/modrinth/daedalus:main
++ cache-to: type=inline
+diff --git a/.github/workflows/daedalus-run.yml b/.github/workflows/daedalus-run.yml
+new file mode 100644
+index 000000000..56fbd9f82
+--- /dev/null
++++ b/.github/workflows/daedalus-run.yml
+@@ -0,0 +1,51 @@
++name: Run Meta
++
++on:
++ schedule:
++ - cron: '*/5 * * * *'
++ workflow_dispatch:
++
++jobs:
++ run-docker:
++ if: github.repository_owner == 'modrinth'
++ runs-on: ubuntu-latest
++
++ steps:
++ - name: Checkout repository
++ uses: actions/checkout@v3
++
++ - name: Log in to GitHub Container Registry
++ uses: docker/login-action@v2
++ with:
++ registry: ghcr.io
++ username: ${{ github.actor }}
++ password: ${{ secrets.GITHUB_TOKEN }}
++
++ - name: Pull Docker image from GHCR
++ run: docker pull ghcr.io/modrinth/daedalus:main
++
++ - name: Run Docker container
++ env:
++ BASE_URL: ${{ secrets.BASE_URL }}
++ S3_ACCESS_TOKEN: ${{ secrets.S3_ACCESS_TOKEN }}
++ S3_SECRET: ${{ secrets.S3_SECRET }}
++ S3_URL: ${{ secrets.S3_URL }}
++ S3_REGION: ${{ secrets.S3_REGION }}
++ S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }}
++ CLOUDFLARE_INTEGRATION: ${{ secrets.CLOUDFLARE_INTEGRATION }}
++ CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
++ CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
++ run: |
++ docker run \
++ --name daedalus \
++ -e RUST_LOG=warn,daedalus_client=trace \
++ -e BASE_URL=$BASE_URL \
++ -e S3_ACCESS_TOKEN=$S3_ACCESS_TOKEN \
++ -e S3_SECRET=$S3_SECRET \
++ -e S3_URL=$S3_URL \
++ -e S3_REGION=$S3_REGION \
++ -e S3_BUCKET_NAME=$S3_BUCKET_NAME \
++ -e CLOUDFLARE_INTEGRATION=$CLOUDFLARE_INTEGRATION \
++ -e CLOUDFLARE_TOKEN=$CLOUDFLARE_TOKEN \
++ -e CLOUDFLARE_ZONE_ID=$CLOUDFLARE_ZONE_ID \
++ ghcr.io/modrinth/daedalus:main
+diff --git a/.github/workflows/frontend-pages.yml b/.github/workflows/frontend-pages.yml
+new file mode 100644
+index 000000000..cd575fdfe
+--- /dev/null
++++ b/.github/workflows/frontend-pages.yml
+@@ -0,0 +1,30 @@
++name: Clear pages cache
++
++on:
++ push:
++ branches:
++ - prod
++
++jobs:
++ wait:
++ if: github.repository_owner == 'modrinth'
++ runs-on: ubuntu-latest
++ permissions:
++ contents: read
++ deployments: write
++ steps:
++ - name: Cloudflare Pages deployment
++ uses: WalshyDev/cf-pages-await@v1
++ with:
++ apiToken: ${{ secrets.CF_API_TOKEN }}
++ accountId: '9ddae624c98677d68d93df6e524a6061'
++ project: 'frontend'
++ commitHash: ${{ steps.push-changes.outputs.commit-hash }}
++ - name: Purge cache
++ if: github.ref == 'refs/heads/prod'
++ run: |
++ curl -X POST \
++ -H "Authorization: Bearer ${{ secrets.CF_API_TOKEN }}" \
++ -H "Content-Type: application/json" \
++ --data '{"hosts": ["modrinth.com", "www.modrinth.com"]}' \
++ https://api.cloudflare.com/client/v4/zones/e39df17b9c4ef44cbce2646346ee6d33/purge_cache
+diff --git a/.github/workflows/labrinth-docker.yml b/.github/workflows/labrinth-docker.yml
+new file mode 100644
+index 000000000..99a57f7a8
+--- /dev/null
++++ b/.github/workflows/labrinth-docker.yml
+@@ -0,0 +1,70 @@
++name: docker-build
++
++on:
++ push:
++ branches:
++ - '**'
++ paths:
++ - .github/workflows/labrinth-docker.yml
++ - 'apps/labrinth/**'
++ - Cargo.toml
++ - Cargo.lock
++ pull_request:
++ types: [opened, synchronize]
++ paths:
++ - .github/workflows/labrinth-docker.yml
++ - 'apps/labrinth/**'
++ - Cargo.toml
++ - Cargo.lock
++ merge_group:
++ types: [checks_requested]
++
++jobs:
++ docker:
++ runs-on: ubuntu-latest
++ steps:
++ - name: 📥 Check out code
++ uses: actions/checkout@v4
++
++ - name: 🧰 Set up Docker Buildx
++ uses: docker/setup-buildx-action@v2
++
++ - name: ⚙️ Generate Docker image metadata
++ id: docker_meta
++ uses: docker/metadata-action@v5
++ env:
++ # GitHub Packages requires annotations metadata in at least the index descriptor to show them
++ # up properly in its UI it seems, but it's not clear about it, because the docs refer to the
++ # image manifest only. See:
++ # https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#adding-a-description-to-multi-arch-images
++ DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
++ with:
++ images: ghcr.io/modrinth/labrinth
++ labels: |
++ org.opencontainers.image.title=labrinth
++ org.opencontainers.image.description=Modrinth API
++ org.opencontainers.image.licenses=AGPL-3.0-only
++ annotations: |
++ org.opencontainers.image.title=labrinth
++ org.opencontainers.image.description=Modrinth API
++ org.opencontainers.image.licenses=AGPL-3.0-only
++
++ - name: 🔑 Login to GitHub Packages
++ uses: docker/login-action@v3
++ with:
++ registry: ghcr.io
++ username: ${{ github.actor }}
++ password: ${{ secrets.GITHUB_TOKEN }}
++
++ - name: 🔨 Build and push
++ uses: docker/build-push-action@v6
++ with:
++ file: ./apps/labrinth/Dockerfile
++ push: ${{ github.event_name != 'pull_request' }}
++ tags: ${{ steps.docker_meta.outputs.tags }}
++ labels: ${{ steps.docker_meta.outputs.labels }}
++ annotations: ${{ steps.docker_meta.outputs.annotations }}
++ build-args: |
++ GIT_HASH=${{ fromJSON(steps.docker_meta.outputs.json).labels['org.opencontainers.image.revision'] }}
++ cache-from: type=registry,ref=ghcr.io/modrinth/labrinth:main
++ cache-to: type=inline
+diff --git a/.github/workflows/theseus-build.yml b/.github/workflows/theseus-build.yml
+new file mode 100644
+index 000000000..287f5b6de
+--- /dev/null
++++ b/.github/workflows/theseus-build.yml
+@@ -0,0 +1,152 @@
++name: Modrinth App build
++on:
++ push:
++ branches:
++ - main
++ tags:
++ - 'v*'
++ paths:
++ - .github/workflows/theseus-build.yml
++ - 'apps/app/**'
++ - 'apps/app-frontend/**'
++ - 'packages/app-lib/**'
++ - 'packages/app-macros/**'
++ - 'packages/assets/**'
++ - 'packages/ui/**'
++ - 'packages/utils/**'
++ workflow_dispatch:
++ inputs:
++ sign-windows-binaries:
++ description: Sign Windows binaries
++ type: boolean
++ default: true
++ required: false
++
++jobs:
++ build:
++ name: Build
++ strategy:
++ fail-fast: false
++ matrix:
++ platform: [macos-latest, windows-latest, ubuntu-latest]
++ include:
++ - platform: macos-latest
++ artifact-target-name: universal-apple-darwin
++ - platform: windows-latest
++ artifact-target-name: x86_64-pc-windows-msvc
++ - platform: ubuntu-latest
++ artifact-target-name: x86_64-unknown-linux-gnu
++
++ runs-on: ${{ matrix.platform }}
++
++ steps:
++ - name: 📥 Check out code
++ uses: actions/checkout@v4
++ with:
++ fetch-depth: 0
++
++ - name: 🧰 Setup Rust toolchain
++ uses: actions-rust-lang/setup-rust-toolchain@v1
++ with:
++ rustflags: ''
++ target: ${{ startsWith(matrix.platform, 'macos') && 'x86_64-apple-darwin' || '' }}
++
++ - name: 🧰 Install pnpm
++ uses: pnpm/action-setup@v4
++
++ - name: 🧰 Setup Node.js
++ uses: actions/setup-node@v4
++ with:
++ node-version-file: .nvmrc
++ cache: pnpm
++
++ - name: 🧰 Install Linux build dependencies
++ if: startsWith(matrix.platform, 'ubuntu')
++ run: |
++ sudo apt-get update
++ sudo apt-get install -yq libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev
++
++ - name: 🧰 Setup Dasel
++ uses: jaxxstorm/action-install-gh-release@v2.1.0
++ with:
++ repo: TomWright/dasel
++ tag: v2.8.1
++ extension-matching: disable
++ rename-to: ${{ startsWith(matrix.platform, 'windows') && 'dasel.exe' || 'dasel' }}
++ chmod: 0755
++
++ - name: ⚙️ Set application version and environment
++ shell: bash
++ run: |
++ APP_VERSION="$(git describe --tags --always | sed -E 's/-([0-9]+)-(g[0-9a-fA-F]+)$/-canary+\1.\2/')"
++ echo "Setting application version to $APP_VERSION"
++ dasel put -f apps/app/Cargo.toml -t string -v "${APP_VERSION#v}" 'package.version'
++ dasel put -f packages/app-lib/Cargo.toml -t string -v "${APP_VERSION#v}" 'package.version'
++ dasel put -f apps/app-frontend/package.json -t string -v "${APP_VERSION#v}" 'version'
++
++ cp packages/app-lib/.env.prod packages/app-lib/.env
++
++ - name: 💨 Setup Turbo cache
++ uses: rharkor/caching-for-turbo@v1.8
++
++ - name: 🧰 Install dependencies
++ run: pnpm install
++
++ - name: ✍️ Set up Windows code signing
++ if: startsWith(matrix.platform, 'windows')
++ shell: bash
++ run: |
++ if [ '${{ startsWith(github.ref, 'refs/tags/v') || inputs.sign-windows-binaries }}' = 'true' ]; then
++ choco install jsign --ignore-dependencies # GitHub runners come with a global Java installation already
++ else
++ dasel delete -f apps/app/tauri-release.conf.json 'bundle.windows.signCommand'
++ fi
++
++ - name: 🔨 Build macOS app
++ run: pnpm --filter=@modrinth/app run tauri build --target universal-apple-darwin --config tauri-release.conf.json
++ if: startsWith(matrix.platform, 'macos')
++ env:
++ ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }}
++ APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
++ APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
++ APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
++ APPLE_ID: ${{ secrets.APPLE_ID }}
++ APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
++ APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
++ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
++ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
++
++ - name: 🔨 Build Linux app
++ run: pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json
++ if: startsWith(matrix.platform, 'ubuntu')
++ env:
++ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
++ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
++
++ - name: 🔨 Build Windows app
++ run: |
++ [System.Convert]::FromBase64String("$env:DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_BASE64") | Set-Content -Path signer-client-cert.p12 -AsByteStream
++ $env:DIGICERT_ONE_SIGNER_CREDENTIALS = "$env:DIGICERT_ONE_SIGNER_API_KEY|$PWD\signer-client-cert.p12|$env:DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_PASSWORD"
++ $env:JAVA_HOME = "$env:JAVA_HOME_17_X64"
++ pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json --verbose --bundles 'nsis,updater'
++ Remove-Item -Path signer-client-cert.p12 -ErrorAction SilentlyContinue
++ if: startsWith(matrix.platform, 'windows')
++ env:
++ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
++ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
++ DIGICERT_ONE_SIGNER_API_KEY: ${{ secrets.DIGICERT_ONE_SIGNER_API_KEY }}
++ DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_BASE64: ${{ secrets.DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_BASE64 }}
++ DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_PASSWORD: ${{ secrets.DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_PASSWORD }}
++
++ - name: 📤 Upload app bundles
++ uses: actions/upload-artifact@v4
++ with:
++ name: App bundle (${{ matrix.artifact-target-name }})
++ path: |
++ target/release/bundle/appimage/Modrinth App_*.AppImage*
++ target/release/bundle/deb/Modrinth App_*.deb*
++ target/release/bundle/rpm/Modrinth App-*.rpm*
++ target/universal-apple-darwin/release/bundle/macos/Modrinth App.app.tar.gz*
++ target/universal-apple-darwin/release/bundle/dmg/Modrinth App_*.dmg*
++ target/release/bundle/nsis/Modrinth App_*-setup.exe*
++ target/release/bundle/nsis/Modrinth App_*-setup.nsis.zip*
+diff --git a/.github/workflows/theseus-release.yml b/.github/workflows/theseus-release.yml
+new file mode 100644
+index 000000000..6cd2be01f
+--- /dev/null
++++ b/.github/workflows/theseus-release.yml
+@@ -0,0 +1,118 @@
++name: Modrinth App release
++on:
++ workflow_dispatch:
++ inputs:
++ version-tag:
++ description: Version tag to release to the wide public
++ type: string
++ required: true
++ release-notes:
++ description: Release notes to include in the Tauri version manifest
++ default: A new release of the Modrinth App is available!
++ type: string
++ required: true
++
++jobs:
++ release:
++ name: Release Modrinth App
++ runs-on: ubuntu-latest
++
++ env:
++ LINUX_X64_BUNDLE_ARTIFACT_NAME: App bundle (x86_64-unknown-linux-gnu)
++ WINDOWS_X64_BUNDLE_ARTIFACT_NAME: App bundle (x86_64-pc-windows-msvc)
++ MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME: App bundle (universal-apple-darwin)
++ LAUNCHER_FILES_BUCKET_BASE_URL: https://launcher-files.modrinth.com
++
++ steps:
++ - name: 📥 Download Modrinth App artifacts
++ uses: dawidd6/action-download-artifact@v11
++ with:
++ workflow: theseus-build.yml
++ workflow_conclusion: success
++ event: push
++ branch: ${{ inputs.version-tag }}
++ use_unzip: true
++
++ - name: 🛠️ Generate version manifest
++ env:
++ VERSION_TAG: ${{ inputs.version-tag }}
++ RELEASE_NOTES: ${{ inputs.release-notes }}
++ run: |
++ # Reference: https://tauri.app/plugin/updater/#server-support
++ jq -nc \
++ --arg versionTag "${VERSION_TAG#v}" \
++ --arg releaseNotes "$RELEASE_NOTES" \
++ --rawfile macOsAarch64UpdateArtifactSignature "${MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME}/universal-apple-darwin/release/bundle/macos/Modrinth App.app.tar.gz.sig" \
++ --rawfile macOsX64UpdateArtifactSignature "${MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME}/universal-apple-darwin/release/bundle/macos/Modrinth App.app.tar.gz.sig" \
++ --rawfile linuxX64UpdateArtifactSignature "${LINUX_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/appimage/Modrinth App_${VERSION_TAG#v}_amd64.AppImage.tar.gz.sig" \
++ --rawfile windowsX64UpdateArtifactSignature "${WINDOWS_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/nsis/Modrinth App_${VERSION_TAG#v}_x64-setup.nsis.zip.sig" \
++ '{
++ "version": $versionTag,
++ "notes": $releaseNotes,
++ "pub_date": now | todateiso8601,
++ "platforms": {
++ "darwin-aarch64": {
++ "signature": $macOsAarch64UpdateArtifactSignature,
++ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App.app.tar.gz")",
++ "install_urls": [@uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App_" + $versionTag + "_universal.dmg")"]
++ },
++ "darwin-x86_64": {
++ "signature": $macOsX64UpdateArtifactSignature,
++ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App.app.tar.gz")",
++ "install_urls": [@uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App_" + $versionTag + "_universal.dmg")"]
++ },
++ "linux-x86_64": {
++ "signature": $linuxX64UpdateArtifactSignature,
++ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App_" + $versionTag + "_amd64.AppImage.tar.gz")",
++ "install_urls": [
++ @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App_" + $versionTag + "_amd64.deb")",
++ @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App_" + $versionTag + "_amd64.AppImage")",
++ @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App-" + $versionTag + "-1.x86_64.rpm")"
++ ]
++ },
++ "windows-x86_64": {
++ "signature": $windowsX64UpdateArtifactSignature,
++ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/windows/\("Modrinth App_" + $versionTag + "_x64-setup.nsis.zip")",
++ "install_urls": [@uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/windows/\("Modrinth App_" + $versionTag + "_x64-setup.exe")"]
++ }
++ }
++ }' > updates.json
++
++ echo "Generated manifest for version ${VERSION_TAG}:"
++ cat updates.json
++
++ - name: 📤 Upload release artifacts
++ env:
++ VERSION_TAG: ${{ inputs.version-tag }}
++ AWS_ACCESS_KEY_ID: ${{ secrets.LAUNCHER_FILES_BUCKET_ACCESS_KEY_ID }}
++ AWS_SECRET_ACCESS_KEY: ${{ secrets.LAUNCHER_FILES_BUCKET_SECRET_ACCESS_KEY }}
++ AWS_BUCKET: ${{ secrets.LAUNCHER_FILES_BUCKET_NAME }}
++ AWS_REGION: ${{ secrets.LAUNCHER_FILES_BUCKET_REGION }}
++ AWS_ENDPOINT_URL: ${{ secrets.LAUNCHER_FILES_BUCKET_ENDPOINT_URL }}
++ AWS_PAGER: ''
++ # Work around incompatible checksum behavior with some S3-like object storage providers,
++ # such as Cloudflare R2. See:
++ # - https://developers.cloudflare.com/r2/examples/aws/aws-cli/
++ # - https://developers.cloudflare.com/r2/examples/aws/aws-sdk-java/
++ AWS_REQUEST_CHECKSUM_CALCULATION: when_required
++ AWS_RESPONSE_CHECKSUM_VALIDATION: when_required
++ run: |
++ for macosBundleType in 'macos' 'dmg'; do
++ aws s3 cp --recursive \
++ "${MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME}/universal-apple-darwin/release/bundle/${macosBundleType}" \
++ "s3://${AWS_BUCKET}/versions/${VERSION_TAG#v}/macos"
++ done
++
++ for linuxBundleType in 'appimage' 'deb' 'rpm'; do
++ aws s3 cp --recursive \
++ "${LINUX_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/${linuxBundleType}" \
++ "s3://${AWS_BUCKET}/versions/${VERSION_TAG#v}/linux"
++ done
++
++ for windowsBundleType in 'nsis'; do
++ aws s3 cp --recursive \
++ "${WINDOWS_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/${windowsBundleType}" \
++ "s3://${AWS_BUCKET}/versions/${VERSION_TAG#v}/windows"
++ done
++
++ aws s3 cp updates.json "s3://${AWS_BUCKET}"
+diff --git a/.github/workflows/turbo-ci.yml b/.github/workflows/turbo-ci.yml
+new file mode 100644
+index 000000000..ba62ac5a5
+--- /dev/null
++++ b/.github/workflows/turbo-ci.yml
+@@ -0,0 +1,92 @@
++name: CI
++
++on:
++ push:
++ branches: [main]
++ pull_request:
++ types: [opened, synchronize]
++ merge_group:
++ types: [checks_requested]
++
++jobs:
++ build:
++ name: Lint and Test
++ runs-on: ubuntu-latest
++
++ env:
++ # Ensure pnpm output is colored in GitHub Actions logs
++ FORCE_COLOR: 3
++ # Make cargo nextest successfully ignore projects without tests
++ NEXTEST_NO_TESTS: pass
++ # Fail on warnings in CI
++ # (but don't do this in the root `Cargo.toml`,
++ # since we don't want warnings to become errors
++ # while developing)
++ RUSTFLAGS: -Dwarnings
++
++ steps:
++ - name: 📥 Check out code
++ uses: actions/checkout@v4
++ with:
++ fetch-depth: 2
++
++ - name: 🧰 Install build dependencies
++ run: |
++ sudo apt-get update
++ sudo apt-get install -yq libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev
++
++ - name: 🧰 Install pnpm
++ uses: pnpm/action-setup@v4
++
++ - name: 🧰 Setup Node.js
++ uses: actions/setup-node@v4
++ with:
++ node-version-file: .nvmrc
++ cache: pnpm
++
++ - name: 🧰 Setup Rust toolchain
++ uses: actions-rust-lang/setup-rust-toolchain@v1
++ with:
++ rustflags: ''
++ components: clippy, rustfmt
++ cache: false
++
++ - name: 🧰 Setup nextest
++ uses: taiki-e/install-action@nextest
++
++ # cargo-binstall does not have pre-built binaries for sqlx-cli, so we fall
++ # back to a cached cargo install
++ - name: 🧰 Setup cargo-sqlx
++ uses: taiki-e/cache-cargo-install-action@v2
++ with:
++ tool: sqlx-cli
++ locked: false
++ no-default-features: true
++ features: rustls,postgres
++
++ - name: 💨 Setup Turbo cache
++ uses: rharkor/caching-for-turbo@v1.8
++
++ - name: 🧰 Install dependencies
++ run: pnpm install
++
++ - name: ⚙️ Start services
++ run: docker compose up --wait
++
++ - name: ⚙️ Setup labrinth environment and database
++ working-directory: apps/labrinth
++ run: |
++ cp .env.local .env
++ sqlx database setup
++
++ - name: ⚙️ Set app environment
++ working-directory: packages/app-lib
++ run: cp .env.staging .env
++
++ - name: 🔍 Lint and test
++ run: pnpm run ci
++
++ - name: 🔍 Verify intl:extract has been run
++ run: |
++ pnpm intl:extract
++ git diff --exit-code --color */*/src/locales/en-US/index.json
+diff --git a/Cargo.lock b/Cargo.lock
+index d2cd92361..069844001 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -8,7 +8,7 @@ version = "0.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "bytes",
+ "futures-core",
+ "futures-sink",
+@@ -44,7 +44,7 @@ dependencies = [
+ "actix-service",
+ "actix-utils",
+ "actix-web",
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "bytes",
+ "derive_more 2.0.1",
+ "futures-core",
+@@ -68,7 +68,7 @@ dependencies = [
+ "actix-service",
+ "actix-utils",
+ "base64 0.22.1",
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "brotli",
+ "bytes",
+ "bytestring",
+@@ -103,7 +103,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb"
+ dependencies = [
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -141,7 +141,7 @@ dependencies = [
+ "parse-size",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -259,7 +259,7 @@ dependencies = [
+ "actix-router",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -324,7 +324,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
+ dependencies = [
+ "cfg-if",
+- "getrandom 0.3.4",
++ "getrandom 0.3.3",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+@@ -332,9 +332,9 @@ dependencies = [
+
+ [[package]]
+ name = "aho-corasick"
+-version = "1.1.4"
++version = "1.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
++checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+ dependencies = [
+ "memchr",
+ ]
+@@ -434,15 +434,6 @@ version = "1.0.100"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
+
+-[[package]]
+-name = "ar_archive_writer"
+-version = "0.2.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a"
+-dependencies = [
+- "object 0.32.2",
+-]
+-
+ [[package]]
+ name = "arbitrary"
+ version = "1.4.2"
+@@ -460,7 +451,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -653,7 +644,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -693,7 +684,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -734,7 +725,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -831,7 +822,7 @@ dependencies = [
+ "base64 0.22.1",
+ "http 1.3.1",
+ "log",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "serde",
+ "serde_json",
+ "url",
+@@ -846,14 +837,14 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
+
+ [[package]]
+ name = "av1-grain"
+-version = "0.2.5"
++version = "0.2.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8"
++checksum = "4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8"
+ dependencies = [
+ "anyhow",
+ "arrayvec",
+ "log",
+- "nom 8.0.0",
++ "nom 7.1.3",
+ "num-rational",
+ "v_frame",
+ ]
+@@ -896,15 +887,16 @@ dependencies = [
+
+ [[package]]
+ name = "aws-lc-sys"
+-version = "0.32.3"
++version = "0.32.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "107a4e9d9cab9963e04e84bb8dee0e25f2a987f9a8bad5ed054abd439caa8f8c"
++checksum = "a2b715a6010afb9e457ca2b7c9d2b9c344baa8baed7b38dc476034c171b32575"
+ dependencies = [
+ "bindgen",
+ "cc",
+ "cmake",
+ "dunce",
+ "fs_extra",
++ "libloading 0.8.8",
+ ]
+
+ [[package]]
+@@ -973,7 +965,7 @@ dependencies = [
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+- "object 0.37.3",
++ "object",
+ "rustc-demangle",
+ "windows-link 0.2.1",
+ ]
+@@ -1020,7 +1012,7 @@ version = "0.72.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "cexpr",
+ "clang-sys",
+ "itertools 0.13.0",
+@@ -1031,7 +1023,7 @@ dependencies = [
+ "regex",
+ "rustc-hash",
+ "shlex",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -1063,11 +1055,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+ [[package]]
+ name = "bitflags"
+-version = "2.10.0"
++version = "2.9.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
++checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
+ dependencies = [
+- "serde_core",
++ "serde",
+ ]
+
+ [[package]]
+@@ -1157,7 +1149,7 @@ dependencies = [
+ "proc-macro-crate 3.4.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -1183,9 +1175,9 @@ dependencies = [
+
+ [[package]]
+ name = "bstr"
+-version = "1.12.1"
++version = "1.12.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab"
++checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4"
+ dependencies = [
+ "memchr",
+ ]
+@@ -1262,9 +1254,9 @@ dependencies = [
+
+ [[package]]
+ name = "bzip2"
+-version = "0.6.1"
++version = "0.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c"
++checksum = "bea8dcd42434048e4f7a304411d9273a411f647446c1234a65ce0554923f4cff"
+ dependencies = [
+ "libbz2-rs-sys",
+ ]
+@@ -1275,7 +1267,7 @@ version = "0.18.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "cairo-sys-rs",
+ "glib",
+ "libc",
+@@ -1347,9 +1339,9 @@ dependencies = [
+
+ [[package]]
+ name = "cc"
+-version = "1.2.44"
++version = "1.2.41"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3"
++checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7"
+ dependencies = [
+ "find-msvc-tools",
+ "jobserver",
+@@ -1404,9 +1396,9 @@ dependencies = [
+
+ [[package]]
+ name = "cfg-if"
+-version = "1.0.4"
++version = "1.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
++checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
+
+ [[package]]
+ name = "cfg_aliases"
+@@ -1478,14 +1470,14 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+ dependencies = [
+ "glob",
+ "libc",
+- "libloading 0.8.9",
++ "libloading 0.8.8",
+ ]
+
+ [[package]]
+ name = "clap"
+-version = "4.5.51"
++version = "4.5.48"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5"
++checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae"
+ dependencies = [
+ "clap_builder",
+ "clap_derive",
+@@ -1493,9 +1485,9 @@ dependencies = [
+
+ [[package]]
+ name = "clap_builder"
+-version = "4.5.51"
++version = "4.5.48"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a"
++checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9"
+ dependencies = [
+ "anstream",
+ "anstyle",
+@@ -1505,21 +1497,21 @@ dependencies = [
+
+ [[package]]
+ name = "clap_derive"
+-version = "4.5.49"
++version = "4.5.47"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671"
++checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c"
+ dependencies = [
+ "heck 0.5.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+ name = "clap_lex"
+-version = "0.7.6"
++version = "0.7.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d"
++checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
+
+ [[package]]
+ name = "clickhouse"
+@@ -1558,7 +1550,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde_derive_internals",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -1877,7 +1869,7 @@ version = "0.24.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "core-foundation 0.10.1",
+ "core-graphics-types",
+ "foreign-types",
+@@ -1890,7 +1882,7 @@ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "core-foundation 0.10.1",
+ "libc",
+ ]
+@@ -2029,26 +2021,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
+ dependencies = [
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+ name = "csv"
+-version = "1.4.0"
++version = "1.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938"
++checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf"
+ dependencies = [
+ "csv-core",
+ "itoa",
+ "ryu",
+- "serde_core",
++ "serde",
+ ]
+
+ [[package]]
+ name = "csv-core"
+-version = "0.1.13"
++version = "0.1.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782"
++checksum = "7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d"
+ dependencies = [
+ "memchr",
+ ]
+@@ -2060,7 +2052,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501"
+ dependencies = [
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2084,7 +2076,7 @@ dependencies = [
+ "dashmap",
+ "dotenvy",
+ "futures",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "itertools 0.14.0",
+ "reqwest",
+ "rust-s3",
+@@ -2130,7 +2122,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "strsim",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2144,7 +2136,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "strsim",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2155,7 +2147,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
+ dependencies = [
+ "darling_core 0.20.11",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2166,7 +2158,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81"
+ dependencies = [
+ "darling_core 0.21.3",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2256,9 +2248,9 @@ dependencies = [
+
+ [[package]]
+ name = "deranged"
+-version = "0.5.5"
++version = "0.5.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587"
++checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071"
+ dependencies = [
+ "powerfmt",
+ "serde_core",
+@@ -2272,7 +2264,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2293,7 +2285,7 @@ dependencies = [
+ "darling 0.20.11",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2303,7 +2295,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
+ dependencies = [
+ "derive_builder_core",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2316,7 +2308,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "rustc_version",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2336,7 +2328,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "unicode-xid",
+ ]
+
+@@ -2430,7 +2422,7 @@ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.6.2",
+ "libc",
+ "objc2 0.6.3",
+@@ -2444,7 +2436,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2453,7 +2445,7 @@ version = "0.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
+ dependencies = [
+- "libloading 0.8.9",
++ "libloading 0.8.8",
+ ]
+
+ [[package]]
+@@ -2476,7 +2468,7 @@ checksum = "788160fb30de9cdd857af31c6a2675904b16ece8fc2737b2c7127ba368c9d0f4"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2490,9 +2482,9 @@ dependencies = [
+
+ [[package]]
+ name = "document-features"
+-version = "0.2.12"
++version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
++checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d"
+ dependencies = [
+ "litrs",
+ ]
+@@ -2660,7 +2652,7 @@ dependencies = [
+ "heck 0.5.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2681,7 +2673,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2703,7 +2695,7 @@ dependencies = [
+ "darling 0.21.3",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2748,7 +2740,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2823,7 +2815,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0"
+ dependencies = [
+ "bit_field",
+- "half 2.7.1",
++ "half 2.7.0",
+ "lebe",
+ "miniz_oxide",
+ "rayon-core",
+@@ -2884,7 +2876,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -2948,9 +2940,9 @@ dependencies = [
+
+ [[package]]
+ name = "flate2"
+-version = "1.1.5"
++version = "1.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb"
++checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9"
+ dependencies = [
+ "crc32fast",
+ "libz-rs-sys",
+@@ -2998,7 +2990,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -3159,7 +3151,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -3313,12 +3305,12 @@ dependencies = [
+
+ [[package]]
+ name = "gethostname"
+-version = "1.1.0"
++version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8"
++checksum = "fc257fdb4038301ce4b9cd1b3b51704509692bb3ff716a410cbd07925d9dae55"
+ dependencies = [
+ "rustix 1.1.2",
+- "windows-link 0.2.1",
++ "windows-targets 0.52.6",
+ ]
+
+ [[package]]
+@@ -3347,15 +3339,15 @@ dependencies = [
+
+ [[package]]
+ name = "getrandom"
+-version = "0.3.4"
++version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
++checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
+ dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "r-efi",
+- "wasip2",
++ "wasi 0.14.7+wasi-0.2.4",
+ "wasm-bindgen",
+ ]
+
+@@ -3413,7 +3405,7 @@ version = "0.18.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+@@ -3441,7 +3433,7 @@ dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -3531,7 +3523,7 @@ dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -3546,7 +3538,7 @@ dependencies = [
+ "futures-sink",
+ "futures-util",
+ "http 0.2.12",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "slab",
+ "tokio",
+ "tokio-util",
+@@ -3565,7 +3557,7 @@ dependencies = [
+ "futures-core",
+ "futures-sink",
+ "http 1.3.1",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "slab",
+ "tokio",
+ "tokio-util",
+@@ -3580,9 +3572,9 @@ checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403"
+
+ [[package]]
+ name = "half"
+-version = "2.7.1"
++version = "2.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
++checksum = "e54c115d4f30f52c67202f079c5f9d8b49db4691f460fdb0b4c2e838261b2ba5"
+ dependencies = [
+ "cfg-if",
+ "crunchy",
+@@ -3737,11 +3729,11 @@ dependencies = [
+
+ [[package]]
+ name = "home"
+-version = "0.5.12"
++version = "0.5.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
++checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf"
+ dependencies = [
+- "windows-sys 0.61.2",
++ "windows-sys 0.59.0",
+ ]
+
+ [[package]]
+@@ -3940,8 +3932,8 @@ dependencies = [
+ "http 1.3.1",
+ "hyper 1.7.0",
+ "hyper-util",
+- "rustls 0.23.34",
+- "rustls-native-certs 0.8.2",
++ "rustls 0.23.32",
++ "rustls-native-certs 0.8.1",
+ "rustls-pki-types",
+ "tokio",
+ "tokio-rustls 0.26.4",
+@@ -4024,9 +4016,9 @@ dependencies = [
+
+ [[package]]
+ name = "icu_collections"
+-version = "2.1.1"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43"
++checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
+ dependencies = [
+ "displaydoc",
+ "potential_utf",
+@@ -4037,9 +4029,9 @@ dependencies = [
+
+ [[package]]
+ name = "icu_locale_core"
+-version = "2.1.1"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6"
++checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
+ dependencies = [
+ "displaydoc",
+ "litemap",
+@@ -4050,10 +4042,11 @@ dependencies = [
+
+ [[package]]
+ name = "icu_normalizer"
+-version = "2.1.1"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599"
++checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
+ dependencies = [
++ "displaydoc",
+ "icu_collections",
+ "icu_normalizer_data",
+ "icu_properties",
+@@ -4064,38 +4057,42 @@ dependencies = [
+
+ [[package]]
+ name = "icu_normalizer_data"
+-version = "2.1.1"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a"
++checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
+
+ [[package]]
+ name = "icu_properties"
+-version = "2.1.1"
++version = "2.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99"
++checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
+ dependencies = [
++ "displaydoc",
+ "icu_collections",
+ "icu_locale_core",
+ "icu_properties_data",
+ "icu_provider",
++ "potential_utf",
+ "zerotrie",
+ "zerovec",
+ ]
+
+ [[package]]
+ name = "icu_properties_data"
+-version = "2.1.1"
++version = "2.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899"
++checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
+
+ [[package]]
+ name = "icu_provider"
+-version = "2.1.1"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614"
++checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
+ dependencies = [
+ "displaydoc",
+ "icu_locale_core",
++ "stable_deref_trait",
++ "tinystr",
+ "writeable",
+ "yoke",
+ "zerofrom",
+@@ -4195,9 +4192,9 @@ dependencies = [
+
+ [[package]]
+ name = "indexmap"
+-version = "2.12.0"
++version = "2.11.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f"
++checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5"
+ dependencies = [
+ "equivalent",
+ "hashbrown 0.16.0",
+@@ -4207,9 +4204,9 @@ dependencies = [
+
+ [[package]]
+ name = "indicatif"
+-version = "0.18.2"
++version = "0.18.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ade6dfcba0dfb62ad59e59e7241ec8912af34fd29e0e743e3db992bd278e8b65"
++checksum = "70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd"
+ dependencies = [
+ "console",
+ "portable-atomic",
+@@ -4245,7 +4242,7 @@ dependencies = [
+ "crossbeam-utils",
+ "dashmap",
+ "env_logger",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "itoa",
+ "log",
+ "num-format",
+@@ -4261,7 +4258,7 @@ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "inotify-sys",
+ "libc",
+ ]
+@@ -4292,7 +4289,18 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
++]
++
++[[package]]
++name = "io-uring"
++version = "0.7.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b"
++dependencies = [
++ "bitflags 2.9.4",
++ "cfg-if",
++ "libc",
+ ]
+
+ [[package]]
+@@ -4340,13 +4348,13 @@ dependencies = [
+
+ [[package]]
+ name = "is-terminal"
+-version = "0.4.17"
++version = "0.4.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
++checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
+ dependencies = [
+ "hermit-abi",
+ "libc",
+- "windows-sys 0.61.2",
++ "windows-sys 0.59.0",
+ ]
+
+ [[package]]
+@@ -4361,9 +4369,9 @@ dependencies = [
+
+ [[package]]
+ name = "is_terminal_polyfill"
+-version = "1.70.2"
++version = "1.70.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
++checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+ [[package]]
+ name = "iso8601"
+@@ -4475,15 +4483,15 @@ version = "0.1.34"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
+ dependencies = [
+- "getrandom 0.3.4",
++ "getrandom 0.3.3",
+ "libc",
+ ]
+
+ [[package]]
+ name = "js-sys"
+-version = "0.3.82"
++version = "0.3.81"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65"
++checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305"
+ dependencies = [
+ "once_cell",
+ "wasm-bindgen",
+@@ -4552,7 +4560,7 @@ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "serde",
+ "unicode-segmentation",
+ ]
+@@ -4585,7 +4593,7 @@ checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2"
+ dependencies = [
+ "cssparser",
+ "html5ever",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "selectors",
+ ]
+
+@@ -4606,7 +4614,7 @@ dependencies = [
+ "async-stripe",
+ "async-trait",
+ "base64 0.22.1",
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "bytes",
+ "censor",
+ "chrono",
+@@ -4648,7 +4656,7 @@ dependencies = [
+ "rust-s3",
+ "rust_decimal",
+ "rust_iso3166",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "rusty-money",
+ "sentry",
+ "sentry-actix",
+@@ -4725,8 +4733,8 @@ dependencies = [
+ "nom 8.0.0",
+ "percent-encoding",
+ "quoted_printable",
+- "rustls 0.23.34",
+- "rustls-native-certs 0.8.2",
++ "rustls 0.23.32",
++ "rustls-native-certs 0.8.1",
+ "socket2 0.6.1",
+ "tokio",
+ "tokio-rustls 0.26.4",
+@@ -4791,12 +4799,12 @@ dependencies = [
+
+ [[package]]
+ name = "libloading"
+-version = "0.8.9"
++version = "0.8.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
++checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
+ dependencies = [
+ "cfg-if",
+- "windows-link 0.2.1",
++ "windows-targets 0.53.5",
+ ]
+
+ [[package]]
+@@ -4811,7 +4819,7 @@ version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "libc",
+ "redox_syscall",
+ ]
+@@ -4860,15 +4868,15 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
+
+ [[package]]
+ name = "litemap"
+-version = "0.8.1"
++version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77"
++checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
+
+ [[package]]
+ name = "litrs"
+-version = "1.0.0"
++version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
++checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed"
+
+ [[package]]
+ name = "local-channel"
+@@ -4964,7 +4972,7 @@ checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -5009,7 +5017,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -5048,7 +5056,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "structmeta",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -5145,14 +5153,14 @@ dependencies = [
+
+ [[package]]
+ name = "mio"
+-version = "1.1.0"
++version = "1.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873"
++checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
+ dependencies = [
+ "libc",
+ "log",
+ "wasi 0.11.1+wasi-snapshot-preview1",
+- "windows-sys 0.61.2",
++ "windows-sys 0.59.0",
+ ]
+
+ [[package]]
+@@ -5204,9 +5212,9 @@ dependencies = [
+
+ [[package]]
+ name = "moxcms"
+-version = "0.7.9"
++version = "0.7.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6"
++checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40"
+ dependencies = [
+ "num-traits",
+ "pxfm",
+@@ -5275,7 +5283,7 @@ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "jni-sys",
+ "log",
+ "ndk-sys",
+@@ -5311,7 +5319,7 @@ version = "0.30.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+@@ -5355,7 +5363,7 @@ version = "8.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "fsevent-sys",
+ "inotify",
+ "kqueue",
+@@ -5429,10 +5437,11 @@ dependencies = [
+
+ [[package]]
+ name = "num-bigint-dig"
+-version = "0.8.5"
++version = "0.8.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "82c79c15c05d4bf82b6f5ef163104cc81a760d8e874d38ac50ab67c8877b647b"
++checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
+ dependencies = [
++ "byteorder",
+ "lazy_static",
+ "libm",
+ "num-integer",
+@@ -5466,7 +5475,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -5532,9 +5541,9 @@ dependencies = [
+
+ [[package]]
+ name = "num_enum"
+-version = "0.7.5"
++version = "0.7.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c"
++checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a"
+ dependencies = [
+ "num_enum_derive",
+ "rustversion",
+@@ -5542,14 +5551,14 @@ dependencies = [
+
+ [[package]]
+ name = "num_enum_derive"
+-version = "0.7.5"
++version = "0.7.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7"
++checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d"
+ dependencies = [
+ "proc-macro-crate 3.4.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -5584,7 +5593,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.6.2",
+ "libc",
+ "objc2 0.6.3",
+@@ -5605,7 +5614,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-foundation 0.3.2",
+ ]
+@@ -5616,7 +5625,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-foundation 0.3.2",
+ ]
+@@ -5627,7 +5636,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "dispatch2",
+ "objc2 0.6.3",
+ ]
+@@ -5638,7 +5647,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "dispatch2",
+ "objc2 0.6.3",
+ "objc2-core-foundation",
+@@ -5661,7 +5670,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-core-foundation",
+ "objc2-core-graphics",
+@@ -5673,7 +5682,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-core-foundation",
+ "objc2-core-graphics",
+@@ -5701,7 +5710,7 @@ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.5.1",
+ "libc",
+ "objc2 0.5.2",
+@@ -5713,7 +5722,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.6.2",
+ "libc",
+ "objc2 0.6.3",
+@@ -5736,7 +5745,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-core-foundation",
+ ]
+@@ -5757,7 +5766,7 @@ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.5.1",
+ "objc2 0.5.2",
+ "objc2-foundation 0.2.2",
+@@ -5769,7 +5778,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "f112d1746737b0da274ef79a23aac283376f335f4095a083a267a082f21db0c0"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-app-kit",
+ "objc2-foundation 0.3.2",
+@@ -5781,7 +5790,7 @@ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.5.1",
+ "objc2 0.5.2",
+ "objc2-foundation 0.2.2",
+@@ -5794,7 +5803,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-foundation 0.3.2",
+ ]
+@@ -5805,7 +5814,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-core-foundation",
+ ]
+@@ -5816,7 +5825,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "objc2 0.6.3",
+ "objc2-core-foundation",
+ "objc2-foundation 0.3.2",
+@@ -5828,7 +5837,7 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.6.2",
+ "objc2 0.6.3",
+ "objc2-app-kit",
+@@ -5838,15 +5847,6 @@ dependencies = [
+ "objc2-security",
+ ]
+
+-[[package]]
+-name = "object"
+-version = "0.32.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
+-dependencies = [
+- "memchr",
+-]
+-
+ [[package]]
+ name = "object"
+ version = "0.37.3"
+@@ -5868,9 +5868,9 @@ dependencies = [
+
+ [[package]]
+ name = "once_cell_polyfill"
+-version = "1.70.2"
++version = "1.70.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
++checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
+
+ [[package]]
+ name = "open"
+@@ -6193,7 +6193,7 @@ dependencies = [
+ "phf_shared 0.11.3",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -6206,7 +6206,7 @@ dependencies = [
+ "phf_shared 0.13.1",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -6262,7 +6262,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -6322,7 +6322,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07"
+ dependencies = [
+ "base64 0.22.1",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "quick-xml 0.38.3",
+ "serde",
+ "time",
+@@ -6347,7 +6347,7 @@ version = "0.18.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+@@ -6376,9 +6376,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
+
+ [[package]]
+ name = "potential_utf"
+-version = "0.1.4"
++version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77"
++checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a"
+ dependencies = [
+ "zerovec",
+ ]
+@@ -6426,7 +6426,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
+ dependencies = [
+ "proc-macro2",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -6524,7 +6524,7 @@ dependencies = [
+ "proc-macro-error-attr2",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -6535,9 +6535,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.103"
++version = "1.0.101"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
++checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
+ dependencies = [
+ "unicode-ident",
+ ]
+@@ -6548,7 +6548,7 @@ version = "0.17.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "hex",
+ "procfs-core",
+ "rustix 0.38.44",
+@@ -6560,7 +6560,7 @@ version = "0.17.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "hex",
+ ]
+
+@@ -6580,7 +6580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
+ dependencies = [
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -6620,7 +6620,7 @@ dependencies = [
+ "itertools 0.14.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -6660,11 +6660,10 @@ checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac"
+
+ [[package]]
+ name = "psm"
+-version = "0.1.28"
++version = "0.1.27"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01"
++checksum = "e66fcd288453b748497d8fb18bccc83a16b0518e3906d4b8df0a8d42d93dbb1c"
+ dependencies = [
+- "ar_archive_writer",
+ "cc",
+ ]
+
+@@ -6779,7 +6778,7 @@ dependencies = [
+ "quinn-proto",
+ "quinn-udp",
+ "rustc-hash",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "socket2 0.6.1",
+ "thiserror 2.0.17",
+ "tokio",
+@@ -6794,12 +6793,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
+ dependencies = [
+ "bytes",
+- "getrandom 0.3.4",
++ "getrandom 0.3.3",
+ "lru-slab",
+ "rand 0.9.2",
+ "ring",
+ "rustc-hash",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "rustls-pki-types",
+ "slab",
+ "thiserror 2.0.17",
+@@ -6949,7 +6948,7 @@ version = "0.9.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
+ dependencies = [
+- "getrandom 0.3.4",
++ "getrandom 0.3.3",
+ ]
+
+ [[package]]
+@@ -7076,7 +7075,7 @@ version = "0.5.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ ]
+
+ [[package]]
+@@ -7118,7 +7117,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -7200,8 +7199,8 @@ dependencies = [
+ "percent-encoding",
+ "pin-project-lite",
+ "quinn",
+- "rustls 0.23.34",
+- "rustls-native-certs 0.8.2",
++ "rustls 0.23.32",
++ "rustls-native-certs 0.8.1",
+ "rustls-pki-types",
+ "serde",
+ "serde_json",
+@@ -7360,7 +7359,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "rust-embed-utils",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "walkdir",
+ ]
+
+@@ -7442,7 +7441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ae8c0cb48f413ebe24dc2d148788e0efbe09ba3e011d9277162f2eaf8e1069a3"
+ dependencies = [
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -7484,7 +7483,7 @@ version = "0.38.44"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.15",
+@@ -7497,7 +7496,7 @@ version = "1.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.11.0",
+@@ -7518,16 +7517,16 @@ dependencies = [
+
+ [[package]]
+ name = "rustls"
+-version = "0.23.34"
++version = "0.23.32"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7"
++checksum = "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40"
+ dependencies = [
+ "aws-lc-rs",
+ "log",
+ "once_cell",
+ "ring",
+ "rustls-pki-types",
+- "rustls-webpki 0.103.8",
++ "rustls-webpki 0.103.7",
+ "subtle",
+ "zeroize",
+ ]
+@@ -7546,9 +7545,9 @@ dependencies = [
+
+ [[package]]
+ name = "rustls-native-certs"
+-version = "0.8.2"
++version = "0.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923"
++checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3"
+ dependencies = [
+ "openssl-probe",
+ "rustls-pki-types",
+@@ -7576,9 +7575,9 @@ dependencies = [
+
+ [[package]]
+ name = "rustls-pki-types"
+-version = "1.13.0"
++version = "1.12.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a"
++checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
+ dependencies = [
+ "web-time",
+ "zeroize",
+@@ -7596,9 +7595,9 @@ dependencies = [
+
+ [[package]]
+ name = "rustls-webpki"
+-version = "0.103.8"
++version = "0.103.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52"
++checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf"
+ dependencies = [
+ "aws-lc-rs",
+ "ring",
+@@ -7722,7 +7721,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde_derive_internals",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -7761,7 +7760,7 @@ checksum = "22f968c5ea23d555e670b449c1c5e7b2fc399fdaec1d304a17cd48e288abc107"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -7784,7 +7783,7 @@ version = "2.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "core-foundation 0.9.4",
+ "core-foundation-sys",
+ "libc",
+@@ -7797,7 +7796,7 @@ version = "3.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "core-foundation 0.10.1",
+ "core-foundation-sys",
+ "libc",
+@@ -7850,7 +7849,7 @@ checksum = "48b85e25e8a1fc13928885e8bf13abe8a09e15c46993aed05d6405f7755d6e20"
+ dependencies = [
+ "httpdate",
+ "reqwest",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "sentry-backtrace",
+ "sentry-contexts",
+ "sentry-core",
+@@ -7938,7 +7937,7 @@ version = "0.45.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "428f780866a613142dcc81b7f8551ae4d1c056f4df22b6d7ddd9154a9974eb03"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "sentry-backtrace",
+ "sentry-core",
+ "tracing-core",
+@@ -8033,7 +8032,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8044,7 +8043,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8121,7 +8120,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8151,7 +8150,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8168,15 +8167,15 @@ dependencies = [
+
+ [[package]]
+ name = "serde_with"
+-version = "3.15.1"
++version = "3.15.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04"
++checksum = "6093cd8c01b25262b84927e0f7151692158fab02d961e04c979d3903eba7ecc5"
+ dependencies = [
+ "base64 0.22.1",
+ "chrono",
+ "hex",
+ "indexmap 1.9.3",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "schemars 0.9.0",
+ "schemars 1.0.4",
+ "serde_core",
+@@ -8187,14 +8186,14 @@ dependencies = [
+
+ [[package]]
+ name = "serde_with_macros"
+-version = "3.15.1"
++version = "3.15.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955"
++checksum = "a7e6c180db0816026a61afa1cff5344fb7ebded7e4d3062772179f2501481c27"
+ dependencies = [
+ "darling 0.21.3",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8216,7 +8215,7 @@ checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8487,13 +8486,13 @@ dependencies = [
+ "futures-util",
+ "hashbrown 0.15.5",
+ "hashlink",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "log",
+ "memchr",
+ "once_cell",
+ "percent-encoding",
+ "rust_decimal",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "serde",
+ "serde_json",
+ "sha2",
+@@ -8517,7 +8516,7 @@ dependencies = [
+ "quote",
+ "sqlx-core",
+ "sqlx-macros-core",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8540,7 +8539,7 @@ dependencies = [
+ "sqlx-mysql",
+ "sqlx-postgres",
+ "sqlx-sqlite",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "tokio",
+ "url",
+ ]
+@@ -8553,7 +8552,7 @@ checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
+ dependencies = [
+ "atoi",
+ "base64 0.22.1",
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "byteorder",
+ "bytes",
+ "chrono",
+@@ -8598,7 +8597,7 @@ checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
+ dependencies = [
+ "atoi",
+ "base64 0.22.1",
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "byteorder",
+ "chrono",
+ "crc",
+@@ -8744,7 +8743,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "structmeta-derive",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8755,7 +8754,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8788,9 +8787,9 @@ dependencies = [
+
+ [[package]]
+ name = "syn"
+-version = "2.0.108"
++version = "2.0.106"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917"
++checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -8814,7 +8813,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8846,7 +8845,7 @@ version = "0.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "core-foundation 0.9.4",
+ "system-configuration-sys",
+ ]
+@@ -8882,11 +8881,11 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
+
+ [[package]]
+ name = "tao"
+-version = "0.34.5"
++version = "0.34.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7"
++checksum = "959469667dbcea91e5485fc48ba7dd6023face91bb0f1a14681a70f99847c3f7"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "block2 0.6.2",
+ "core-foundation 0.10.1",
+ "core-graphics",
+@@ -8928,7 +8927,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -8956,9 +8955,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
+
+ [[package]]
+ name = "tauri"
+-version = "2.9.2"
++version = "2.8.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8bceb52453e507c505b330afe3398510e87f428ea42b6e76ecb6bd63b15965b5"
++checksum = "d4d1d3b3dc4c101ac989fd7db77e045cc6d91a25349cd410455cb5c57d510c1c"
+ dependencies = [
+ "anyhow",
+ "bytes",
+@@ -8966,7 +8965,7 @@ dependencies = [
+ "dirs",
+ "dunce",
+ "embed_plist",
+- "getrandom 0.3.4",
++ "getrandom 0.3.3",
+ "glob",
+ "gtk",
+ "heck 0.5.0",
+@@ -9000,6 +8999,7 @@ dependencies = [
+ "tokio",
+ "tray-icon",
+ "url",
++ "urlpattern",
+ "webkit2gtk",
+ "webview2-com",
+ "window-vibrancy",
+@@ -9008,9 +9008,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-build"
+-version = "2.5.1"
++version = "2.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a924b6c50fe83193f0f8b14072afa7c25b7a72752a2a73d9549b463f5fe91a38"
++checksum = "9c432ccc9ff661803dab74c6cd78de11026a578a9307610bbc39d3c55be7943f"
+ dependencies = [
+ "anyhow",
+ "cargo_toml",
+@@ -9032,9 +9032,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-codegen"
+-version = "2.5.0"
++version = "2.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6c1fe64c74cc40f90848281a90058a6db931eb400b60205840e09801ee30f190"
++checksum = "1ab3a62cf2e6253936a8b267c2e95839674e7439f104fa96ad0025e149d54d8a"
+ dependencies = [
+ "base64 0.22.1",
+ "brotli",
+@@ -9048,7 +9048,7 @@ dependencies = [
+ "serde",
+ "serde_json",
+ "sha2",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "tauri-utils",
+ "thiserror 2.0.17",
+ "time",
+@@ -9059,23 +9059,23 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-macros"
+-version = "2.5.0"
++version = "2.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "260c5d2eb036b76206b9fca20b7be3614cfd21046c5396f7959e0e64a4b07f2f"
++checksum = "4368ea8094e7045217edb690f493b55b30caf9f3e61f79b4c24b6db91f07995e"
+ dependencies = [
+ "heck 0.5.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "tauri-codegen",
+ "tauri-utils",
+ ]
+
+ [[package]]
+ name = "tauri-plugin"
+-version = "2.5.1"
++version = "2.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "076c78a474a7247c90cad0b6e87e593c4c620ed4efdb79cbe0214f0021f6c39d"
++checksum = "9946a3cede302eac0c6eb6c6070ac47b1768e326092d32efbb91f21ed58d978f"
+ dependencies = [
+ "anyhow",
+ "glob",
+@@ -9090,9 +9090,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-deep-link"
+-version = "2.4.5"
++version = "2.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6e82759f7c7d51de3cbde51c04b3f2332de52436ed84541182cd8944b04e9e73"
++checksum = "cd67112fb1131834c2a7398ffcba520dbbf62c17de3b10329acd1a3554b1a9bb"
+ dependencies = [
+ "dunce",
+ "plist",
+@@ -9111,9 +9111,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-dialog"
+-version = "2.4.2"
++version = "2.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "313f8138692ddc4a2127c4c9607d616a46f5c042e77b3722450866da0aad2f19"
++checksum = "0beee42a4002bc695550599b011728d9dfabf82f767f134754ed6655e434824e"
+ dependencies = [
+ "log",
+ "raw-window-handle",
+@@ -9129,9 +9129,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-fs"
+-version = "2.4.4"
++version = "2.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "47df422695255ecbe7bac7012440eddaeefd026656171eac9559f5243d3230d9"
++checksum = "315784ec4be45e90a987687bae7235e6be3d6e9e350d2b75c16b8a4bf22c1db7"
+ dependencies = [
+ "anyhow",
+ "dunce",
+@@ -9151,9 +9151,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-http"
+-version = "2.5.4"
++version = "2.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c00685aceab12643cf024f712ab0448ba8fcadf86f2391d49d2e5aa732aacc70"
++checksum = "938a3d7051c9a82b431e3a0f3468f85715b3442b3c3a3913095e9fa509e2652c"
+ dependencies = [
+ "bytes",
+ "cookie_store",
+@@ -9175,9 +9175,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-opener"
+-version = "2.5.2"
++version = "2.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c26b72571d25dee25667940027114e60f569fc3974f8cefbe50c2cbc5fd65e3b"
++checksum = "786156aa8e89e03d271fbd3fe642207da8e65f3c961baa9e2930f332bf80a1f5"
+ dependencies = [
+ "dunce",
+ "glob",
+@@ -9197,9 +9197,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-os"
+-version = "2.3.2"
++version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d8f08346c8deb39e96f86973da0e2d76cbb933d7ac9b750f6dc4daf955a6f997"
++checksum = "77a1c77ebf6f20417ab2a74e8c310820ba52151406d0c80fbcea7df232e3f6ba"
+ dependencies = [
+ "gethostname",
+ "log",
+@@ -9215,9 +9215,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-single-instance"
+-version = "2.3.6"
++version = "2.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dd707f8c86b4e3004e2c141fa24351f1909ba40ce1b8437e30d5ed5277dd3710"
++checksum = "fb9cac815bf11c4a80fb498666bcdad66d65b89e3ae24669e47806febb76389c"
+ dependencies = [
+ "serde",
+ "serde_json",
+@@ -9262,11 +9262,11 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-plugin-window-state"
+-version = "2.4.1"
++version = "2.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "73736611e14142408d15353e21e3cca2f12a3cfb523ad0ce85999b6d2ef1a704"
++checksum = "2d5f6fe3291bfa609c7e0b0ee3bedac294d94c7018934086ce782c1d0f2a468e"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "log",
+ "serde",
+ "serde_json",
+@@ -9277,9 +9277,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-runtime"
+-version = "2.9.1"
++version = "2.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9368f09358496f2229313fccb37682ad116b7f46fa76981efe116994a0628926"
++checksum = "d4cfc9ad45b487d3fded5a4731a567872a4812e9552e3964161b08edabf93846"
+ dependencies = [
+ "cookie 0.18.1",
+ "dpi",
+@@ -9302,9 +9302,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-runtime-wry"
+-version = "2.9.1"
++version = "2.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "929f5df216f5c02a9e894554401bcdab6eec3e39ec6a4a7731c7067fc8688a93"
++checksum = "c1fe9d48bd122ff002064e88cfcd7027090d789c4302714e68fcccba0f4b7807"
+ dependencies = [
+ "gtk",
+ "http 1.3.1",
+@@ -9329,9 +9329,9 @@ dependencies = [
+
+ [[package]]
+ name = "tauri-utils"
+-version = "2.8.0"
++version = "2.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f6b8bbe426abdbf52d050e52ed693130dbd68375b9ad82a3fb17efb4c8d85673"
++checksum = "41a3852fdf9a4f8fbeaa63dc3e9a85284dd6ef7200751f0bd66ceee30c93f212"
+ dependencies = [
+ "anyhow",
+ "brotli",
+@@ -9382,7 +9382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
+ dependencies = [
+ "fastrand 2.3.0",
+- "getrandom 0.3.4",
++ "getrandom 0.3.3",
+ "once_cell",
+ "rustix 1.1.2",
+ "windows-sys 0.61.2",
+@@ -9558,7 +9558,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -9569,7 +9569,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -9589,7 +9589,7 @@ checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f"
+ dependencies = [
+ "fax",
+ "flate2",
+- "half 2.7.1",
++ "half 2.7.0",
+ "quick-error",
+ "weezl",
+ "zune-jpeg",
+@@ -9597,9 +9597,9 @@ dependencies = [
+
+ [[package]]
+ name = "tikv-jemalloc-ctl"
+-version = "0.6.1"
++version = "0.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "661f1f6a57b3a36dc9174a2c10f19513b4866816e13425d3e418b11cc37bc24c"
++checksum = "f21f216790c8df74ce3ab25b534e0718da5a1916719771d3fec23315c99e468b"
+ dependencies = [
+ "libc",
+ "paste",
+@@ -9608,9 +9608,9 @@ dependencies = [
+
+ [[package]]
+ name = "tikv-jemalloc-sys"
+-version = "0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7"
++version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cd8aa5b2ab86a2cefa406d889139c162cbb230092f7d1d7cbc1716405d852a3b"
++checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d"
+ dependencies = [
+ "cc",
+ "libc",
+@@ -9618,9 +9618,9 @@ dependencies = [
+
+ [[package]]
+ name = "tikv-jemallocator"
+-version = "0.6.1"
++version = "0.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0359b4327f954e0567e69fb191cf1436617748813819c94b8cd4a431422d053a"
++checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865"
+ dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+@@ -9668,9 +9668,9 @@ dependencies = [
+
+ [[package]]
+ name = "tinystr"
+-version = "0.8.2"
++version = "0.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869"
++checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
+ dependencies = [
+ "displaydoc",
+ "zerovec",
+@@ -9693,31 +9693,34 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+ [[package]]
+ name = "tokio"
+-version = "1.48.0"
++version = "1.47.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
++checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038"
+ dependencies = [
++ "backtrace",
+ "bytes",
++ "io-uring",
+ "libc",
+ "mio",
+ "parking_lot",
+ "pin-project-lite",
+ "signal-hook-registry",
++ "slab",
+ "socket2 0.6.1",
+ "tokio-macros",
+ "tracing",
+- "windows-sys 0.61.2",
++ "windows-sys 0.59.0",
+ ]
+
+ [[package]]
+ name = "tokio-macros"
+-version = "2.6.0"
++version = "2.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
++checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -9736,7 +9739,7 @@ version = "0.26.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
+ dependencies = [
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "tokio",
+ ]
+
+@@ -9784,7 +9787,7 @@ version = "0.9.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8"
+ dependencies = [
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "serde_core",
+ "serde_spanned 1.0.3",
+ "toml_datetime 0.7.3",
+@@ -9817,7 +9820,7 @@ version = "0.19.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+ dependencies = [
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "toml_datetime 0.6.3",
+ "winnow 0.5.40",
+ ]
+@@ -9828,7 +9831,7 @@ version = "0.20.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+ dependencies = [
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "serde",
+ "serde_spanned 0.6.9",
+ "toml_datetime 0.6.3",
+@@ -9841,7 +9844,7 @@ version = "0.23.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d"
+ dependencies = [
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "toml_datetime 0.7.3",
+ "toml_parser",
+ "winnow 0.7.13",
+@@ -9947,7 +9950,7 @@ version = "0.6.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "bytes",
+ "futures-util",
+ "http 1.3.1",
+@@ -10004,7 +10007,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -10075,9 +10078,9 @@ dependencies = [
+
+ [[package]]
+ name = "tray-icon"
+-version = "0.21.2"
++version = "0.21.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e3d5572781bee8e3f994d7467084e1b1fd7a93ce66bd480f8156ba89dee55a2b"
++checksum = "a0d92153331e7d02ec09137538996a7786fe679c629c279e82a6be762b7e6fe2"
+ dependencies = [
+ "crossbeam-channel",
+ "dirs",
+@@ -10092,7 +10095,7 @@ dependencies = [
+ "png 0.17.16",
+ "serde",
+ "thiserror 2.0.17",
+- "windows-sys 0.60.2",
++ "windows-sys 0.59.0",
+ ]
+
+ [[package]]
+@@ -10113,7 +10116,7 @@ dependencies = [
+ "httparse",
+ "log",
+ "rand 0.9.2",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "rustls-pki-types",
+ "sha1",
+ "thiserror 2.0.17",
+@@ -10213,24 +10216,24 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
+
+ [[package]]
+ name = "unicode-ident"
+-version = "1.0.22"
++version = "1.0.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
++checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
+
+ [[package]]
+ name = "unicode-normalization"
+-version = "0.1.25"
++version = "0.1.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8"
++checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
+ dependencies = [
+ "tinyvec",
+ ]
+
+ [[package]]
+ name = "unicode-properties"
+-version = "0.1.4"
++version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d"
++checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
+
+ [[package]]
+ name = "unicode-segmentation"
+@@ -10277,7 +10280,7 @@ dependencies = [
+ "base64 0.22.1",
+ "log",
+ "percent-encoding",
+- "rustls 0.23.34",
++ "rustls 0.23.32",
+ "rustls-pemfile 2.2.0",
+ "rustls-pki-types",
+ "ureq-proto",
+@@ -10351,7 +10354,7 @@ version = "5.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993"
+ dependencies = [
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "serde",
+ "serde_json",
+ "utoipa-gen",
+@@ -10377,7 +10380,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "regex",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -10420,7 +10423,7 @@ version = "1.18.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2"
+ dependencies = [
+- "getrandom 0.3.4",
++ "getrandom 0.3.3",
+ "js-sys",
+ "rand 0.9.2",
+ "serde",
+@@ -10471,7 +10474,7 @@ dependencies = [
+ "proc-macro-error2",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -10488,9 +10491,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+ [[package]]
+ name = "version-compare"
+-version = "0.2.1"
++version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e"
++checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
+
+ [[package]]
+ name = "version_check"
+@@ -10571,6 +10574,15 @@ version = "0.11.1+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
+
++[[package]]
++name = "wasi"
++version = "0.14.7+wasi-0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c"
++dependencies = [
++ "wasip2",
++]
++
+ [[package]]
+ name = "wasip2"
+ version = "1.0.1+wasi-0.2.4"
+@@ -10588,9 +10600,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
+
+ [[package]]
+ name = "wasm-bindgen"
+-version = "0.2.105"
++version = "0.2.104"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60"
++checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d"
+ dependencies = [
+ "cfg-if",
+ "once_cell",
+@@ -10599,11 +10611,25 @@ dependencies = [
+ "wasm-bindgen-shared",
+ ]
+
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19"
++dependencies = [
++ "bumpalo",
++ "log",
++ "proc-macro2",
++ "quote",
++ "syn 2.0.106",
++ "wasm-bindgen-shared",
++]
++
+ [[package]]
+ name = "wasm-bindgen-futures"
+-version = "0.4.55"
++version = "0.4.54"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0"
++checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c"
+ dependencies = [
+ "cfg-if",
+ "js-sys",
+@@ -10614,9 +10640,9 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-macro"
+-version = "0.2.105"
++version = "0.2.104"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2"
++checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119"
+ dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+@@ -10624,22 +10650,22 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-macro-support"
+-version = "0.2.105"
++version = "0.2.104"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc"
++checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7"
+ dependencies = [
+- "bumpalo",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
++ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-shared"
+-version = "0.2.105"
++version = "0.2.104"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76"
++checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1"
+ dependencies = [
+ "unicode-ident",
+ ]
+@@ -10677,7 +10703,7 @@ version = "0.31.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "rustix 1.1.2",
+ "wayland-backend",
+ "wayland-scanner",
+@@ -10689,7 +10715,7 @@ version = "0.32.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901"
+ dependencies = [
+- "bitflags 2.10.0",
++ "bitflags 2.9.4",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
+@@ -10719,9 +10745,9 @@ dependencies = [
+
+ [[package]]
+ name = "web-sys"
+-version = "0.3.82"
++version = "0.3.81"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1"
++checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120"
+ dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+@@ -10830,7 +10856,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -11002,7 +11028,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -11013,7 +11039,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -11462,15 +11488,15 @@ dependencies = [
+
+ [[package]]
+ name = "writeable"
+-version = "0.6.2"
++version = "0.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
++checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
+
+ [[package]]
+ name = "wry"
+-version = "0.53.5"
++version = "0.53.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2"
++checksum = "6d78ec082b80fa088569a970d043bb3050abaabf4454101d44514ee8d9a8c9f6"
+ dependencies = [
+ "base64 0.22.1",
+ "block2 0.6.2",
+@@ -11553,9 +11579,9 @@ dependencies = [
+
+ [[package]]
+ name = "xml-rs"
+-version = "0.8.28"
++version = "0.8.27"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f"
++checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7"
+
+ [[package]]
+ name = "yaserde"
+@@ -11580,7 +11606,7 @@ dependencies = [
+ "quote",
+ "serde",
+ "serde_tokenstream",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "xml-rs",
+ ]
+
+@@ -11597,10 +11623,11 @@ dependencies = [
+
+ [[package]]
+ name = "yoke"
+-version = "0.8.1"
++version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954"
++checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
+ dependencies = [
++ "serde",
+ "stable_deref_trait",
+ "yoke-derive",
+ "zerofrom",
+@@ -11608,21 +11635,21 @@ dependencies = [
+
+ [[package]]
+ name = "yoke-derive"
+-version = "0.8.1"
++version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
++checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "synstructure",
+ ]
+
+ [[package]]
+ name = "zbus"
+-version = "5.12.0"
++version = "5.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91"
++checksum = "2d07e46d035fb8e375b2ce63ba4e4ff90a7f73cf2ffb0138b29e1158d2eaadf7"
+ dependencies = [
+ "async-broadcast",
+ "async-executor",
+@@ -11645,8 +11672,7 @@ dependencies = [
+ "tokio",
+ "tracing",
+ "uds_windows",
+- "uuid 1.18.1",
+- "windows-sys 0.61.2",
++ "windows-sys 0.60.2",
+ "winnow 0.7.13",
+ "zbus_macros",
+ "zbus_names",
+@@ -11655,14 +11681,14 @@ dependencies = [
+
+ [[package]]
+ name = "zbus_macros"
+-version = "5.12.0"
++version = "5.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314"
++checksum = "57e797a9c847ed3ccc5b6254e8bcce056494b375b511b3d6edcec0aeb4defaca"
+ dependencies = [
+ "proc-macro-crate 3.4.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "zbus_names",
+ "zvariant",
+ "zvariant_utils",
+@@ -11697,7 +11723,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -11717,7 +11743,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "synstructure",
+ ]
+
+@@ -11729,9 +11755,9 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
+
+ [[package]]
+ name = "zerotrie"
+-version = "0.2.3"
++version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851"
++checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
+ dependencies = [
+ "displaydoc",
+ "yoke",
+@@ -11740,9 +11766,9 @@ dependencies = [
+
+ [[package]]
+ name = "zerovec"
+-version = "0.11.5"
++version = "0.11.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002"
++checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
+ dependencies = [
+ "yoke",
+ "zerofrom",
+@@ -11751,13 +11777,13 @@ dependencies = [
+
+ [[package]]
+ name = "zerovec-derive"
+-version = "0.11.2"
++version = "0.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
++checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ ]
+
+ [[package]]
+@@ -11769,7 +11795,7 @@ dependencies = [
+ "arbitrary",
+ "crc32fast",
+ "flate2",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "memchr",
+ "zopfli",
+ ]
+@@ -11782,7 +11808,7 @@ checksum = "caa8cd6af31c3b31c6631b8f483848b91589021b28fffe50adada48d4f4d2ed1"
+ dependencies = [
+ "arbitrary",
+ "crc32fast",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "memchr",
+ ]
+
+@@ -11797,7 +11823,7 @@ dependencies = [
+ "crc32fast",
+ "deflate64",
+ "flate2",
+- "indexmap 2.12.0",
++ "indexmap 2.11.4",
+ "memchr",
+ "zopfli",
+ "zstd",
+@@ -11811,9 +11837,9 @@ checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2"
+
+ [[package]]
+ name = "zopfli"
+-version = "0.8.3"
++version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249"
++checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7"
+ dependencies = [
+ "bumpalo",
+ "crc32fast",
+@@ -11875,9 +11901,9 @@ dependencies = [
+
+ [[package]]
+ name = "zvariant"
+-version = "5.8.0"
++version = "5.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c"
++checksum = "999dd3be73c52b1fccd109a4a81e4fcd20fab1d3599c8121b38d04e1419498db"
+ dependencies = [
+ "endi",
+ "enumflags2",
+@@ -11890,14 +11916,14 @@ dependencies = [
+
+ [[package]]
+ name = "zvariant_derive"
+-version = "5.8.0"
++version = "5.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006"
++checksum = "6643fd0b26a46d226bd90d3f07c1b5321fe9bb7f04673cb37ac6d6883885b68e"
+ dependencies = [
+ "proc-macro-crate 3.4.0",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "zvariant_utils",
+ ]
+
+@@ -11910,7 +11936,7 @@ dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde",
+- "syn 2.0.108",
++ "syn 2.0.106",
+ "winnow 0.7.13",
+ ]
+
+diff --git a/README.md b/README.md
+index 6bd709c34..74def556e 100644
+--- a/README.md
++++ b/README.md
+@@ -1,125 +1,39 @@
+-# 📘 Navigation
++# 
+
+-- [🔧 Install Instructions](#install-instructions)
+-- [✨ Features](#features)
+-- [🚀 Getting Started](#getting-started)
+-- [⚠️ Disclaimer](#disclaimer)
+-- [💰 Donate](#support-our-project-crypto-wallets)
++
++
++
++
++
++
+
+-## Other languages
+-> [Русский](readme/ru_ru/README.md)
++## Modrinth Monorepo
+
+-## Support channel
+-> [Telegram](https://me.astralium.su/ref/telegram_channel)
++Welcome to the Modrinth Monorepo, the primary codebase for the Modrinth web interface and app. It contains  lines of code and has  contributors!
+
+----
++If you're not a developer and you've stumbled upon this repository, you can access the web interface on the [Modrinth website](https://modrinth.com) and download the latest release of the app [here](https://modrinth.com/app).
+
+-# About Project
++## Development
+
+-## **AstralRinth • Empowering Your Minecraft Adventure**
++This repository contains two primary packages. For detailed development information, please refer to their respective READMEs:
+
+-Welcome to **AstralRinth (AR)** — a powerful fork of Modrinth, reimagined to enhance your Minecraft journey. Whether you're a GUI enthusiast or a developer building with Modrinth’s API, **Theseus Core** is your launchpad into a new era of Minecraft gameplay.
++- [Web Interface](apps/frontend/README.md)
++- [Desktop App](apps/app/README.md)
+
+-- *Recently, improved integration with the Git Astralium API has been added.*
++## Contributing
+
+-## **About the Software**
++We welcome contributions! Before submitting any contributions, please read our [contributing guidelines](https://docs.modrinth.com/contributing/getting-started/).
+
+-**AstralRinth** is a dedicated branch of the Theseus project, focused on **offline authentication**, offering you more flexibility and control. Play Minecraft without the need for constant online verification — a user-first approach to modern modded gaming.
++If you plan to fork this repository for your own purposes, please review our [copying guidelines](COPYING.md).
+
+-## **AR • Unlocking Minecraft's Boundless Horizon**
++## Security
+
+-This unique fork introduces a **free trial Minecraft experience**, bypassing license checks while maintaining rich functionality. Currently includes:
++If you discover a security vulnerability within our codebase, please follow our [responsible disclosure guidelines](https://modrinth.com/legal/security).
+
+----
++## Support
+
+-# Install Instructions
++If you need help with the Modrinth web interface or app, please visit our [support page](https://support.modrinth.com). For general inquiries, you can also join our [Discord server](https://discord.modrinth.com).
+
+-To install the launcher:
++## License
+
+-1. Visit the [releases page](https://git.astralium.su/didirus/AstralRinth/releases) to download the correct version for your system.
+-2. Run the downloaded file or extract and launch it, depending on the format.
+-
+-### Downloadable File Extensions
+-
+-| Extension | OS | Notes |
+-| --------- | ------- | --------------------------------------------------------------------- |
+-| `.msi` | Windows | Supported on all recent Windows versions |
+-| `.dmg` | macOS | Works on Ventura, Sonoma, Sequoia _(may also support older versions)_ |
+-| `.deb` | Linux | Basic support; compatibility may vary by distribution |
+-
+-### Installation Warnings
+-
+-Avoid using builds with these prefixes — they may be unstable or experimental:
+-
+-- `dev`
+-- `nightly`
+-- `dirty`
+-- `dirty-dev`
+-- `dirty-nightly`
+-- `dirty_dev`
+-- `dirty_nightly`
+-
+----
+-
+-# Features
+-
+-> _The launcher provides an opportunity to use the well-known Modrinth, but with an improved user experience._
+-
+-## Included exclusive features
+-
+-- No ads in the entire launcher.
+-- Custom `.svg` vector icons for a distinct UI.
+-- Improved compatibility with both licensed and pirate accounts.
+- - Use **official microsoft accounts** or **offline/pirate accounts** — login won't break.
+- - Supports license-free access for testing or personal use.
+- - No dependence on official authentication services.
+-- Discord Rich Presence integration:
+- - Dynamic status messages.
+- - In-game timer and AFK counter.
+-- Strict disabling of statistics and other Modrinth metrics.
+-- Optimized archive/package size.
+-- Integrated update fetcher for seamless version management.
+- - Built-in update alerts for new versions posted on Git Astralium.
+- - Automatic download and installation capabilities.
+-- Database migration fixes, when error occurred (Interactive Mode) (Modrinth issue)
+-- Ely.by full integration
+- - The official account skin system is managed by ely.by
+- - Offline accounts must install AuthLib through the instance settings
+-
+----
+-
+-# Getting Started
+-
+-To begin using AstralRinth:
+-
+-1. **Download Your OS Version**
+-
+- - Go to the [releases page](https://git.astralium.su/didirus/AstralRinth/releases)
+- - [How to choose a file](#downloadable-file-extensions)
+- - [How to choose a release](#installation-warnings)
+-
+-2. **Log In**
+-
+- - Use your official Mojang/Microsoft account, or test using a non-licensed account.
+-
+-3. **Launch Minecraft**
+- - Start Minecraft from the launcher.
+- - The launcher will auto-detect the recommended JVM version.
+- - You can also configure Java manually in the settings.
+-
+----
+-
+-# Disclaimer
+-
+-- **AstralRinth** is intended **solely for educational and experimental use**.
+-- We **do not condone piracy** — users are encouraged to purchase a legitimate Minecraft license.
+-- Respect all relevant licensing agreements and support Minecraft developers.
+-
+----
+-
+-# Support Our Project (Crypto Wallets)
+-
+-If you'd like to support development, you can donate via the following crypto wallets:
+-
+-- Toncoin (TON): UQA5pGOJhIz9UAVEOh5t2ur1QVbNr_FC1eq9bOb3GwTgaiqk
+-- USDT (TON): UQA5pGOJhIz9UAVEOh5t2ur1QVbNr_FC1eq9bOb3GwTgaiqk
++All packages in this repository are licensed under their respective licenses. Refer to the LICENSE file in each package for more information.
+diff --git a/apps/app-frontend/index.html b/apps/app-frontend/index.html
+index 876739c33..50867a419 100644
+--- a/apps/app-frontend/index.html
++++ b/apps/app-frontend/index.html
+@@ -4,7 +4,7 @@
+
+
+
+-
AstralRinth App
++ Modrinth App
+
+
+
+diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue
+index e70f31776..e281beb6e 100644
+--- a/apps/app-frontend/src/App.vue
++++ b/apps/app-frontend/src/App.vue
+@@ -32,7 +32,7 @@ import {
+ NotificationPanel,
+ OverflowMenu,
+ ProgressSpinner,
+- provideNotificationManager
++ provideNotificationManager,
+ } from '@modrinth/ui'
+ import { renderString } from '@modrinth/utils'
+ import { getVersion } from '@tauri-apps/api/app'
+@@ -43,9 +43,10 @@ import { type } from '@tauri-apps/plugin-os'
+ import { saveWindowState, StateFlags } from '@tauri-apps/plugin-window-state'
+ import { defineMessages, useVIntl } from '@vintl/vintl'
+ import { $fetch } from 'ofetch'
+-import { computed, onMounted, onUnmounted, provide, ref } from 'vue'
++import { computed, onMounted, onUnmounted, provide, ref, watch } from 'vue'
+ import { RouterView, useRoute, useRouter } from 'vue-router'
+
++import ModrinthAppLogo from '@/assets/modrinth_app.svg?component'
+ import ModrinthLoadingIndicator from '@/components/LoadingIndicatorBar.vue'
+ import AccountsCard from '@/components/ui/AccountsCard.vue'
+ import Breadcrumbs from '@/components/ui/Breadcrumbs.vue'
+@@ -58,12 +59,15 @@ import InstanceCreationModal from '@/components/ui/InstanceCreationModal.vue'
+ import AppSettingsModal from '@/components/ui/modal/AppSettingsModal.vue'
+ import AuthGrantFlowWaitModal from '@/components/ui/modal/AuthGrantFlowWaitModal.vue'
+ import NavButton from '@/components/ui/NavButton.vue'
++import PromotionWrapper from '@/components/ui/PromotionWrapper.vue'
+ import QuickInstanceSwitcher from '@/components/ui/QuickInstanceSwitcher.vue'
+ import RunningAppBar from '@/components/ui/RunningAppBar.vue'
+ import SplashScreen from '@/components/ui/SplashScreen.vue'
++import UpdateToast from '@/components/ui/UpdateToast.vue'
+ import URLConfirmModal from '@/components/ui/URLConfirmModal.vue'
+ import { useCheckDisableMouseover } from '@/composables/macCssFix.js'
+-import { debugAnalytics, optOutAnalytics, trackEvent } from '@/helpers/analytics'
++import { hide_ads_window, init_ads_window, show_ads_window } from '@/helpers/ads.js'
++import { debugAnalytics, initAnalytics, optOutAnalytics, trackEvent } from '@/helpers/analytics'
+ import { get_user } from '@/helpers/cache.js'
+ import { command_listener, warning_listener } from '@/helpers/events.js'
+ import { useFetch } from '@/helpers/fetch.js'
+@@ -72,11 +76,16 @@ import { list } from '@/helpers/profile.js'
+ import { get as getSettings, set as setSettings } from '@/helpers/settings.ts'
+ import { get_opening_command, initialize_state } from '@/helpers/state'
+ import {
++ areUpdatesEnabled,
++ enqueueUpdateForInstallation,
+ getOS,
+- isDev
++ getUpdateSize,
++ isDev,
++ isNetworkMetered,
+ } from '@/helpers/utils.js'
+ import {
+- provideAppUpdateDownloadProgress
++ provideAppUpdateDownloadProgress,
++ subscribeToDownloadProgress,
+ } from '@/providers/download-progress.ts'
+ import { useError } from '@/store/error.js'
+ import { useInstall } from '@/store/install.js'
+@@ -87,10 +96,6 @@ import { generateSkinPreviews } from './helpers/rendering/batch-skin-renderer'
+ import { get_available_capes, get_available_skins } from './helpers/skins'
+ import { AppNotificationManager } from './providers/app-notifications'
+
+-// [AR] Imports
+-import { get, set } from '@/helpers/settings.ts'
+-import { getRemote, updateState } from '@/helpers/update.js'
+-
+ const themeStore = useTheming()
+
+ const notificationManager = new AppNotificationManager()
+@@ -123,15 +128,18 @@ const isMaximized = ref(false)
+
+ onMounted(async () => {
+ await useCheckDisableMouseover()
+- await getRemote(false) // [AR] Check for updates
+
+ document.querySelector('body').addEventListener('click', handleClick)
+ document.querySelector('body').addEventListener('auxclick', handleAuxClick)
++
++ checkUpdates()
+ })
+
+ onUnmounted(async () => {
+ document.querySelector('body').removeEventListener('click', handleClick)
+ document.querySelector('body').removeEventListener('auxclick', handleAuxClick)
++
++ await unlistenUpdateDownload?.()
+ })
+
+ const { formatMessage } = useVIntl()
+@@ -159,18 +167,11 @@ const messages = defineMessages({
+ })
+
+ async function setupApp() {
+- // [AR] Patched
+- const settings = await get()
+- settings.personalized_ads = false
+- settings.telemetry = false
+- await set(settings)
+-
+ stateInitialized.value = true
+ const {
+ native_decorations,
+ theme,
+ telemetry,
+- personalized_ads,
+ collapsed_navigation,
+ advanced_rendering,
+ onboarded,
+@@ -206,14 +207,10 @@ async function setupApp() {
+ isMaximized.value = await getCurrentWindow().isMaximized()
+ })
+
+- // [AR] Patched
++ initAnalytics()
+ if (!telemetry) {
+- console.info("[AR] • Telemetry disabled by default (Hard patched).")
+- optOutAnalytics()
+- }
+- if (!personalized_ads) {
+- console.info("[AR] • Personalized ads disabled by default (Hard patched).")
+- }
++ optOutAnalytics()
++ }
+ if (dev) debugAnalytics()
+ trackEvent('Launched', { version, dev, onboarded })
+
+@@ -386,6 +383,19 @@ const forceSidebar = computed(
+ () => route.path.startsWith('/browse') || route.path.startsWith('/project'),
+ )
+ const sidebarVisible = computed(() => sidebarToggled.value || forceSidebar.value)
++const showAd = computed(() => !(!sidebarVisible.value || hasPlus.value))
++
++watch(
++ showAd,
++ () => {
++ if (!showAd.value) {
++ hide_ads_window(true)
++ } else {
++ init_ads_window(true)
++ }
++ },
++ { immediate: true },
++)
+
+ onMounted(() => {
+ invoke('show_window')
+@@ -422,6 +432,108 @@ const appUpdateDownload = {
+ progress: ref(0),
+ version: ref(),
+ }
++let unlistenUpdateDownload
++
++const downloadProgress = computed(() => appUpdateDownload.progress.value)
++const downloadPercent = computed(() => Math.trunc(appUpdateDownload.progress.value * 100))
++
++const metered = ref(true)
++const finishedDownloading = ref(false)
++const restarting = ref(false)
++const updateToastDismissed = ref(false)
++const availableUpdate = ref(null)
++const updateSize = ref(null)
++async function checkUpdates() {
++ if (!(await areUpdatesEnabled())) {
++ console.log('Skipping update check as updates are disabled in this build or environment')
++ return
++ }
++
++ async function performCheck() {
++ const update = await invoke('plugin:updater|check')
++ const isExistingUpdate = update.version === availableUpdate.value?.version
++
++ if (!update) {
++ console.log('No update available')
++ return
++ }
++
++ if (isExistingUpdate) {
++ console.log('Update is already known')
++ return
++ }
++
++ appUpdateDownload.progress.value = 0
++ finishedDownloading.value = false
++ updateToastDismissed.value = false
++
++ console.log(`Update ${update.version} is available.`)
++
++ metered.value = await isNetworkMetered()
++ if (!metered.value) {
++ console.log('Starting download of update')
++ downloadUpdate(update)
++ } else {
++ console.log(`Metered connection detected, not auto-downloading update.`)
++ }
++
++ getUpdateSize(update.rid).then((size) => (updateSize.value = size))
++
++ availableUpdate.value = update
++ }
++
++ await performCheck()
++ setTimeout(
++ () => {
++ checkUpdates()
++ },
++ 5 /* min */ * 60 /* sec */ * 1000 /* ms */,
++ )
++}
++
++async function showUpdateToast() {
++ updateToastDismissed.value = false
++}
++
++async function downloadAvailableUpdate() {
++ return downloadUpdate(availableUpdate.value)
++}
++
++async function downloadUpdate(versionToDownload) {
++ if (!versionToDownload) {
++ handleError(`Failed to download update: no version available`)
++ }
++
++ if (appUpdateDownload.progress.value !== 0) {
++ console.error(`Update ${versionToDownload.version} already downloading`)
++ return
++ }
++
++ console.log(`Downloading update ${versionToDownload.version}`)
++
++ try {
++ enqueueUpdateForInstallation(versionToDownload.rid).then(() => {
++ finishedDownloading.value = true
++ unlistenUpdateDownload?.().then(() => {
++ unlistenUpdateDownload = null
++ })
++ console.log('Finished downloading!')
++ })
++ unlistenUpdateDownload = await subscribeToDownloadProgress(
++ appUpdateDownload,
++ versionToDownload.version,
++ )
++ } catch (e) {
++ handleError(e)
++ }
++}
++
++async function installUpdate() {
++ restarting.value = true
++ setTimeout(async () => {
++ await handleClose()
++ }, 250)
++}
+
+ function handleClick(e) {
+ let target = e.target
+@@ -496,20 +608,24 @@ async function openSurvey() {
+ onOpen: () => console.info('Opened user survey'),
+ onClose: () => {
+ console.info('Closed user survey')
++ show_ads_window()
+ },
+ onSubmit: () => console.info('Active user survey submitted'),
+ }
+
+ try {
++ hide_ads_window()
+ if (window.Tally?.openPopup) {
+ console.info(`Opening Tally popup for user survey (form ID: ${formId})`)
+ dismissSurvey()
+ window.Tally.openPopup(formId, popupOptions)
+ } else {
+ console.warn('Tally script not yet loaded')
++ show_ads_window()
+ }
+ } catch (e) {
+ console.error('Error opening Tally popup:', e)
++ show_ads_window()
+ }
+
+ console.info(`Found user survey to show with tally_id: ${formId}`)
+@@ -564,13 +680,46 @@ async function processPendingSurveys() {
+ }
+ }
+
+-provideAppUpdateDownloadProgress(appUpdateDownload) // [AR Note] If delete this shit line -> SettingsModal will not work.
++provideAppUpdateDownloadProgress(appUpdateDownload)
+
+
+
+
+
+
++
++
++
++
++
++
++
++
++
++ Restarting...
++
++
++
+
+
+
+@@ -664,21 +813,12 @@ provideAppUpdateDownloadProgress(appUpdateDownload) // [AR Note] If delete this
+
+
+
+-
+-
+-
+-
+-
+-
+-
++ :to="() => $refs.settingsModal.show()"
++ >
+
+-
+-
++
+
+
+
+
+@@ -894,8 +1045,6 @@ provideAppUpdateDownloadProgress(appUpdateDownload) // [AR Note] If delete this
+
+
+
+diff --git a/apps/app-frontend/src/components/ui/ErrorModal.vue b/apps/app-frontend/src/components/ui/ErrorModal.vue
+index 1636ce4af..17a9dffc7 100644
+--- a/apps/app-frontend/src/components/ui/ErrorModal.vue
++++ b/apps/app-frontend/src/components/ui/ErrorModal.vue
+@@ -19,18 +19,12 @@ import { install } from '@/helpers/profile.js'
+ import { cancel_directory_change } from '@/helpers/settings.ts'
+ import { handleSevereError } from '@/store/error.js'
+
+-// [AR] Imports
+-import { applyMigrationFix } from '@/helpers/utils.js'
+-import { restartApp } from '@/helpers/utils.js'
+-
+ const { handleError } = injectNotificationManager()
+
+ const errorModal = ref()
+ const error = ref()
+ const closable = ref(true)
+ const errorCollapsed = ref(false)
+-const migrationFixSuccess = ref(null) // null | true | false
+-const migrationFixCallbackModel = ref()
+
+ const title = ref('An error occurred')
+ const errorType = ref('unknown')
+@@ -78,7 +72,7 @@ defineExpose({
+ supportLink.value = 'https://support.modrinth.com'
+ metadata.value.profilePath = context.profilePath
+ } else if (source === 'state_init') {
+- title.value = 'Error initializing AstralRinth App'
++ title.value = 'Error initializing Modrinth App'
+ errorType.value = 'state_init'
+ supportLink.value = 'https://support.modrinth.com'
+ } else {
+@@ -156,26 +150,6 @@ async function copyToClipboard(text) {
+ copied.value = false
+ }, 3000)
+ }
+-
+-async function onApplyMigrationFix(eol) {
+- console.log(`[AR] • Attempting to apply migration ${eol.toUpperCase()} fix`)
+- try {
+- const result = await applyMigrationFix(eol)
+- migrationFixSuccess.value = result === true
+- console.log(`[AR] • Successfully applied migration ${eol.toUpperCase()} fix`, result)
+- } catch (err) {
+- console.error(`[AR] • Failed to apply migration fix:`, err)
+- migrationFixSuccess.value = false
+- } finally {
+- migrationFixCallbackModel.value?.show?.()
+- if (migrationFixSuccess.value === true) {
+- setTimeout(async () => {
+- await restartApp()
+- }, 3000)
+- }
+- }
+-}
+-
+
+
+
+@@ -186,7 +160,7 @@ async function onApplyMigrationFix(eol) {
+
+ Network issues
+
+- It looks like there were issues with the AstralRinth App connecting to Microsoft's
++ It looks like there were issues with the Modrinth App connecting to Microsoft's
+ servers. This is often the result of a poor connection, so we recommend trying again
+ to see if it works. If issues continue to persist, follow the steps in
+
+ Network issues
+
+- The AstralRinth App tried to connect to Microsoft / Xbox / Minecraft services, but the
++ The Modrinth App tried to connect to Microsoft / Xbox / Minecraft services, but the
+ remote server rejected the connection. This may indicate that these services are
+ blocked by the hosts file. Please visit
+
+ Change directory permissions
+
+- It looks like the AstralRinth App is unable to write to the directory you selected.
++ It looks like the Modrinth App is unable to write to the directory you selected.
+ Please adjust the permissions of the directory and try again or cancel the directory
+ change.
+
+@@ -253,7 +227,7 @@ async function onApplyMigrationFix(eol) {
+
+
+
+- The AstralRinth App is unable to migrate to the new directory you selected. Please
++ The Modrinth App is unable to migrate to the new directory you selected. Please
+ contact support for help or cancel the directory change.
+
+
+@@ -283,7 +257,7 @@ async function onApplyMigrationFix(eol) {
+
+
+
+- AstralRinth App failed to load correctly. This may be because of a corrupted file, or
++ Modrinth App failed to load correctly. This may be because of a corrupted file, or
+ because the app is missing crucial files.
+
+ You may be able to fix it through one of the following ways:
+@@ -293,7 +267,7 @@ async function onApplyMigrationFix(eol) {
+
+
+
+- The AstralRinth App failed to find the loader version for this instance.
++ The Modrinth App failed to find the loader version for this instance.
+ To resolve this, you need to repair the instance. Click the button below to do so.
+
+-
+- ⚠️ Migration Issue • Important Notice
+- We've detected a problem with our database migration system caused by inconsistent line endings between operating systems (Windows vs. macOS/Linux). This may affect app stability.
+- What’s happening? Our migration validator misreads modified migrations when line endings differ (CRLF ↔ LF), which can make the app unusable.
+- Why? Git’s automatic line-ending conversions and OS differences can cause these inconsistencies during builds.
+- What’s next? We’re working on a permanent fix. In the meantime, you can apply one of the quick fixes below depending on your system.
+- Do I need to apply a fix now?
+-
+-
+- If you're encountering an error while applying migrations, such as "Error while applying migrations: migration XXXXXXXXXX was previously applied but has been modified", or a similar issue with migration, the following actions might help:
+-
+-
If none of the above steps help, you can try saving a copy of the file app.db to a safe location, such as %appdata%\Roaming\AstralRinthApp
+- on Windows or ~/Library/Application Support/AstralRinthApp on macOS, then deleting the original file and letting the app re-create the database file.
+- Note that this may cause data loss inside the app, so make sure to back up your launcher data before applying this fixes.
+-
+-
+-
+-
+-
+-
+-
+- Apply fix for Unix like systems (Debian, Ubuntu, macOS and others)
+-
+-
+-
+-
+-
+-
+- Apply fix for Windows
+-
+-
+-
+-
+-
+-
+
+
+
+-
+-
+-
+-
+-
+- ✅ The migration fix has been applied successfully. Please restart the launcher and try to log in to the game :)
+-
+-
+- If the problem persists, please try the other fix.
+-
+-
+-
+-
+-
+- ❌ The migration fix failed or had no effect.
+-
+-
+- If the problem persists, please try the other fix.
+-
+-
+-
+-
+-
+
+
+
+
+
+diff --git a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue
+index ec6806fc0..72474057c 100644
+--- a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue
++++ b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue
+@@ -25,7 +25,6 @@ import {
+ type Project,
+ type Version,
+ } from '@modrinth/utils'
+-import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue'
+ import { defineMessages, useVIntl } from '@vintl/vintl'
+ import dayjs from 'dayjs'
+ import { computed, type ComputedRef, type Ref, ref, shallowRef, watch } from 'vue'
+@@ -44,11 +43,6 @@ import type {
+ ManifestLoaderVersion,
+ } from '../../../helpers/types'
+
+-import { initAuthlibPatching } from '@/helpers/utils.js'
+-const authLibPatchingModal = ref(null)
+-const isAuthLibPatchedSuccess = ref(false)
+-const isAuthLibPatching = ref(false)
+-
+ const { handleError } = injectNotificationManager()
+ const { formatMessage } = useVIntl()
+
+@@ -462,43 +456,9 @@ const messages = defineMessages({
+ defaultMessage: 'reinstall',
+ },
+ })
+-
+-async function handleInitAuthLibPatching(ismojang: boolean) {
+- isAuthLibPatching.value = true
+- let state = false
+- let instance_path = props.instance.loader_version != null ? props.instance.game_version + "-" + props.instance.loader_version : props.instance.game_version
+- try {
+- state = await initAuthlibPatching(instance_path, ismojang)
+- } catch (err) {
+- console.error(err)
+- }
+- isAuthLibPatching.value = false
+- isAuthLibPatchedSuccess.value = state
+- authLibPatchingModal.value.show()
+-}
+
+
+
+-
+-
+-
+-
+-
+- AuthLib installation completed successfully! Now you can log in and play!
+-
+-
+- Failed to install AuthLib. It's possible that no compatible AuthLib version was found for the selected game and/or mod loader version.
+- There may also be a problem with accessing resources behind CloudFlare.
+-
+-
+-
+-
+-
+
+
+
+-
+-
+-
+-
+- Install Microsoft
+-
+-
+-
+-
+- Install Ely.By
+-
+-
+-
+
+
+
+@@ -862,9 +804,3 @@ async function handleInitAuthLibPatching(ismojang: boolean) {
+
+
+
+-
+-
+diff --git a/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue b/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue
+index c4dbed402..932540de9 100644
+--- a/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue
++++ b/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue
+@@ -3,9 +3,7 @@ import {
+ CoffeeIcon,
+ GameIcon,
+ GaugeIcon,
+- AstralRinthLogo,
+- DownloadIcon,
+- SpinnerIcon,
++ ModrinthIcon,
+ PaintbrushIcon,
+ ReportIcon,
+ SettingsIcon,
+@@ -25,24 +23,6 @@ import JavaSettings from '@/components/ui/settings/JavaSettings.vue'
+ import PrivacySettings from '@/components/ui/settings/PrivacySettings.vue'
+ import ResourceManagementSettings from '@/components/ui/settings/ResourceManagementSettings.vue'
+ import { get, set } from '@/helpers/settings.ts'
+-
+-// [AR] Imports
+-import { installState, getRemote, updateState } from '@/helpers/update.js'
+-
+-const updateModalView = ref(null)
+-const updateRequestFailView = ref(null)
+-
+-const initUpdateModal = async () => {
+- updateModalView.value.show()
+-}
+-
+-const initDownload = async () => {
+- updateModalView.value.hide()
+- const result = await getRemote(true);
+- if (!result) {
+- updateRequestFailView.value.show()
+- }
+-}
+ import { injectAppUpdateDownloadProgress } from '@/providers/download-progress.ts'
+ import { useTheming } from '@/store/state'
+
+@@ -185,103 +165,19 @@ const messages = defineMessages({
+ }"
+ @click="devModeCount"
+ >
+-
++
+
+
+-
AstralRinth App {{ version }}
++
Modrinth App {{ version }}
+
+ macOS
+ {{ osPlatform }}
+ {{ osVersion }}
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+
+
+-
+-
+-
+-
+-
The new version of the AstralRinth launcher is available!
+-
Your version is outdated. We recommend that you update to the latest version.
+-
+-
+-
⚠️ Please, read this notice before initialize update process
+-
+- Before updating, make sure that you have saved and closed all running instances and made a backup copy of the launcher data such as
+- %appdata%\Roaming\AstralRinthApp on Windows or ~/Library/Application Support/AstralRinthApp on macOS.
+- Remember that the authors of the product are not responsible for the breakdown of
+- your files, so you should always make back up copies of them and keep them in a safe place.
+-
+-
+-
+-
+- ☁️ Latest release tag:
+-
+-
+- ☁️ Latest release title:
+-
+-
+- 💾 Installed & Running version:
+- v{{ version }}
+-
+-
+-
+- Checkout our git repository
+-
+-
+- Cancel
+- Download file
+-
+-
+-
+-
+-
+-
+-
Error occurred
+-
Unfortunately, the program was unable to download the file from our servers.
+-
+- Please try downloading it yourself from
+- Git
+- Astralium
+- if there are any updates available.
+-
+-
+-
+-
+-
+- Local AstralRinth:
+- v{{ version }}
+-
+-
+-
+-
+- Close
+-
+-
+-
+
+
+-
+-
+diff --git a/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue b/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue
+index fbae0e7d0..06e23d2e8 100644
+--- a/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue
++++ b/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue
+@@ -2,7 +2,7 @@
+ import { ConfirmModal } from '@modrinth/ui'
+ import { ref } from 'vue'
+
+-// import { hide_ads_window, show_ads_window } from '@/helpers/ads.js'
++import { hide_ads_window, show_ads_window } from '@/helpers/ads.js'
+ import { useTheming } from '@/store/theme.ts'
+
+ const themeStore = useTheming()
+@@ -38,10 +38,10 @@ const props = defineProps({
+ type: Boolean,
+ default: true,
+ },
+- // showAdOnClose: {
+- // type: Boolean,
+- // default: true,
+- // },
++ showAdOnClose: {
++ type: Boolean,
++ default: true,
++ },
+ markdown: {
+ type: Boolean,
+ default: true,
+@@ -53,7 +53,7 @@ const modal = ref(null)
+
+ defineExpose({
+ show: () => {
+- // hide_ads_window()
++ hide_ads_window()
+ modal.value.show()
+ },
+ hide: () => {
+@@ -62,11 +62,11 @@ defineExpose({
+ },
+ })
+
+-// function onModalHide() {
+-// if (props.showAdOnClose) {
+-// show_ads_window()
+-// }
+-// }
++function onModalHide() {
++ if (props.showAdOnClose) {
++ show_ads_window()
++ }
++}
+
+ function proceed() {
+ emit('proceed')
+diff --git a/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue b/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue
+index ce19cd5db..8f1f3db3f 100644
+--- a/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue
++++ b/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue
+@@ -2,7 +2,7 @@
+ import { NewModal as Modal } from '@modrinth/ui'
+ import { useTemplateRef } from 'vue'
+
+-// import { hide_ads_window, show_ads_window } from '@/helpers/ads.js'
++import { hide_ads_window, show_ads_window } from '@/helpers/ads.js'
+ import { useTheming } from '@/store/theme.ts'
+
+ const themeStore = useTheming()
+@@ -26,16 +26,16 @@ const props = defineProps({
+ return () => {}
+ },
+ },
+- // showAdOnClose: {
+- // type: Boolean,
+- // default: true,
+- // },
++ showAdOnClose: {
++ type: Boolean,
++ default: true,
++ },
+ })
+ const modal = useTemplateRef('modal')
+
+ defineExpose({
+ show: (e: MouseEvent) => {
+- // hide_ads_window()
++ hide_ads_window()
+ modal.value?.show(e)
+ },
+ hide: () => {
+@@ -45,9 +45,9 @@ defineExpose({
+ })
+
+ function onModalHide() {
+- // if (props.showAdOnClose) {
+- // show_ads_window()
+- // }
++ if (props.showAdOnClose) {
++ show_ads_window()
++ }
+ props.onHide?.()
+ }
+
+diff --git a/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue b/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue
+index aefea372e..9358ee908 100644
+--- a/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue
++++ b/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue
+@@ -2,7 +2,7 @@
+ import { ShareModal } from '@modrinth/ui'
+ import { ref } from 'vue'
+
+-// import { hide_ads_window, show_ads_window } from '@/helpers/ads.js'
++import { hide_ads_window, show_ads_window } from '@/helpers/ads.js'
+ import { useTheming } from '@/store/theme.ts'
+
+ const themeStore = useTheming()
+@@ -34,7 +34,7 @@ const modal = ref(null)
+
+ defineExpose({
+ show: (passedContent) => {
+- // hide_ads_window()
++ hide_ads_window()
+ modal.value.show(passedContent)
+ },
+ hide: () => {
+@@ -43,9 +43,9 @@ defineExpose({
+ },
+ })
+
+-// function onModalHide() {
+-// show_ads_window()
+-// }
++function onModalHide() {
++ show_ads_window()
++}
+
+
+
+diff --git a/apps/app-frontend/src/components/ui/settings/PrivacySettings.vue b/apps/app-frontend/src/components/ui/settings/PrivacySettings.vue
+index c69f23e5c..635b3f5ca 100644
+--- a/apps/app-frontend/src/components/ui/settings/PrivacySettings.vue
++++ b/apps/app-frontend/src/components/ui/settings/PrivacySettings.vue
+@@ -31,8 +31,7 @@ watch(
+ option, you opt out and ads will no longer be shown based on your interests.
+
+
+-
+-
++
+
+
+
+@@ -44,8 +43,7 @@ watch(
+ longer be collected.
+
+
+-
+-
++
+
+
+
+diff --git a/apps/app-frontend/src/helpers/ads.js b/apps/app-frontend/src/helpers/ads.js
+new file mode 100644
+index 000000000..46f1500ef
+--- /dev/null
++++ b/apps/app-frontend/src/helpers/ads.js
+@@ -0,0 +1,24 @@
++import { invoke } from '@tauri-apps/api/core'
++
++export async function init_ads_window(overrideShown = false) {
++ return await invoke('plugin:ads|init_ads_window', {
++ overrideShown,
++ dpr: window.devicePixelRatio,
++ })
++}
++
++export async function show_ads_window() {
++ return await invoke('plugin:ads|show_ads_window', { dpr: window.devicePixelRatio })
++}
++
++export async function hide_ads_window(reset) {
++ return await invoke('plugin:ads|hide_ads_window', { reset })
++}
++
++export async function record_ads_click() {
++ return await invoke('plugin:ads|record_ads_click')
++}
++
++export async function open_ads_link(path, origin) {
++ return await invoke('plugin:ads|open_link', { path, origin })
++}
+diff --git a/apps/app-frontend/src/helpers/analytics.js b/apps/app-frontend/src/helpers/analytics.js
+index 76c3d0911..61b9de234 100644
+--- a/apps/app-frontend/src/helpers/analytics.js
++++ b/apps/app-frontend/src/helpers/analytics.js
+@@ -1,24 +1,24 @@
+-// import { posthog } from 'posthog-js'
++import { posthog } from 'posthog-js'
+
+ export const initAnalytics = () => {
+- // posthog.init('phc_9Iqi6lFs9sr5BSqh9RRNRSJ0mATS9PSgirDiX3iOYJ', {
+- // persistence: 'localStorage',
+- // api_host: 'https://posthog.modrinth.com',
+- // })
++ posthog.init('phc_9Iqi6lFs9sr5BSqh9RRNRSJ0mATS9PSgirDiX3iOYJ', {
++ persistence: 'localStorage',
++ api_host: 'https://posthog.modrinth.com',
++ })
+ }
+
+ export const debugAnalytics = () => {
+- // posthog.debug()
++ posthog.debug()
+ }
+
+ export const optOutAnalytics = () => {
+- // posthog.opt_out_capturing()
++ posthog.opt_out_capturing()
+ }
+
+ export const optInAnalytics = () => {
+- // posthog.opt_in_capturing()
++ posthog.opt_in_capturing()
+ }
+
+ export const trackEvent = (eventName, properties) => {
+- // posthog.capture(eventName, properties)
++ posthog.capture(eventName, properties)
+ }
+diff --git a/apps/app-frontend/src/helpers/auth.js b/apps/app-frontend/src/helpers/auth.js
+index 61461f068..4e9ea9d8a 100644
+--- a/apps/app-frontend/src/helpers/auth.js
++++ b/apps/app-frontend/src/helpers/auth.js
+@@ -13,28 +13,6 @@ import { invoke } from '@tauri-apps/api/core'
+ // await authenticate_await_completion()
+ // }
+
+-export async function offline_login(name) {
+- return await invoke('plugin:auth|offline_login', { name: name })
+-}
+-
+-// [AR] • Feature
+-export async function elyby_login(uuid, login, accessToken) {
+- return await invoke('plugin:auth|elyby_login', {
+- uuid,
+- login,
+- accessToken
+- })
+-}
+-
+-// [AR] • Feature
+-export async function elyby_auth_authenticate(login, password, clientToken) {
+- return await invoke('plugin:auth|elyby_auth_authenticate', {
+- login,
+- password,
+- clientToken,
+- })
+-}
+-
+ /**
+ * Authenticate a user with Hydra - part 1.
+ * This begins the authentication flow quasi-synchronously.
+diff --git a/apps/app-frontend/src/helpers/import.js b/apps/app-frontend/src/helpers/import.js
+index 602d72597..f14ccca90 100644
+--- a/apps/app-frontend/src/helpers/import.js
++++ b/apps/app-frontend/src/helpers/import.js
+@@ -62,31 +62,3 @@ export async function is_valid_importable_instance(instanceFolder, launcherType)
+ export async function get_default_launcher_path(launcherType) {
+ return await invoke('plugin:import|get_default_launcher_path', { launcherType })
+ }
+-
+-/// Fetch CurseForge profile metadata from profile code
+-/// eg: fetch_curseforge_profile_metadata("eSrNlKNo")
+-export async function fetch_curseforge_profile_metadata(profileCode) {
+- return await invoke('plugin:import|fetch_curseforge_profile_metadata', { profileCode })
+-}
+-
+-/// Import a CurseForge profile from profile code
+-/// eg: import_curseforge_profile("eSrNlKNo")
+-export async function import_curseforge_profile(profileCode) {
+- try {
+- // First, fetch the profile metadata to get the actual name
+- const metadata = await fetch_curseforge_profile_metadata(profileCode)
+-
+- // create a basic, empty instance using the actual profile name
+- const profilePath = await create(metadata.name, '1.19.4', 'vanilla', 'latest', null, true)
+-
+- const result = await invoke('plugin:import|import_curseforge_profile', {
+- profilePath,
+- profileCode,
+- })
+-
+- // Return the profile path for navigation
+- return { result, profilePath }
+- } catch (error) {
+- throw error
+- }
+-}
+diff --git a/apps/app-frontend/src/helpers/update.js b/apps/app-frontend/src/helpers/update.js
+deleted file mode 100644
+index 2aff285ba..000000000
+--- a/apps/app-frontend/src/helpers/update.js
++++ /dev/null
+@@ -1,98 +0,0 @@
+-import { getVersion } from '@tauri-apps/api/app'
+-import { ref } from 'vue'
+-
+-import { getOS, initUpdateLauncher } from '@/helpers/utils.js'
+-
+-export const allowState = ref(false)
+-export const installState = ref(false)
+-export const updateState = ref(false)
+-
+-const currentOS = ref('')
+-const api = `https://git.astralium.su/api/v1/repos/didirus/AstralRinth/releases/latest`
+-
+-const systems = ['macos', 'windows', 'linux']
+-const macosExtensions = ['.dmg', '.pkg', '.app']
+-const windowsExtensions = ['.exe', '.msi']
+-
+-const blacklistBeginPrefixes = [
+- `dev`,
+- `nightly`,
+- `dirty`,
+- `dirty-dev`,
+- `dirty-nightly`,
+- `dirty_dev`,
+- `dirty_nightly`,
+-] // This is blacklisted builds for download. For example, file.startsWith('dev') is not allowed.
+-
+-export async function getRemote(isDownloadState) {
+- var releaseTag = null;
+- var releaseTitle = null;
+- var result = false;
+- currentOS.value = await getOS();
+- try {
+- const response = await fetch(api);
+- if (!response.ok) {
+- throw new Error(response.status);
+- }
+- const remoteData = await response.json();
+- releaseTag = document.getElementById('releaseTag');
+- releaseTitle = document.getElementById('releaseTitle');
+- if (releaseTag && releaseTitle) {
+- releaseTag.textContent = remoteData.tag_name;
+- releaseTitle.textContent = remoteData.name;
+- }
+- if (systems.includes(currentOS.value.toLowerCase())) {
+- const localVersion = await getVersion();
+- const isUpdateAvailable = !remoteData.tag_name.includes(localVersion);
+- updateState.value = isUpdateAvailable;
+- allowState.value = isUpdateAvailable;
+- } else {
+- updateState.value = false;
+- allowState.value = false;
+- }
+- if (isDownloadState) {
+- try {
+- installState.value = true;
+- const builds = remoteData.assets;
+- const fileName = getInstaller(getExtension(), builds);
+- result = fileName ? await initUpdateLauncher(fileName[1], fileName[0], currentOS.value, true) : false;
+- installState.value = false;
+- } catch (err) {
+- installState.value = false;
+- }
+- }
+- console.log('Update available state is', updateState.value);
+- console.log('Remote version is', remoteData.tag_name);
+- console.log('Remote title is', remoteData.name);
+- console.log('Local version is', await getVersion());
+- console.log('Operating System is', currentOS.value);
+- return result;
+- } catch (error) {
+- console.error("Failed to fetch remote releases:", error);
+- if (!releaseTag) {
+- updateState.value = false;
+- allowState.value = false;
+- installState.value = false;
+- }
+- }
+-}
+-
+-function getInstaller(osExtension, builds) {
+- console.log(osExtension, builds)
+- for (const build of builds) {
+- if (blacklistBeginPrefixes.some(prefix => build.name.startsWith(prefix))) {
+- continue;
+- }
+- if (osExtension.some(ext => build.name.endsWith(ext))) {
+- console.log(build.name, build.browser_download_url);
+- return [build.name, build.browser_download_url];
+- }
+- }
+- return null;
+-}
+-
+-function getExtension() {
+- return systems.find(osName => osName === currentOS.value.toLowerCase())?.endsWith('macos')
+- ? macosExtensions
+- : windowsExtensions;
+-}
+diff --git a/apps/app-frontend/src/helpers/utils.js b/apps/app-frontend/src/helpers/utils.js
+index 7eb675464..c9873b3e0 100644
+--- a/apps/app-frontend/src/helpers/utils.js
++++ b/apps/app-frontend/src/helpers/utils.js
+@@ -27,22 +27,6 @@ export async function getOS() {
+ return await invoke('plugin:utils|get_os')
+ }
+
+-// [AR] Feature. Updater
+-export async function initUpdateLauncher(downloadUrl, filename, osType, autoUpdateSupported) {
+- console.log('Downloading build', downloadUrl, filename, osType, autoUpdateSupported)
+- return await invoke('plugin:utils|init_update_launcher', { downloadUrl, filename, osType, autoUpdateSupported })
+-}
+-
+-// [AR] Migration. Patch
+-export async function applyMigrationFix(eol) {
+- return await invoke('plugin:utils|apply_migration_fix', { eol })
+-}
+-
+-// [AR] Feature. Ely.by
+-export async function initAuthlibPatching(minecraftVersion, isMojang) {
+- return await invoke('plugin:utils|init_authlib_patching', { minecraftVersion, isMojang })
+-}
+-
+ export async function isNetworkMetered() {
+ return await invoke('plugin:utils|is_network_metered')
+ }
+diff --git a/apps/app-frontend/src/pages/Index.vue b/apps/app-frontend/src/pages/Index.vue
+index d0c14e36f..8a1f3557e 100644
+--- a/apps/app-frontend/src/pages/Index.vue
++++ b/apps/app-frontend/src/pages/Index.vue
+@@ -103,7 +103,7 @@ onUnmounted(() => {
+
+
+
+-
++
+
+
{
+ expandedGalleryItem.value = null
+- // show_ads_window()
++ show_ads_window()
+ }
+
+ const nextImage = () => {
+@@ -138,7 +138,7 @@ const previousImage = () => {
+ }
+
+ const expandImage = (item, index) => {
+- // hide_ads_window()
++ hide_ads_window()
+ expandedGalleryItem.value = item
+ expandedGalleryIndex.value = index
+ zoomedIn.value = false
+diff --git a/apps/app/build.rs b/apps/app/build.rs
+index 7b57b51ac..468b5c271 100644
+--- a/apps/app/build.rs
++++ b/apps/app/build.rs
+@@ -12,9 +12,6 @@ fn main() {
+ "auth",
+ InlinedPlugin::new()
+ .commands(&[
+- "offline_login",
+- "elyby_login",
+- "elyby_auth_authenticate",
+ "login",
+ "remove_user",
+ "get_default_user",
+@@ -51,8 +48,6 @@ fn main() {
+ "import",
+ InlinedPlugin::new()
+ .commands(&[
+- "fetch_curseforge_profile_metadata",
+- "import_curseforge_profile",
+ "get_importable_instances",
+ "import_instance",
+ "is_valid_importable_instance",
+@@ -227,9 +222,6 @@ fn main() {
+ "utils",
+ InlinedPlugin::new()
+ .commands(&[
+- "init_authlib_patching",
+- "apply_migration_fix",
+- "init_update_launcher",
+ "get_os",
+ "is_network_metered",
+ "should_disable_mouseover",
+@@ -243,6 +235,22 @@ fn main() {
+ DefaultPermissionRule::AllowAllCommands,
+ ),
+ )
++ .plugin(
++ "ads",
++ InlinedPlugin::new()
++ .commands(&[
++ "init_ads_window",
++ "hide_ads_window",
++ "scroll_ads_window",
++ "show_ads_window",
++ "record_ads_click",
++ "open_link",
++ "get_ads_personalization",
++ ])
++ .default_permission(
++ DefaultPermissionRule::AllowAllCommands,
++ ),
++ )
+ .plugin(
+ "friends",
+ InlinedPlugin::new()
+diff --git a/apps/app/capabilities/ads.json b/apps/app/capabilities/ads.json
+new file mode 100644
+index 000000000..e0479d6d3
+--- /dev/null
++++ b/apps/app/capabilities/ads.json
+@@ -0,0 +1,10 @@
++{
++ "identifier": "ads",
++ "description": "",
++ "local": false,
++ "remote": {
++ "urls": ["https://modrinth.com/*", "http://localhost:3000/*"]
++ },
++ "webviews": ["ads-window"],
++ "permissions": ["ads:default"]
++}
+diff --git a/apps/app/capabilities/plugins.json b/apps/app/capabilities/plugins.json
+index 58ea35fb5..588b59b59 100644
+--- a/apps/app/capabilities/plugins.json
++++ b/apps/app/capabilities/plugins.json
+@@ -2,9 +2,7 @@
+ "identifier": "plugins",
+ "description": "",
+ "local": true,
+- "windows": [
+- "main"
+- ],
++ "windows": ["main"],
+ "permissions": [
+ "dialog:allow-open",
+ "dialog:allow-confirm",
+@@ -21,17 +19,12 @@
+ "window-state:default",
+ "window-state:allow-restore-state",
+ "window-state:allow-save-window-state",
++
+ {
+ "identifier": "http:default",
+- "allow": [
+- {
+- "url": "https://modrinth.com/*"
+- },
+- {
+- "url": "https://*.modrinth.com/*"
+- }
+- ]
++ "allow": [{ "url": "https://modrinth.com/*" }, { "url": "https://*.modrinth.com/*" }]
+ },
++
+ "auth:default",
+ "import:default",
+ "jre:default",
+@@ -47,6 +40,7 @@
+ "settings:default",
+ "tags:default",
+ "utils:default",
++ "ads:default",
+ "friends:default",
+ "worlds:default"
+ ]
+diff --git a/apps/app/icons/128x128.png b/apps/app/icons/128x128.png
+index 0e9d7da37..3d402563c 100644
+Binary files a/apps/app/icons/128x128.png and b/apps/app/icons/128x128.png differ
+diff --git a/apps/app/icons/128x128@2x.png b/apps/app/icons/128x128@2x.png
+index e00bf3ad5..4b7afa6e2 100644
+Binary files a/apps/app/icons/128x128@2x.png and b/apps/app/icons/128x128@2x.png differ
+diff --git a/apps/app/icons/Square107x107Logo.png b/apps/app/icons/Square107x107Logo.png
+index 4579dcf79..739bd7003 100644
+Binary files a/apps/app/icons/Square107x107Logo.png and b/apps/app/icons/Square107x107Logo.png differ
+diff --git a/apps/app/icons/Square142x142Logo.png b/apps/app/icons/Square142x142Logo.png
+index 7ddb3bfd7..5db44b079 100644
+Binary files a/apps/app/icons/Square142x142Logo.png and b/apps/app/icons/Square142x142Logo.png differ
+diff --git a/apps/app/icons/Square150x150Logo.png b/apps/app/icons/Square150x150Logo.png
+index b268418f1..10037096e 100644
+Binary files a/apps/app/icons/Square150x150Logo.png and b/apps/app/icons/Square150x150Logo.png differ
+diff --git a/apps/app/icons/Square284x284Logo.png b/apps/app/icons/Square284x284Logo.png
+index e838c0acd..0eb0bb8b9 100644
+Binary files a/apps/app/icons/Square284x284Logo.png and b/apps/app/icons/Square284x284Logo.png differ
+diff --git a/apps/app/icons/Square30x30Logo.png b/apps/app/icons/Square30x30Logo.png
+index adc19b0e4..5a5535ade 100644
+Binary files a/apps/app/icons/Square30x30Logo.png and b/apps/app/icons/Square30x30Logo.png differ
+diff --git a/apps/app/icons/Square310x310Logo.png b/apps/app/icons/Square310x310Logo.png
+index 11ef2e712..a4f460d99 100644
+Binary files a/apps/app/icons/Square310x310Logo.png and b/apps/app/icons/Square310x310Logo.png differ
+diff --git a/apps/app/icons/Square44x44Logo.png b/apps/app/icons/Square44x44Logo.png
+index bbfd78b77..bd91178ab 100644
+Binary files a/apps/app/icons/Square44x44Logo.png and b/apps/app/icons/Square44x44Logo.png differ
+diff --git a/apps/app/icons/Square71x71Logo.png b/apps/app/icons/Square71x71Logo.png
+index bcaecd52d..9d233188a 100644
+Binary files a/apps/app/icons/Square71x71Logo.png and b/apps/app/icons/Square71x71Logo.png differ
+diff --git a/apps/app/icons/Square89x89Logo.png b/apps/app/icons/Square89x89Logo.png
+index 241bd6668..f7f8f47b7 100644
+Binary files a/apps/app/icons/Square89x89Logo.png and b/apps/app/icons/Square89x89Logo.png differ
+diff --git a/apps/app/icons/StoreLogo.png b/apps/app/icons/StoreLogo.png
+index 97c9c13aa..c70dee80d 100644
+Binary files a/apps/app/icons/StoreLogo.png and b/apps/app/icons/StoreLogo.png differ
+diff --git a/apps/app/icons/favicon.ico b/apps/app/icons/favicon.ico
+index 81e0afa75..c2ccbab90 100644
+Binary files a/apps/app/icons/favicon.ico and b/apps/app/icons/favicon.ico differ
+diff --git a/apps/app/icons/icon (1).png b/apps/app/icons/icon (1).png
+deleted file mode 100644
+index fc7a899f2..000000000
+Binary files a/apps/app/icons/icon (1).png and /dev/null differ
+diff --git a/apps/app/icons/icon.icns b/apps/app/icons/icon.icns
+index 7e4a56573..9e9b2478a 100644
+Binary files a/apps/app/icons/icon.icns and b/apps/app/icons/icon.icns differ
+diff --git a/apps/app/icons/icon.ico b/apps/app/icons/icon.ico
+index 69eec6cf0..8a6c96ef3 100644
+Binary files a/apps/app/icons/icon.ico and b/apps/app/icons/icon.ico differ
+diff --git a/apps/app/icons/icon.png b/apps/app/icons/icon.png
+new file mode 100644
+index 000000000..d64d8fbec
+Binary files /dev/null and b/apps/app/icons/icon.png differ
+diff --git a/apps/app/src/api/ads-init.js b/apps/app/src/api/ads-init.js
+new file mode 100644
+index 000000000..bd4582729
+--- /dev/null
++++ b/apps/app/src/api/ads-init.js
+@@ -0,0 +1,106 @@
++document.addEventListener(
++ 'click',
++ function (e) {
++ window.top.postMessage({ modrinthAdClick: true }, 'https://modrinth.com')
++
++ let target = e.target
++ while (target != null) {
++ if (target.matches('a')) {
++ e.preventDefault()
++ if (target.href) {
++ window.top.postMessage({ modrinthOpenUrl: target.href }, 'https://modrinth.com')
++ }
++ break
++ }
++ target = target.parentElement
++ }
++ },
++ true,
++)
++
++window.open = (url, target, features) => {
++ window.top.postMessage({ modrinthOpenUrl: url }, 'https://modrinth.com')
++}
++
++function muteAudioContext() {
++ if (window.AudioContext || window.webkitAudioContext) {
++ const AudioContext = window.AudioContext || window.webkitAudioContext
++ const originalCreateMediaElementSource = AudioContext.prototype.createMediaElementSource
++ const originalCreateMediaStreamSource = AudioContext.prototype.createMediaStreamSource
++ const originalCreateMediaStreamTrackSource = AudioContext.prototype.createMediaStreamTrackSource
++ const originalCreateBufferSource = AudioContext.prototype.createBufferSource
++ const originalCreateOscillator = AudioContext.prototype.createOscillator
++
++ AudioContext.prototype.createGain = function () {
++ const gain = originalCreateGain.call(this)
++ gain.gain.value = 0
++ return gain
++ }
++
++ AudioContext.prototype.createMediaElementSource = function (mediaElement) {
++ const source = originalCreateMediaElementSource.call(this, mediaElement)
++ source.connect(this.createGain())
++ return source
++ }
++
++ AudioContext.prototype.createMediaStreamSource = function (mediaStream) {
++ const source = originalCreateMediaStreamSource.call(this, mediaStream)
++ source.connect(this.createGain())
++ return source
++ }
++
++ AudioContext.prototype.createMediaStreamTrackSource = function (mediaStreamTrack) {
++ const source = originalCreateMediaStreamTrackSource.call(this, mediaStreamTrack)
++ source.connect(this.createGain())
++ return source
++ }
++
++ AudioContext.prototype.createBufferSource = function () {
++ const source = originalCreateBufferSource.call(this)
++ source.connect(this.createGain())
++ return source
++ }
++
++ AudioContext.prototype.createOscillator = function () {
++ const oscillator = originalCreateOscillator.call(this)
++ oscillator.connect(this.createGain())
++ return oscillator
++ }
++ }
++}
++
++function muteVideo(mediaElement) {
++ let count = Number(mediaElement.getAttribute('data-modrinth-muted-count') ?? 0)
++
++ if (!mediaElement.muted || mediaElement.volume !== 0) {
++ mediaElement.muted = true
++ mediaElement.volume = 0
++
++ mediaElement.setAttribute('data-modrinth-muted-count', count + 1)
++ }
++
++ if (count > 5) {
++ // Video is detected as malicious, so it is removed from the page
++ mediaElement.remove()
++ }
++}
++
++function muteVideos() {
++ document.querySelectorAll('video, audio').forEach(function (mediaElement) {
++ muteVideo(mediaElement)
++
++ if (!mediaElement.hasAttribute('data-modrinth-muted')) {
++ mediaElement.addEventListener('volumechange', () => muteVideo(mediaElement))
++
++ mediaElement.setAttribute('data-modrinth-muted', 'true')
++ }
++ })
++}
++
++document.addEventListener('DOMContentLoaded', () => {
++ muteVideos()
++ muteAudioContext()
++
++ const observer = new MutationObserver(muteVideos)
++ observer.observe(document.body, { childList: true, subtree: true })
++})
+diff --git a/apps/app/src/api/ads.rs b/apps/app/src/api/ads.rs
+new file mode 100644
+index 000000000..40d00ce76
+--- /dev/null
++++ b/apps/app/src/api/ads.rs
+@@ -0,0 +1,235 @@
++use std::collections::HashSet;
++use std::time::{Duration, Instant};
++use tauri::plugin::TauriPlugin;
++use tauri::{Manager, PhysicalPosition, PhysicalSize, Runtime};
++use tauri_plugin_opener::OpenerExt;
++use theseus::settings;
++use tokio::sync::RwLock;
++
++pub struct AdsState {
++ pub shown: bool,
++ pub modal_shown: bool,
++ pub last_click: Option,
++ pub malicious_origins: HashSet,
++}
++
++const AD_LINK: &str = "https://modrinth.com/wrapper/app-ads-cookie";
++
++pub fn init() -> TauriPlugin {
++ tauri::plugin::Builder::::new("ads")
++ .setup(|app, _api| {
++ app.manage(RwLock::new(AdsState {
++ shown: true,
++ modal_shown: false,
++ last_click: None,
++ malicious_origins: HashSet::new(),
++ }));
++
++ // We refresh the ads window every 5 minutes for performance
++ let app = app.clone();
++ tauri::async_runtime::spawn(async move {
++ loop {
++ if let Some(webview) = app.webviews().get_mut("ads-window")
++ {
++ let _ = webview.navigate(AD_LINK.parse().unwrap());
++ }
++
++ tokio::time::sleep(std::time::Duration::from_secs(60 * 5))
++ .await;
++ }
++ });
++
++ Ok(())
++ })
++ .invoke_handler(tauri::generate_handler![
++ init_ads_window,
++ hide_ads_window,
++ show_ads_window,
++ record_ads_click,
++ open_link,
++ get_ads_personalization,
++ ])
++ .build()
++}
++
++fn get_webview_position(
++ app: &tauri::AppHandle,
++ dpr: f32,
++) -> crate::api::Result<(PhysicalPosition, PhysicalSize)> {
++ let main_window = app.get_window("main").unwrap();
++
++ let width = 300.0 * dpr;
++ let height = 250.0 * dpr;
++
++ let main_window_size = main_window.outer_size()?;
++ let x = (main_window_size.width as f32) - width;
++ let y = (main_window_size.height as f32) - height;
++
++ Ok((
++ PhysicalPosition::new(x, y),
++ PhysicalSize::new(width, height),
++ ))
++}
++
++#[tauri::command]
++#[cfg(not(target_os = "linux"))]
++pub async fn init_ads_window(
++ app: tauri::AppHandle,
++ dpr: f32,
++ override_shown: bool,
++) -> crate::api::Result<()> {
++ use tauri::WebviewUrl;
++
++ let state = app.state::>();
++ let mut state = state.write().await;
++
++ if override_shown {
++ state.shown = true;
++ }
++
++ if state.modal_shown {
++ return Ok(());
++ }
++
++ if let Ok((position, size)) = get_webview_position(&app, dpr) {
++ if let Some(webview) = app.webviews().get("ads-window") {
++ if state.shown {
++ let _ = webview.set_position(position);
++ let _ = webview.set_size(size);
++ } else {
++ let _ =
++ webview.set_position(PhysicalPosition::new(-1000, -1000));
++ }
++ } else if let Some(window) = app.get_window("main") {
++ let webview = window.add_child(
++ tauri::webview::WebviewBuilder::new(
++ "ads-window",
++ WebviewUrl::External(
++ AD_LINK.parse().unwrap(),
++ ),
++ )
++ .initialization_script_for_all_frames(include_str!("ads-init.js"))
++ .user_agent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36")
++ .zoom_hotkeys_enabled(false)
++ .transparent(true)
++ .on_new_window(|_, _| tauri::webview::NewWindowResponse::Deny),
++ if state.shown {
++ position
++ } else {
++ PhysicalPosition::new(-1000.0, -1000.0)
++ },
++ size,
++ )?;
++
++ webview.with_webview(#[allow(unused_variables)] |webview2| {
++ #[cfg(windows)]
++ {
++ use webview2_com::Microsoft::Web::WebView2::Win32::ICoreWebView2_8;
++ use windows_core::Interface;
++
++ let webview2_controller = webview2.controller();
++ let Ok(webview2_8) = unsafe { webview2_controller.CoreWebView2() }
++ .and_then(|core_webview2| core_webview2.cast::())
++ else {
++ return;
++ };
++
++ unsafe { webview2_8.SetIsMuted(true) }.ok();
++ }
++ })?;
++ }
++ }
++
++ Ok(())
++}
++
++// TODO: make ads work on linux
++#[tauri::command]
++#[cfg(target_os = "linux")]
++pub async fn init_ads_window() {}
++
++#[tauri::command]
++pub async fn show_ads_window(
++ app: tauri::AppHandle,
++ dpr: f32,
++) -> crate::api::Result<()> {
++ if let Some(webview) = app.webviews().get("ads-window") {
++ let state = app.state::>();
++ let mut state = state.write().await;
++
++ state.modal_shown = false;
++
++ if state.shown {
++ let (position, size) = get_webview_position(&app, dpr)?;
++ let _ = webview.set_size(size);
++ let _ = webview.set_position(position);
++ }
++ }
++
++ Ok(())
++}
++
++#[tauri::command]
++pub async fn hide_ads_window(
++ app: tauri::AppHandle,
++ reset: Option,
++) -> crate::api::Result<()> {
++ if let Some(webview) = app.webviews().get("ads-window") {
++ let state = app.state::>();
++ let mut state = state.write().await;
++
++ if reset.unwrap_or(false) {
++ state.shown = false;
++ } else {
++ state.modal_shown = true;
++ }
++
++ let _ = webview.set_position(PhysicalPosition::new(-1000, -1000));
++ }
++
++ Ok(())
++}
++
++#[tauri::command]
++pub async fn record_ads_click(
++ app: tauri::AppHandle,
++) -> crate::api::Result<()> {
++ let state = app.state::>();
++
++ let mut state = state.write().await;
++ state.last_click = Some(Instant::now());
++
++ Ok(())
++}
++
++#[tauri::command]
++pub async fn open_link(
++ app: tauri::AppHandle,
++ path: String,
++ origin: String,
++) -> crate::api::Result<()> {
++ let state = app.state::>();
++ let mut state = state.write().await;
++
++ if url::Url::parse(&path).is_ok()
++ && !state.malicious_origins.contains(&origin)
++ && let Some(last_click) = state.last_click
++ && last_click.elapsed() < Duration::from_millis(100)
++ {
++ let _ = app.opener().open_url(&path, None::);
++ state.last_click = None;
++
++ return Ok(());
++ }
++
++ tracing::info!("Malicious click: {path} origin {origin}");
++ state.malicious_origins.insert(origin);
++
++ Ok(())
++}
++
++#[tauri::command]
++pub async fn get_ads_personalization() -> crate::api::Result {
++ let res = settings::get().await?;
++ Ok(res.personalized_ads)
++}
+diff --git a/apps/app/src/api/auth.rs b/apps/app/src/api/auth.rs
+index c833fce61..d7bbe3a94 100644
+--- a/apps/app/src/api/auth.rs
++++ b/apps/app/src/api/auth.rs
+@@ -2,15 +2,11 @@ use crate::api::Result;
+ use chrono::{Duration, Utc};
+ use tauri::plugin::TauriPlugin;
+ use tauri::{Manager, Runtime, UserAttentionType};
+-use tauri_plugin_http::reqwest::Client;
+ use theseus::prelude::*;
+
+ pub fn init() -> TauriPlugin {
+ tauri::plugin::Builder::::new("auth")
+ .invoke_handler(tauri::generate_handler![
+- offline_login,
+- elyby_login,
+- elyby_auth_authenticate,
+ login,
+ remove_user,
+ get_default_user,
+@@ -20,65 +16,6 @@ pub fn init() -> TauriPlugin {
+ .build()
+ }
+
+-/// ### AR • Feature
+-/// Create new offline user
+-#[tauri::command]
+-pub async fn offline_login(name: &str) -> Result {
+- let credentials = minecraft_auth::offline_auth(name).await?;
+- Ok(credentials)
+-}
+-
+-/// ### AR • Feature
+-/// Create new Ely.by user
+-#[tauri::command]
+-pub async fn elyby_login(
+- uuid: uuid::Uuid,
+- login: &str,
+- access_token: &str
+-) -> Result {
+- let credentials = minecraft_auth::elyby_auth(uuid, login, access_token).await?;
+- Ok(credentials)
+-}
+-
+-/// ### AR • Feature
+-/// Authenticate Ely.by user
+-#[tauri::command]
+-pub async fn elyby_auth_authenticate(
+- login: &str,
+- password: &str,
+- client_token: &str,
+-) -> Result {
+- let client = Client::new();
+- let auth_body = serde_json::json!({
+- "username": login,
+- "password": password,
+- "clientToken": client_token,
+- });
+-
+- let response = match client
+- .post("https://authserver.ely.by/auth/authenticate")
+- .header("Content-Type", "application/json")
+- .json(&auth_body)
+- .send()
+- .await
+- {
+- Ok(resp) => resp,
+- Err(e) => {
+- tracing::error!("[AR] • Failed to send request: {}", e);
+- return Ok("".to_string());
+- }
+- };
+-
+- let text = match response.text().await {
+- Ok(body) => body,
+- Err(e) => {
+- tracing::error!("[AR] • Failed to read response text: {}", e);
+- return Ok("".to_string());
+- }
+- };
+- Ok(text)
+-}
+-
+ /// Authenticate a user with Hydra - part 1
+ /// This begins the authentication flow quasi-synchronously, returning a URL to visit (that the user will sign in at)
+ #[tauri::command]
+diff --git a/apps/app/src/api/import.rs b/apps/app/src/api/import.rs
+index b642aa902..0cab81cd5 100644
+--- a/apps/app/src/api/import.rs
++++ b/apps/app/src/api/import.rs
+@@ -2,11 +2,6 @@ use std::path::PathBuf;
+
+ use crate::api::Result;
+ use theseus::pack::import::ImportLauncherType;
+-use theseus::pack::import::curseforge_profile::{
+- CurseForgeProfileMetadata,
+- fetch_curseforge_profile_metadata as fetch_cf_metadata,
+- import_curseforge_profile as import_cf_profile,
+-};
+
+ use theseus::pack::import;
+
+@@ -17,8 +12,6 @@ pub fn init() -> tauri::plugin::TauriPlugin {
+ import_instance,
+ is_valid_importable_instance,
+ get_default_launcher_path,
+- fetch_curseforge_profile_metadata,
+- import_curseforge_profile,
+ ])
+ .build()
+ }
+@@ -75,24 +68,3 @@ pub async fn get_default_launcher_path(
+ ) -> Result> {
+ Ok(import::get_default_launcher_path(launcher_type))
+ }
+-
+-/// Fetch CurseForge profile metadata from profile code
+-/// eg: fetch_curseforge_profile_metadata("eSrNlKNo")
+-#[tauri::command]
+-pub async fn fetch_curseforge_profile_metadata(
+- profile_code: String,
+-) -> Result {
+- Ok(fetch_cf_metadata(&profile_code).await?)
+-}
+-
+-/// Import a CurseForge profile from profile code
+-/// profile_path should be a blank profile for this purpose- if the function fails, it will be deleted
+-/// eg: import_curseforge_profile("profile-path", "eSrNlKNo")
+-#[tauri::command]
+-pub async fn import_curseforge_profile(
+- profile_path: String,
+- profile_code: String,
+-) -> Result<()> {
+- import_cf_profile(&profile_code, &profile_path).await?;
+- Ok(())
+-}
+diff --git a/apps/app/src/api/mod.rs b/apps/app/src/api/mod.rs
+index bafa0cda5..a16271fe2 100644
+--- a/apps/app/src/api/mod.rs
++++ b/apps/app/src/api/mod.rs
+@@ -17,6 +17,7 @@ pub mod settings;
+ pub mod tags;
+ pub mod utils;
+
++pub mod ads;
+ pub mod cache;
+ pub mod friends;
+ pub mod worlds;
+diff --git a/apps/app/src/api/utils.rs b/apps/app/src/api/utils.rs
+index 89159d0d0..e96186f5b 100644
+--- a/apps/app/src/api/utils.rs
++++ b/apps/app/src/api/utils.rs
+@@ -10,15 +10,11 @@ use crate::api::{Result, TheseusSerializableError};
+ use dashmap::DashMap;
+ use std::path::{Path, PathBuf};
+ use theseus::prelude::canonicalize;
+-use theseus::util::utils;
+ use url::Url;
+
+ pub fn init() -> tauri::plugin::TauriPlugin {
+ tauri::plugin::Builder::new("utils")
+ .invoke_handler(tauri::generate_handler![
+- init_authlib_patching,
+- apply_migration_fix,
+- init_update_launcher,
+ get_os,
+ is_network_metered,
+ should_disable_mouseover,
+@@ -31,42 +27,6 @@ pub fn init() -> tauri::plugin::TauriPlugin {
+ .build()
+ }
+
+-/// [AR] Feature. Ely.by
+-#[tauri::command]
+-pub async fn init_authlib_patching(
+- minecraft_version: &str,
+- is_mojang: bool,
+-) -> Result {
+- let result =
+- utils::init_authlib_patching(minecraft_version, is_mojang).await?;
+- Ok(result)
+-}
+-
+-/// [AR] Migration. Patch
+-#[tauri::command]
+-pub async fn apply_migration_fix(eol: &str) -> Result {
+- let result = utils::apply_migration_fix(eol).await?;
+- Ok(result)
+-}
+-
+-/// [AR] Feature. Updater
+-#[tauri::command]
+-pub async fn init_update_launcher(
+- download_url: &str,
+- filename: &str,
+- os_type: &str,
+- auto_update_supported: bool,
+-) -> Result<()> {
+- let _ = utils::init_update_launcher(
+- download_url,
+- filename,
+- os_type,
+- auto_update_supported,
+- )
+- .await;
+- Ok(())
+-}
+-
+ #[derive(Debug, Clone, Serialize, Deserialize)]
+ #[allow(clippy::enum_variant_names)]
+ pub enum OS {
+diff --git a/apps/app/src/main.rs b/apps/app/src/main.rs
+index b354b8d72..731565dc0 100644
+--- a/apps/app/src/main.rs
++++ b/apps/app/src/main.rs
+@@ -25,9 +25,10 @@ mod updater_impl_noop;
+ async fn initialize_state(app: tauri::AppHandle) -> api::Result<()> {
+ tracing::info!("Initializing app event state...");
+ theseus::EventState::init(app.clone()).await?;
++
+ tracing::info!("Initializing app state...");
+ State::init().await?;
+- tracing::info!("AstralRinth state successfully initialized.");
++
+ let state = State::get().await?;
+ app.asset_protocol_scope()
+ .allow_directory(state.directories.caches_dir(), true)?;
+@@ -110,10 +111,25 @@ fn main() {
+ */
+ let _log_guard = theseus::start_logger();
+
+- tracing::info!("Initialized tracing subscriber. Loading AstralRinth App!");
++ tracing::info!("Initialized tracing subscriber. Loading Modrinth App!");
+
+ let mut builder = tauri::Builder::default();
+
++ #[cfg(feature = "updater")]
++ {
++ use tauri_plugin_http::reqwest::header::{HeaderValue, USER_AGENT};
++ use theseus::LAUNCHER_USER_AGENT;
++ builder = builder.plugin(
++ tauri_plugin_updater::Builder::new()
++ .header(
++ USER_AGENT,
++ HeaderValue::from_str(LAUNCHER_USER_AGENT).unwrap(),
++ )
++ .unwrap()
++ .build(),
++ );
++ }
++
+ builder = builder
+ .plugin(tauri_plugin_single_instance::init(|app, args, _cwd| {
+ if let Some(payload) = args.get(1) {
+@@ -135,20 +151,7 @@ fn main() {
+ .plugin(tauri_plugin_opener::init())
+ .plugin(
+ tauri_plugin_window_state::Builder::default()
+- .with_filename(
+- if std::env::current_dir()
+- .ok()
+- .map(|dir| dir.join("portable.txt").exists())
+- .unwrap_or(false)
+- {
+- std::env::current_dir()
+- .ok()
+- .map(|dir| dir.join("UserData/app-window-state.json").to_string_lossy().into_owned())
+- .unwrap()
+- } else {
+- "app-window-state.json".to_string()
+- },
+- )
++ .with_filename("app-window-state.json")
+ // Use *only* POSITION and SIZE state flags, because saving VISIBLE causes the `visible: false` to not take effect
+ .with_state_flags(
+ tauri_plugin_window_state::StateFlags::POSITION
+@@ -156,7 +159,7 @@ fn main() {
+ | tauri_plugin_window_state::StateFlags::MAXIMIZED,
+ )
+ .build(),
+- )
++ )
+ .setup(|app| {
+ #[cfg(target_os = "macos")]
+ {
+@@ -222,6 +225,7 @@ fn main() {
+ .plugin(api::tags::init())
+ .plugin(api::utils::init())
+ .plugin(api::cache::init())
++ .plugin(api::ads::init())
+ .plugin(api::friends::init())
+ .plugin(api::worlds::init())
+ .manage(PendingUpdateData::default())
+diff --git a/apps/app/tauri-release.conf.json b/apps/app/tauri-release.conf.json
+index ac3ddd2f6..e3585db77 100644
+--- a/apps/app/tauri-release.conf.json
++++ b/apps/app/tauri-release.conf.json
+@@ -1,7 +1,37 @@
+ {
+- "app": {
+- "security": {
+- "capabilities": ["core", "plugins"]
+- }
+- }
++ "bundle": {
++ "createUpdaterArtifacts": "v1Compatible",
++ "windows": {
++ "signCommand": {
++ "cmd": "jsign",
++ "args": [
++ "sign",
++ "--verbose",
++ "--storetype",
++ "DIGICERTONE",
++ "--keystore",
++ "https://clientauth.one.digicert.com",
++ "--storepass",
++ "env:DIGICERT_ONE_SIGNER_CREDENTIALS",
++ "--tsaurl",
++ "https://timestamp.sectigo.com,http://timestamp.digicert.com",
++ "%1"
++ ]
++ }
++ }
++ },
++ "build": {
++ "features": ["updater"]
++ },
++ "app": {
++ "security": {
++ "capabilities": ["ads", "core", "plugins", "updater"]
++ }
++ },
++ "plugins": {
++ "updater": {
++ "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDIwMzM5QkE0M0FCOERBMzkKUldRNTJyZzZwSnN6SUdPRGdZREtUUGxMblZqeG9OVHYxRUlRTzJBc2U3MUNJaDMvZDQ1UytZZmYK",
++ "endpoints": ["https://launcher-files.modrinth.com/updates.json"]
++ }
++ }
+ }
+diff --git a/apps/app/tauri.conf.json b/apps/app/tauri.conf.json
+index 0b676d389..6075dde24 100644
+--- a/apps/app/tauri.conf.json
++++ b/apps/app/tauri.conf.json
+@@ -12,12 +12,7 @@
+ "copyright": "",
+ "targets": "all",
+ "externalBin": [],
+- "icon": [
+- "icons/128x128.png",
+- "icons/128x128@2x.png",
+- "icons/icon.icns",
+- "icons/icon.ico"
+- ],
++ "icon": ["icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico"],
+ "windows": {
+ "nsis": {
+ "installMode": "currentUser",
+@@ -40,23 +35,19 @@
+ },
+ "fileAssociations": [
+ {
+- "ext": [
+- "mrpack"
+- ],
++ "ext": ["mrpack"],
+ "mimeType": "application/x-modrinth-modpack+zip"
+ }
+ ]
+ },
+- "productName": "AstralRinth App",
+- "version": "0.10.1601",
+- "mainBinaryName": "AstralRinth App",
+- "identifier": "AstralRinthApp",
++ "productName": "Modrinth App",
++ "version": "../app-frontend/package.json",
++ "mainBinaryName": "Modrinth App",
++ "identifier": "ModrinthApp",
+ "plugins": {
+ "deep-link": {
+ "desktop": {
+- "schemes": [
+- "modrinth"
+- ]
++ "schemes": ["modrinth"]
+ },
+ "mobile": []
+ }
+@@ -71,7 +62,7 @@
+ "fullscreen": false,
+ "height": 800,
+ "resizable": true,
+- "title": "AstralRinth",
++ "title": "Modrinth App",
+ "label": "main",
+ "width": 1280,
+ "minHeight": 700,
+@@ -93,16 +84,11 @@
+ ],
+ "enable": true
+ },
+- "capabilities": [
+- "core",
+- "plugins"
+- ],
++ "capabilities": ["ads", "core", "plugins"],
+ "csp": {
+ "default-src": "'self' customprotocol: asset:",
+- "connect-src": "ipc: https://git.astralium.su https://authserver.ely.by http://ipc.localhost https://modrinth.com https://*.modrinth.com https://*.sentry.io https://api.mclo.gs 'self' data: blob:",
+- "font-src": [
+- "https://cdn-raw.modrinth.com/fonts/"
+- ],
++ "connect-src": "ipc: http://ipc.localhost https://modrinth.com https://*.modrinth.com https://*.posthog.com https://*.sentry.io https://api.mclo.gs 'self' data: blob:",
++ "font-src": ["https://cdn-raw.modrinth.com/fonts/"],
+ "img-src": "https: 'unsafe-inline' 'self' asset: http://asset.localhost http://textures.minecraft.net blob: data:",
+ "style-src": "'unsafe-inline' 'self'",
+ "script-src": "https://*.posthog.com https://tally.so/widgets/embed.js 'self'",
+diff --git a/apps/app/tauri.linux.conf.json b/apps/app/tauri.linux.conf.json
+index f7f53e1da..5b2e9ec68 100644
+--- a/apps/app/tauri.linux.conf.json
++++ b/apps/app/tauri.linux.conf.json
+@@ -1,3 +1,3 @@
+ {
+- "mainBinaryName": "AstralRinthApp"
++ "mainBinaryName": "ModrinthApp"
+ }
+diff --git a/apps/app/tauri.macos.conf.json b/apps/app/tauri.macos.conf.json
+index a50c693c6..363f00e85 100644
+--- a/apps/app/tauri.macos.conf.json
++++ b/apps/app/tauri.macos.conf.json
+@@ -7,7 +7,7 @@
+ "fullscreen": false,
+ "height": 800,
+ "resizable": true,
+- "title": "AstralRinth App",
++ "title": "Modrinth App",
+ "width": 1280,
+ "minHeight": 700,
+ "minWidth": 1100,
+diff --git a/apps/frontend/src/composables/featureFlags.ts b/apps/frontend/src/composables/featureFlags.ts
+index 1a53a7249..2eb9a93d8 100644
+--- a/apps/frontend/src/composables/featureFlags.ts
++++ b/apps/frontend/src/composables/featureFlags.ts
+@@ -20,7 +20,7 @@ export const DEFAULT_FEATURE_FLAGS = validateValues({
+ // Developer flags
+ developerMode: false,
+ showVersionFilesInTable: false,
+- // showAdsWithPlus: false,
++ showAdsWithPlus: false,
+ alwaysShowChecklistAsPopup: true,
+ testTaxForm: false,
+
+diff --git a/apps/frontend/src/pages/[type]/[id].vue b/apps/frontend/src/pages/[type]/[id].vue
+index bcdce409a..ff480bfb7 100644
+--- a/apps/frontend/src/pages/[type]/[id].vue
++++ b/apps/frontend/src/pages/[type]/[id].vue
+@@ -810,7 +810,7 @@
+ :v3-metadata="projectV3"
+ class="card flex-card experimental-styles-within"
+ />
+-
++
+
+
+
+-
++
+
+
+
+@@ -412,6 +412,7 @@ import UpToDate from 'assets/images/illustrations/up_to_date.svg'
+
+ import { getProjectTypeMessage } from '@/utils/i18n-project-type'
+ import { normalizeChildren } from '@/utils/vue-children.ts'
++import AdPlaceholder from '~/components/ui/AdPlaceholder.vue'
+ import NavRow from '~/components/ui/NavRow.vue'
+ import ProjectCard from '~/components/ui/ProjectCard.vue'
+
+diff --git a/apps/frontend/src/pages/organization/[id].vue b/apps/frontend/src/pages/organization/[id].vue
+index fc09d97ff..f90e009df 100644
+--- a/apps/frontend/src/pages/organization/[id].vue
++++ b/apps/frontend/src/pages/organization/[id].vue
+@@ -149,7 +149,7 @@
+
+
+
+
+
+@@ -451,6 +451,7 @@ import ModBadge from '~/assets/images/badges/mod.svg?component'
+ import PlusBadge from '~/assets/images/badges/plus.svg?component'
+ import StaffBadge from '~/assets/images/badges/staff.svg?component'
+ import UpToDate from '~/assets/images/illustrations/up_to_date.svg?component'
++import AdPlaceholder from '~/components/ui/AdPlaceholder.vue'
+ import CollectionCreateModal from '~/components/ui/create/CollectionCreateModal.vue'
+ import ModalCreation from '~/components/ui/create/ProjectCreateModal.vue'
+ import NavTabs from '~/components/ui/NavTabs.vue'
+diff --git a/apps/frontend/src/public/ads.txt b/apps/frontend/src/public/ads.txt
+new file mode 100644
+index 000000000..7d552dcbb
+--- /dev/null
++++ b/apps/frontend/src/public/ads.txt
+@@ -0,0 +1,480 @@
++managerdomain=aditude.io
++contact=adops@aditude.io
++aditude.io, 233, DIRECT
++
++#AdX
++google.com, pub-7080143084104076, DIRECT, f08c47fec0942fa0
++
++#Adagio
++adagio.io, 1305, RESELLER
++#Adagio - Magnite
++rubiconproject.com, 19116, RESELLER, 0bfd66d529a55807
++#Adagio - Pubmatic
++pubmatic.com, 159110, RESELLER, 5d62403b186f2ace
++#Adagio - Improve Digital
++improvedigital.com, 1790, RESELLER
++# Adagio - Onetag
++onetag.com, 6b859b96c564fbe, RESELLER
++appnexus.com, 13099, RESELLER
++pubmatic.com, 161593, RESELLER, 5d62403b186f2ace
++rubiconproject.com, 11006, RESELLER, 0bfd66d529a55807
++# Adagio - 33Across
++33across.com, 0015a00002oUk4aAAC, RESELLER, bbea06d9c4d2853c
++appnexus.com, 10239, RESELLER, f5ab79cb980f11d1
++rubiconproject.com, 16414, RESELLER, 0bfd66d529a55807
++pubmatic.com, 156423, RESELLER, 5d62403b186f2ace
++conversantmedia.com, 100141, RESELLER
++# Adagio - Equativ
++smartadserver.com, 3554, RESELLER
++loopme.com, 5679, RESELLER, 6c8d5f95897a5a3b
++sharethrough.com, OAW69Fon, RESELLER, d53b998a7bd4ecd2
++# Adagio - Sovrn
++lijit.com, 367236, RESELLER, fafdf38b16bf6b2b
++openx.com, 538959099, RESELLER, 6a698e2ec38604c6
++pubmatic.com, 137711, RESELLER, 5d62403b186f2ace
++pubmatic.com, 156212, RESELLER, 5d62403b186f2ace
++rubiconproject.com, 17960, RESELLER, 0bfd66d529a55807
++# Adagio - Freewheel
++freewheel.tv, 1568036, RESELLER
++freewheel.tv, 1568041, RESELLER
++# Adagio - OpenX
++openx.com, 558899373, RESELLER, 6a698e2ec38604c6
++# Adagio - Triplelift
++triplelift.com, 13482, RESELLER, 6c33edb13117fd86
++# Adagio - Nexxen
++video.unrulymedia.com, 5672421953199218469, RESELLER
++# Adagio - Illumin (AcuityAds)
++admanmedia.com, 2216, RESELLER
++# Adagio - ConnectAd
++connectad.io, 456, RESELLER, 85ac85a30c93b3e5
++rubiconproject.com, 26800, RESELLER, 0bfd66d529a55807
++# Adagio - Insticator
++insticator.com, 4ec3ed85-2830-4174-9f7f-f545620598b9, RESELLER, b3511ffcafb23a32
++sharethrough.com, Q9IzHdvp, RESELLER, d53b998a7bd4ecd2
++
++#AMX
++amxrtb.com, 105199374, DIRECT
++appnexus.com, 12290, RESELLER
++lijit.com, 260380, RESELLER
++pubmatic.com, 158355, RESELLER
++rubiconproject.com, 23844, RESELLER
++openx.com, 559680764, RESELLER
++sharethrough.com, a6a34444, RESELLER
++
++
++#Amazon
++aps.amazon.com,4e8fb3b2-1c6c-42d6-890c-e5a6718315a3,DIRECT
++pubmatic.com,157150,RESELLER,5d62403b186f2ace
++openx.com,540191398,RESELLER,6a698e2ec38604c6
++rubiconproject.com,18020,RESELLER,0bfd66d529a55807
++appnexus.com,1908,RESELLER,f5ab79cb980f11d1
++contextweb.com,562541,RESELLER,89ff185a4c4e857c
++sovrn.com,375328,RESELLER,fafdf38b16bf6b2b
++lijit.com,375328,RESELLER,fafdf38b16bf6b2b
++smaato.com,1100044650,RESELLER,07bcf65f187117b4
++sonobi.com,7f5fa520f8,RESELLER,d1a215d9eb5aee9e
++ad-generation.jp,12474,RESELLER,7f4ea9029ac04e53
++districtm.io,100962,RESELLER,3fd707be9c4527c3
++yieldmo.com,2719019867620450718,RESELLER
++appnexus.com,3663,RESELLER,f5ab79cb980f11d1
++rhythmone.com,1654642120,RESELLER,a670c89d4a324e47
++smartadserver.com,4125,RESELLER,060d053dcf45cbf3
++yahoo.com,55029,RESELLER,e1a5b5b6e3255540
++gumgum.com,14141,RESELLER,ffdef49475d318a9
++indexexchange.com,192410,RESELLER,50b1c356f2c5c8fc
++admanmedia.com,726,RESELLER
++pubmatic.com,160006,RESELLER,5d62403b186f2ace
++pubmatic.com,160096,RESELLER,5d62403b186f2ace
++emxdgt.com,2009,RESELLER,1e1d41537f7cad7f
++appnexus.com,1356,RESELLER,f5ab79cb980f11d1
++themediagrid.com,JTQKMP,RESELLER,35d5010d7789b49d
++beachfront.com,14804,RESELLER,e2541279e8e2ca4d
++improvedigital.com,2050,RESELLER
++mintegral.com,10043,RESELLER,0aeed750c80d6423
++onetag.com,770a440e65869c2,RESELLER
++media.net,8CUZ1MK22,RESELLER
++risecodes.com,63832beef8189a00015cb6d3,RESELLER
++uis.mobfox.com,93308,RESELLER,5529a3d1f59865be
++adyoulike.com,7463c359225e043c111036d7a29affa5,RESELLER
++minutemedia.com,01gya4708ddm,RESELLER
++visiblemeasures.com,1052,RESELLER
++undertone.com,4205,RESELLER,d954590d0cb265b9
++imds.tv,AM1601,RESELLER,ae6c32151e71f19d
++kargo.com,8824,RESELLER
++start.io,123111883,RESELLER
++connectad.io,455,RESELLER,85ac85a30c93b3e5
++onlinemediasolutions.com,21020,RESELLER,b3868b187e4b6402
++supply.colossusssp.com,836,RESELLER,6c5b49d96ec1b458
++opera.com,pub12058951686464,RESELLER,55a0c5fd61378de3
++richaudience.com,MMuGgvZcVd,RESELLER
++
++#AppNexus
++Xandr.com, 13514, DIRECT
++
++#CPMStar
++cpmstar.com, 54166, DIRECT, 1b929e6459dfc260
++appnexus.com, 9624, RESELLER, f5ab79cb980f11d1
++openx.com, 541079309, RESELLER, 6a698e2ec38604c6
++openx.com, 541166421, RESELLER, 6a698e2ec38604c6
++rubiconproject.com, 23330, RESELLER, 0bfd66d529a55807
++loopme.com, 15268, RESELLER, 6c8d5f95897a5a3b
++loopme.com, 15270, RESELLER, 6c8d5f95897a5a3b
++ushareit.com, LC98ffe3f38a46423e, RESELLER
++freewheel.tv, 1137745, RESELLER
++amxrtb.com, 105199420, RESELLER
++adform.com, 2865, RESELLER
++yahoo.com, 49648, RESELLER
++33across.com, 0010b00002QImX1AAL, RESELLER, bbea06d9c4d2853c
++indexexchange.com, 190966, RESELLER, 50b1c356f2c5c8fc
++emxdgt.com, 2651, RESELLER, 1e1d41537f7cad7f
++conversantmedia.com, 100316, RESELLER, 03113cd04947736d
++rhythmone.com, 1838093862, RESELLER, a670c89d4a324e47
++video.unrulymedia.com, 1838093862, RESELLER
++video.unrulymedia.com, 1782942345, RESELLER
++richaudience.com, NtMZGaQQTT, RESELLER
++adform.com, 1942, RESELLER
++telaria.com cpu32-92xut RESELLER 1a4e959a1b50034a
++tremorhub.com cpu32-92xut RESELLER 1a4e959a1b50034a
++bidgx.com, 63016, RESELLER
++rubiconproject.com, 27034, RESELLER, 0bfd66d529a55807
++sharethrough.com, AgltJqgT, RESELLER, d53b998a7bd4ecd2
++nobid.io, 22451303355, RESELLER
++pubmatic.com, 160251, RESELLER, 5d62403b186f2ace
++onetag.com, 753930a353d6990, RESELLER
++advertising.com, 28246, RESELLER
++google.com, pub-3769010358500643, RESELLER, f08c47fec0942fa0
++freewheel.tv, 20393, RESELLER
++admanmedia.com, 2199, RESELLER
++adagio.io, 1507, RESELLER
++media.net, 8CU58PCO4, RESELLER
++triplelift.com, 12456, RESELLER, 6c33edb13117fd86
++insticator.com, a4be8543-c8b1-4f3a-a4c0-73cfbdc3b652, RESELLER, b3511ffcafb23a32
++oko.uk, a4be8543-c8b1-4f3a-a4c0-73cfbdc3b652, DIRECT, b3511ffcafb23a32 #OKO_Version_456
++smaato.com, 1100047713, RESELLER,07bcf65f187117b4
++adform.com, 2996, RESELLER
++eskimi.com,2020000364, RESELLER
++gumgum.com, 15729, RESELLER, ffdef49475d318a9
++waardex.com, 215296, RESELLER
++risecodes.com, 673da70c91e2fd000109c6f6, RESELLER
++crystall.io, 315297, DIRECT
++admatic.com.tr, adm-pub-3698631073, RESELLER, uufps1dh5stc6euk
++smartadserver.com, 4872, RESELLER, 060d053dcf45cbf3
++sonobi.com, da6df59178, RESELLER, d1a215d9eb5aee9e
++inventorypartnerdomain=sonobi.com
++smaato.com, 1100058321, RESELLER, 07bcf65f187117b4
++improvedigital.com, 2434, RESELLER
++e-planning.net, e91ae9f917dd018e, RESELLER, c1ba615865ed87b2
++nativo.com, 6000, RESELLER, 59521ca7cc5e9fee
++zetaglobal.net, 989, RESELLER
++lijit.com, 57729, RESELLER, fafdf38b16bf6b2b
++krushmedia.com, AJxF6R572a9M6CaTvK, RESELLER
++inmobi.com, b01aa06531c543d8a5fb9982f60afb00, RESELLER, 83e75a7ae333ca9d
++motorik.io, 100463, RESELLER
++mediafuse.com, 815, RESELLER
++media.net, 8CUV34PJ4, RESELLER
++risecodes.com, 67a38418e115360001678324, RESELLER
++appnexus.com, 9538, RESELLER, f5ab79cb980f11d1
++
++#GumGum
++gumgum.com, 15913, DIRECT, ffdef49475d318a9
++rubiconproject.com, 23434, RESELLER, 0bfd66d529a55807
++pubmatic.com, 157897, RESELLER, 5d62403b186f2ace
++appnexus.com, 2758, RESELLER, f5ab79cb980f11d1
++contextweb.com, 558355, RESELLER, 89ff185a4c4e857c
++openx.com, 537149485, RESELLER, 6a698e2ec38604c6
++improvedigital.com, 1884, RESELLER
++smartadserver.com, 4005, RESELLER, 060d053dcf45cbf3
++krushmedia.com, AJxF6R621a9M6CaTvK, RESELLER
++admedia.com, AM1606, RESELLER
++admanmedia.com, 799, RESELLER
++
++#Insticator
++insticator.com,3d7d65a4-e4d1-4c9d-ae32-77f4252b25eb,DIRECT,b3511ffcafb23a32
++sharethrough.com,Q9IzHdvp,DIRECT,d53b998a7bd4ecd2
++rubiconproject.com,17062,RESELLER,0bfd66d529a55807
++risecodes.com,6124caed9c7adb0001c028d8,DIRECT
++yieldmo.com,2754490424016969782,RESELLER
++rubiconproject.com,23876,RESELLER,0bfd66d529a55807
++openx.com,537140488,RESELLER,6a698e2ec38604c6
++video.unrulymedia.com,335119963,RESELLER
++pubmatic.com,95054,DIRECT,5d62403b186f2ace
++video.unrulymedia.com,136898039,RESELLER
++openx.com,558230700,RESELLER,6a698e2ec38604c6
++lijit.com,257618,RESELLER,fafdf38b16bf6b2b
++appnexus.com,3695,RESELLER,f5ab79cb980f11d1
++minutemedia.com,01garg96c88b,RESELLER
++loopme.com,11530,RESELLER,6c8d5f95897a5a3b
++triplelift.com,12158,RESELLER,6c33edb13117fd86
++onetag.com,5649f68000b2f63,RESELLER
++freewheel.tv,20393,RESELLER
++freewheel.tv,24377,RESELLER
++33across.com,0010b00001rrPUnAAM,RESELLER,bbea06d9c4d2853c
++conversantmedia.com,100141,RESELLER,03113cd04947736d
++triplelift.com,12503,RESELLER,6c33edb13117fd86
++adform.com,2996,RESELLER
++pmc.com,1242710,DIRECT,8dd52f825890bb44
++rubiconproject.com,10278,RESELLER,0bfd66d529a55807
++smaato.com,1100058355,DIRECT,07bcf65f187117b4
++conversantmedia.com,100346,RESELLER,03113cd04947736d
++inmobi.com,55049d2e109d4ac1820ca1432dda4e13,RESELLER,83e75a7ae333ca9d
++eskimi.com,2020000364,RESELLER
++pubmatic.com,162270,RESELLER,5d62403b186f2ace
++
++#KueezRTB
++kueez.com,b00c846c1849c000c0e05101af7e6860, DIRECT
++appnexus.com,8826,reseller
++rubiconproject.com,16920,reseller
++openx.com,557564833,reseller
++lijit.com,407406,reseller
++media.net,8cu4jtrf9,reseller
++pubmatic.com,162110,reseller
++sharethrough.com,n98xdzel,reseller
++33across.com, 0010b00002ODU4HAAX,reseller, bbea06d9c4d2853c
++yieldmo.com,3133660606033240149,reseller
++onetag.com,6e053d779444c00,reseller
++video.unrulymedia.com,3486482593,reseller
++sonobi.com,4c4fba1717,reseller
++smartadserver.com,4288,reseller
++zetaglobal.com,108,reseller
++improvedigital.com,2106,reseller
++loopme.com,11576,reseller
++themediagrid.com,uot45z,reseller
++
++#MinuteMedia
++minutemedia.com, 01g24drmsvqj, RESELLER
++pubmatic.com, 161683, RESELLER, 5d62403b186f2ace
++appnexus.com, 8381, RESELLER
++openx.com, 540780517, RESELLER, 6a698e2ec38604c6
++rubiconproject.com, 17598, RESELLER, 0bfd66d529a55807
++sonobi.com, 37fbaf262c, RESELLER, d1a215d9eb5aee9e
++indexexchange.com, 196326, RESELLER
++sharethrough.com, xz7QjFBY, RESELLER, d53b998a7bd4ecd2
++video.unrulymedia.com, 699546687, RESELLER
++yieldmo.com, 2954622693783052507, RESELLER
++onetag.com, 765b4e6bb9c8438, RESELLER
++lijit.com, 264726, RESELLER, fafdf38b16bf6b2b
++33across.com, 0013300001jlr99AAA, RESELLER, bbea06d9c4d2853c
++loopme.com, 11556, RESELLER, 6c8d5f95897a5a3b
++amxrtb.com, 105199663, RESELLER
++smartadserver.com, 4106, RESELLER, 060d053dcf45cbf3
++Contextweb.com, 562963, RESELLER, 89ff185a4c4e857c
++zeta.com, 591, RESELLER
++disqus.com, 591, RESELLER
++admanmedia.com, 953, RESELLER
++betweendigital.com, 44808, RESELLER
++freewheel.tv,1577878,RESELLER
++freewheel.tv,1577888,RESELLER
++adyoulike.com, 53264963677efeda057eef7db2cb305f, RESELLER
++
++#Ogury
++ogury.com, ae2867f7-64af-4f94-a7f7-780ede964919, RESELLER
++ogury.com, ae2867f7-64af-4f94-a7f7-780ede964919, DIRECT
++appnexus.com, 11470, RESELLER
++pubmatic.com, 163238, RESELLER, 5d62403b186f2ace
++smartadserver.com, 4537, RESELLER, 060d053dcf45cbf3
++rubiconproject.com, 25198, RESELLER, 0bfd66d529a55807
++video.unrulymedia.com, 533898005, RESELLER
++thebrave.io, 1234746, RESELLER, c25b2154543746ac
++
++#Onetag
++onetag.com, 766cb9657525330, RESELLER
++onetag.com, 766cb9657525330-OB, RESELLER
++appnexus.com, 13099, RESELLER
++yahoo.com, 58905, RESELLER, e1a5b5b6e3255540
++pubmatic.com, 161593, RESELLER, 5d62403b186f2ace
++rubiconproject.com, 11006, RESELLER, 0bfd66d529a55807
++smartadserver.com, 4111, RESELLER
++video.unrulymedia.com, 586616193, RESELLER
++
++#PGAMSSP
++pgamssp.com, 642db2eba4eb3f6b34033505, DIRECT
++pubmatic.com, 162623, RESELLER, 5d62403b186f2ace
++rubiconproject.com, 24852, RESELLER, 0bfd66d529a55807
++video.unrulymedia.com, 5921144960123684292, RESELLER
++onetag.com, 87f80e5d9d55274, RESELLER
++amxrtb.com, 105199776, RESELLER
++sharethrough.com, FhiWXM0L, RESELLER, d53b998a7bd4ecd2
++33across.com, 0015a00003ALsDfAAL, DIRECT, bbea06d9c4d2853c
++admanmedia.com, 2209, RESELLER
++triplelift.com, 12456, RESELLER, 6c33edb13117fd86
++media.net, 8CU58PCO4, RESELLER
++lijit.com, 402418, RESELLER, fafdf38b16bf6b2b
++inmobi.com, 8b70afb78ac249ccbd71be4f75dbf09c, RESELLER, 83e75a7ae333ca9d
++smaato.com, 1100058906, RESELLER, 07bcf65f187117b4
++appnexus.com, 15427 , RESELLER, f5ab79cb980f11d1
++
++#Pubmatic
++pubmatic.com, 160923, RESELLER, 5d62403b186f2ace
++pubmatic.com, 160912, RESELLER, 5d62403b186f2ace
++
++#qortex.ai
++qortex.ai, 161124, DIRECT
++xandr.com, 13416, RESELLER
++pubmatic.com, 161089, RESELLER, 5d62403b186f2ace
++rubiconproject.com, 24138, RESELLER, 0bfd66d529a55807
++sovrn.com, 347623, RESELLER, fafdf38b16bf6b2b
++betweendigital.com, 44016, RESELLER
++nobid.io, 22491714326, RESELLER
++lijit.com, 347623, RESELLER, fafdf38b16bf6b2b
++rhythmone.com, 3468144962, RESELLER, a670c89d4a324e47
++nextmillennium.io, 15956, RESELLER, 65bd090fa4a1e3d6
++appnexus.com, 9284, RESELLER, f5ab79cb980f11d1
++rubiconproject.com, 17888, RESELLER, 0bfd66d529a55807
++pubmatic.com, 157577, RESELLER, 5d62403b186f2ace
++openx.com, 540224251, RESELLER, 6a698e2ec38604c6
++33across.com, 0010b00002e4MRRAA2, RESELLER, bbea06d9c4d2853c
++indexexchange.com, 194648, RESELLER, 50b1c356f2c5c8fc
++amxrtb.com, 105199467, RESELLER
++152media.info, 152M194, RESELLER
++appnexus.com, 11924, RESELLER, f5ab79cb980f11d1
++axonix.com, 59081, RESELLER, bc385f2b4a87b721
++appnexus.com, 14077, RESELLER
++33across.com, 0015a00002qt8uxAAA, RESELLER, bbea06d9c4d2853c
++smartadserver.com, 4205, RESELLER
++openx.com, 557927444, RESELLER, 6a698e2ec38604c6
++yieldmo.com, 3117806966060032819, RESELLER
++amxrtb.com, 105199608, RESELLER
++contextweb.com, 562422, RESELLER, 89ff185a4c4e857c
++risecodes.com, 653b9491697a4200010b373e, RESELLER
++admixer.net, eacb57fd-226f-481c-9d2e-77df6a29bead, RESELLER
++risecodes.com, 653b9491697a4200010b373e, DIRECT
++admanmedia.com, 2162, DIRECT
++visiblemeasures.com, 1004, DIRECT
++nextmillennium.io, 15956, DIRECT, 65bd090fa4a1e3d6
++admagnetix.io, 201013, DIRECT
++appnexus.com, 15799, DIRECT, f5ab79cb980f11d1
++indexexchange.com, 207985, RESELLER, 50b1c356f2c5c8fc
++rubiconproject.com, 26296, RESELLER, 0bfd66d529a55807
++pubmatic.com, 164400, RESELLER, 5d62403b186f2ace
++openx.com, 540224251, DIRECT, 6a698e2ec38604c6
++conversantmedia.com, 100689, RESELLER, 03113cd04947736d
++
++#Rise
++risecodes.com, 60c8b4e48985e4000198293e, DIRECT
++risecodes.com, 66fac9081efdb80001a3dc64, RESELLER
++sharethrough.com, 5926d422, RESELLER, d53b998a7bd4ecd2
++pubmatic.com, 160295, RESELLER, 5d62403b186f2ace
++rubiconproject.com, 23876, RESELLER, 0bfd66d529a55807
++xandr.com, 14082, RESELLER
++media.net, 8CUQ6928Q, RESELLER
++video.unrulymedia.com, 335119963, RESELLER
++loopme.com, 11362, RESELLER, 6c8d5f95897a5a3b
++smaato.com, 1100057444, RESELLER, 07bcf65f187117b4
++yieldmo.com, 2754490424016969782, RESELLER
++lijit.com, 405318, RESELLER, fafdf38b16bf6b2b
++onetag.com, 69f48c2160c8113, RESELLER
++inmobi.com, 9e311c7a68e94888aac7fbb4272381e2, RESELLER, 83e75a7ae333ca9d
++openx.com, 537140488, RESELLER, 6a698e2ec38604c6
++smartadserver.com, 4284, RESELLER
++33across.com, 0010b00002Xbn7QAAR, RESELLER, bbea06d9c4d2853c
++themediagrid.com, 4DQHAP, RESELLER, 35d5010d7789b49d
++themediagrid.com, HW1PGR, RESELLER, 35d5010d7789b49d
++amxrtb.com, 105199691, RESELLER
++contextweb.com,562615,RESELLER,89ff185a4c4e857c
++adform.com, 3119, RESELLER, 9f5210a2f0999e32
++adyoulike.com, 78afbc34fac571736717317117dfa247, RESELLER
++gumgum.com, 16112, RESELLER, ffdef49475d318a9
++zetaglobal.net, 716, RESELLER
++freewheel.tv, 1590601, RESELLER
++freewheel.tv, 1590606, RESELLER
++
++#Seedtag
++seedtag.com,66ccb3ba86b30600071f0680, DIRECT
++xandr.com, 4009, DIRECT, f5ab79cb980f11d1
++smartadserver.com, 3050, DIRECT
++rubiconproject.com, 17280, DIRECT, 0bfd66d529a55807
++pubmatic.com, 157743, DIRECT, 5d62403b186f2ace
++openx.com, 558758631, RESELLER, 6a698e2ec38604c6
++lijit.com, 397546, DIRECT, fafdf38b16bf6b2b
++onetag.com, 75601b04186d260, DIRECT
++indexexchange.com, 191730, RESELLER, 50b1c356f2c5c8fc
++sharethrough.com, AXS5NfBr, DIRECT, d53b998a7bd4ecd2
++loopme.com, 11712, RESELLER, 6c8d5f95897a5a3b
++
++#Sharethrough
++sharethrough.com, klmhOixP, RESELLER, d53b998a7bd4ecd2
++sharethrough.com, VBnIVRhy, RESELLER, d53b998a7bd4ecd2
++pubmatic.com, 156557, RESELLER
++rubiconproject.com, 18694, RESELLER, 0bfd66d529a55807
++openx.com, 540274407, RESELLER, 6a698e2ec38604c6
++33across.com, 0013300001kQj2HAAS, RESELLER, bbea06d9c4d2853c
++smaato.com, 1100047713, RESELLER, 07bcf65f187117b4
++smartadserver.com, 4342, RESELLER
++smartadserver.com, 4012, RESELLER
++video.unrulymedia.com, 266978658, RESELLER
++
++#SmileWanted
++smilewanted.com, 4715, RESELLER
++pubmatic.com, 158810, RESELLER, 5d62403b186f2ace
++smartadserver.com, 2491, RESELLER,
++rubiconproject.com, 19814, RESELLER, 0bfd66d529a55807
++appnexus.com, 10040, RESELLER
++improvedigital.com, 1010, RESELLER
++openx.com, 557083110, RESELLER, 6a698e2ec38604c6
++yahoo.com, 59702, RESELLER
++triplelift.com, 9979, RESELLER, 6c33edb13117fd86
++lijit.com, 346012-eb, DIRECT, fafdf38b16bf6b2b
++lijit.com, 346012, DIRECT, fafdf38b16bf6b2b
++adform.com, 3027, RESELLER
++sharethrough.com, TZ1ahFV8, RESELLER, d53b998a7bd4ecd2
++video.unrulymedia.com, 1767448067723954599, RESELLER
++admanmedia.com, 722, DIRECT
++onetag.com, 7f5d22b0006ab5a, RESELLER
++Vidoomy.com, 7763608 , RESELLER
++Adform.com , 2742 , RESELLER
++33across.com, 001Pg000009Gtq2IAC, DIRECT, bbea06d9c4d2853c
++themediagrid.com, ZG1DBN, RESELLER, 35d5010d7789b49d
++amxrtb.com, 105199841, RESELLER
++loopme.com, 11468, RESELLER, 6c8d5f95897a5a3b
++
++#Vidazoo
++vidazoo.com, 64ca85617627afa447b7c523, DIRECT, b6ada874b4d7d0b2
++rubiconproject.com, 17130, RESELLER, 0bfd66d529a55807
++appnexus.com, 2794, RESELLER, f5ab79cb980f11d1
++lijit.com, 222372, RESELLER, fafdf38b16bf6b2b
++pubmatic.com, 159988, RESELLER, 5d62403b186f2ace
++themediagrid.com, 3AW9JB, RESELLER, 35d5010d7789b49d
++openx.com, 541017750, RESELLER, 6a698e2ec38604c6
++video.unrulymedia.com, 2743945877, RESELLER
++media.net, 8CUN4Y5Y3, RESELLER
++sharethrough.com, S2rESyUH, RESELLER, d53b998a7bd4ecd2
++supply.colossusssp.com, 181, RESELLER, 6c5b49d96ec1b458
++emxdgt.com, 1799, RESELLER, 1e1d41537f7cad7f
++inmobi.com, a2f906791b56472e9819a9781a7c9eae, RESELLER, 83e75a7ae333ca9d
++
++#Yieldmo
++yieldmo.com, 3433633362181300978, DIRECT
++rubiconproject.com, 17070, RESELLER, 0bfd66d529a55807 #yieldmo
++pubmatic.com, 160648, RESELLER, 5d62403b186f2ace #yieldmo
++openx.com, 558228330, RESELLER, 6a698e2ec38604c6 #yieldmo
++contextweb.com, 561118, RESELLER, 89ff185a4c4e857c #yieldmo
++conversantmedia.com, 100270, RESELLER, 03113cd04947736d #yieldmo
++appnexus.com, 7911, RESELLER #yieldmo
++rhythmone.com, 3463482822,RESELLER,a670c89d4a324e47 #yieldmo
++video.unrulymedia.com, 3463482822, RESELLER #yieldmo
++smartadserver.com, 4524, RESELLER, 060d053dcf45cbf3 #yieldmo
++smartadserver.com, 4071, RESELLER, 060d053dcf45cbf3 #yieldmo
++loopme.com,11479,RESELLER,6c8d5f95897a5a3b #yieldmo
++lunamedia.io, 920a0ad09fc811ec82a719991b8924e5, RESELLER, 524ecb396915caaf #yieldmo
++iqzone.com,IQ190,RESELLER
++smartyads.com, 217, RESELLER, fd2bde0ff2e62c5d #yieldmo
++pubnative.net, 1007284, RESELLER, d641df8625486a7b #yieldmodisplay
++pubnative.net, 1007285, RESELLER, d641df8625486a7b #yieldmonative
++pubnative.net, 1007286, RESELLER, d641df8625486a7b #yieldmovideo
++admanmedia.com, 746, RESELLER #yieldmo
++visiblemeasures.com, 1041, DIRECT #yieldmo
++iqzone.com,IQ190,RESELLER
++krushmedia.com, AJxF6R537a9M6CaTvK, RESELLER
++consumable.com, 2001460, DIRECT, aefcd3d2f45b5070
++
++#InMobi
++inmobi.com, fe21beaa65784e0fb322e9b4f3bf9e24, DIRECT, 83e75a7ae333ca9d
++rubiconproject.com, 11726, RESELLER, 0bfd66d529a55807
++rubiconproject.com, 12266, RESELLER, 0bfd66d529a55807
++pubmatic.com, 157097, RESELLER, 5d62403b186f2ace
++conversantmedia.com, 40881, RESELLER, 03113cd04947736d
++rubiconproject.com, 16928, RESELLER, 0bfd66d529a55807
++smaato.com, 1100053415, RESELLER, 07bcf65f187117b4
++
++#Triplelift
++triplelift.com, 14661, RESELLER, 6c33edb13117fd86
+diff --git a/packages/app-lib/.sqlx/query-5c803f3d90c147210e8e7a7a6d7234d3801bc38c23e1e02fbd8fa08ae51e8f08.json b/packages/app-lib/.sqlx/query-727e3e1bc8625bbcb833920059bb8cea926ac6c65d613904eff1d740df30acda.json
+similarity index 74%
+rename from packages/app-lib/.sqlx/query-5c803f3d90c147210e8e7a7a6d7234d3801bc38c23e1e02fbd8fa08ae51e8f08.json
+rename to packages/app-lib/.sqlx/query-727e3e1bc8625bbcb833920059bb8cea926ac6c65d613904eff1d740df30acda.json
+index 28e946944..6bea4035d 100644
+--- a/packages/app-lib/.sqlx/query-5c803f3d90c147210e8e7a7a6d7234d3801bc38c23e1e02fbd8fa08ae51e8f08.json
++++ b/packages/app-lib/.sqlx/query-727e3e1bc8625bbcb833920059bb8cea926ac6c65d613904eff1d740df30acda.json
+@@ -1,6 +1,6 @@
+ {
+ "db_name": "SQLite",
+- "query": "\n SELECT\n uuid, active, username, access_token, refresh_token, expires, account_type\n FROM minecraft_users\n ",
++ "query": "\n SELECT\n uuid, active, username, access_token, refresh_token, expires\n FROM minecraft_users\n ",
+ "describe": {
+ "columns": [
+ {
+@@ -32,11 +32,6 @@
+ "name": "expires",
+ "ordinal": 5,
+ "type_info": "Integer"
+- },
+- {
+- "name": "account_type",
+- "ordinal": 6,
+- "type_info": "Text"
+ }
+ ],
+ "parameters": {
+@@ -48,9 +43,8 @@
+ false,
+ false,
+ false,
+- false,
+ false
+ ]
+ },
+- "hash": "5c803f3d90c147210e8e7a7a6d7234d3801bc38c23e1e02fbd8fa08ae51e8f08"
++ "hash": "727e3e1bc8625bbcb833920059bb8cea926ac6c65d613904eff1d740df30acda"
+ }
+diff --git a/packages/app-lib/.sqlx/query-8f7d4406ddae4a158eabb20fc6a8ffb21c4e22c7ff33459df5049ee441fa0467.json b/packages/app-lib/.sqlx/query-8f7d4406ddae4a158eabb20fc6a8ffb21c4e22c7ff33459df5049ee441fa0467.json
+deleted file mode 100644
+index 763f512d2..000000000
+--- a/packages/app-lib/.sqlx/query-8f7d4406ddae4a158eabb20fc6a8ffb21c4e22c7ff33459df5049ee441fa0467.json
++++ /dev/null
+@@ -1,12 +0,0 @@
+-{
+- "db_name": "SQLite",
+- "query": "\n INSERT INTO minecraft_users (uuid, active, username, access_token, refresh_token, expires, account_type)\n VALUES ($1, $2, $3, $4, $5, $6, $7)\n ON CONFLICT (uuid) DO UPDATE SET\n active = $2,\n username = $3,\n access_token = $4,\n refresh_token = $5,\n expires = $6,\n account_type = $7\n ",
+- "describe": {
+- "columns": [],
+- "parameters": {
+- "Right": 7
+- },
+- "nullable": []
+- },
+- "hash": "8f7d4406ddae4a158eabb20fc6a8ffb21c4e22c7ff33459df5049ee441fa0467"
+-}
+diff --git a/packages/app-lib/.sqlx/query-57214178fb3a0ccd8f67457e9732a706cbc4a4f5190c9320d1ad6111b9711d63.json b/packages/app-lib/.sqlx/query-bf7d47350092d87c478009adaab131168e87bb37aa65c2156ad2cb6198426d8c.json
+similarity index 72%
+rename from packages/app-lib/.sqlx/query-57214178fb3a0ccd8f67457e9732a706cbc4a4f5190c9320d1ad6111b9711d63.json
+rename to packages/app-lib/.sqlx/query-bf7d47350092d87c478009adaab131168e87bb37aa65c2156ad2cb6198426d8c.json
+index 2c0114a74..754b62c99 100644
+--- a/packages/app-lib/.sqlx/query-57214178fb3a0ccd8f67457e9732a706cbc4a4f5190c9320d1ad6111b9711d63.json
++++ b/packages/app-lib/.sqlx/query-bf7d47350092d87c478009adaab131168e87bb37aa65c2156ad2cb6198426d8c.json
+@@ -1,6 +1,6 @@
+ {
+ "db_name": "SQLite",
+- "query": "\n SELECT\n uuid, active, username, access_token, refresh_token, expires, account_type\n FROM minecraft_users\n WHERE active = TRUE\n ",
++ "query": "\n SELECT\n uuid, active, username, access_token, refresh_token, expires\n FROM minecraft_users\n WHERE active = TRUE\n ",
+ "describe": {
+ "columns": [
+ {
+@@ -32,11 +32,6 @@
+ "name": "expires",
+ "ordinal": 5,
+ "type_info": "Integer"
+- },
+- {
+- "name": "account_type",
+- "ordinal": 6,
+- "type_info": "Text"
+ }
+ ],
+ "parameters": {
+@@ -48,9 +43,8 @@
+ false,
+ false,
+ false,
+- false,
+ false
+ ]
+ },
+- "hash": "57214178fb3a0ccd8f67457e9732a706cbc4a4f5190c9320d1ad6111b9711d63"
++ "hash": "bf7d47350092d87c478009adaab131168e87bb37aa65c2156ad2cb6198426d8c"
+ }
+diff --git a/packages/app-lib/.sqlx/query-d719cf2f6f87c5ea7ea6ace2d6a1828ee58a724f06a91633b8a40b4e04d0b9a0.json b/packages/app-lib/.sqlx/query-d719cf2f6f87c5ea7ea6ace2d6a1828ee58a724f06a91633b8a40b4e04d0b9a0.json
+new file mode 100644
+index 000000000..4c8f4f8e3
+--- /dev/null
++++ b/packages/app-lib/.sqlx/query-d719cf2f6f87c5ea7ea6ace2d6a1828ee58a724f06a91633b8a40b4e04d0b9a0.json
+@@ -0,0 +1,12 @@
++{
++ "db_name": "SQLite",
++ "query": "\n INSERT INTO minecraft_users (uuid, active, username, access_token, refresh_token, expires)\n VALUES ($1, $2, $3, $4, $5, $6)\n ON CONFLICT (uuid) DO UPDATE SET\n active = $2,\n username = $3,\n access_token = $4,\n refresh_token = $5,\n expires = $6\n ",
++ "describe": {
++ "columns": [],
++ "parameters": {
++ "Right": 6
++ },
++ "nullable": []
++ },
++ "hash": "d719cf2f6f87c5ea7ea6ace2d6a1828ee58a724f06a91633b8a40b4e04d0b9a0"
++}
+diff --git a/packages/app-lib/migrations/20240711194701_init.sql b/packages/app-lib/migrations/20240711194701_init.sql
+index 5abc4e8a5..574e82278 100644
+--- a/packages/app-lib/migrations/20240711194701_init.sql
++++ b/packages/app-lib/migrations/20240711194701_init.sql
+@@ -4,13 +4,13 @@ CREATE TABLE settings (
+ max_concurrent_downloads INTEGER NOT NULL DEFAULT 10,
+ max_concurrent_writes INTEGER NOT NULL DEFAULT 10,
+
+- theme TEXT NOT NULL DEFAULT 'oled',
++ theme TEXT NOT NULL DEFAULT 'dark',
+ default_page TEXT NOT NULL DEFAULT 'home',
+ collapsed_navigation INTEGER NOT NULL DEFAULT TRUE,
+ advanced_rendering INTEGER NOT NULL DEFAULT TRUE,
+ native_decorations INTEGER NOT NULL DEFAULT FALSE,
+
+- telemetry INTEGER NOT NULL DEFAULT FALSE,
++ telemetry INTEGER NOT NULL DEFAULT TRUE,
+ discord_rpc INTEGER NOT NULL DEFAULT TRUE,
+ developer_mode INTEGER NOT NULL DEFAULT FALSE,
+
+diff --git a/packages/app-lib/migrations/20250716135844_update_minecraft_users_add_account_type.sql b/packages/app-lib/migrations/20250716135844_update_minecraft_users_add_account_type.sql
+deleted file mode 100644
+index ccced5902..000000000
+--- a/packages/app-lib/migrations/20250716135844_update_minecraft_users_add_account_type.sql
++++ /dev/null
+@@ -1,5 +0,0 @@
+--- [AR] - SQL Migration
+-ALTER TABLE minecraft_users ADD COLUMN account_type varchar(32) NOT NULL DEFAULT 'unknown';
+-
+-UPDATE minecraft_users SET account_type = 'microsoft' WHERE access_token != 'null';
+-UPDATE minecraft_users SET account_type = 'pirate' WHERE access_token == 'null';
+\ No newline at end of file
+diff --git a/packages/app-lib/src/api/minecraft_auth.rs b/packages/app-lib/src/api/minecraft_auth.rs
+index 519bc1bc0..ae5e1a6d7 100644
+--- a/packages/app-lib/src/api/minecraft_auth.rs
++++ b/packages/app-lib/src/api/minecraft_auth.rs
+@@ -20,24 +20,6 @@ pub async fn finish_login(
+ crate::state::login_finish(code, flow, &state.pool).await
+ }
+
+-#[tracing::instrument]
+-pub async fn offline_auth(
+- name: &str
+-) -> crate::Result {
+- let state = State::get().await?;
+- crate::state::offline_auth(name, &state.pool).await
+-}
+-
+-#[tracing::instrument]
+-pub async fn elyby_auth(
+- uuid: uuid::Uuid,
+- login: &str,
+- access_token: &str
+-) -> crate::Result {
+- let state = State::get().await?;
+- crate::state::elyby_auth(uuid, login, access_token, &state.pool).await
+-}
+-
+ #[tracing::instrument]
+ pub async fn get_default_user() -> crate::Result> {
+ let state = State::get().await?;
+diff --git a/packages/app-lib/src/api/mod.rs b/packages/app-lib/src/api/mod.rs
+index ff0dc7f96..1243c244f 100644
+--- a/packages/app-lib/src/api/mod.rs
++++ b/packages/app-lib/src/api/mod.rs
+@@ -13,7 +13,6 @@ pub mod process;
+ pub mod profile;
+ pub mod server_address;
+ pub mod settings;
+-pub mod update; // [AR] Feature
+ pub mod tags;
+ pub mod worlds;
+
+diff --git a/packages/app-lib/src/api/pack/import/curseforge_profile.rs b/packages/app-lib/src/api/pack/import/curseforge_profile.rs
+deleted file mode 100644
+index 0c3527a60..000000000
+--- a/packages/app-lib/src/api/pack/import/curseforge_profile.rs
++++ /dev/null
+@@ -1,604 +0,0 @@
+-use std::io::Cursor;
+-
+-use async_zip::base::read::seek::ZipFileReader;
+-use serde::{Deserialize, Serialize};
+-
+-use crate::{
+- State,
+- event::{LoadingBarType, ProfilePayloadType},
+- prelude::ModLoader,
+- state::{LinkedData, ProfileInstallStage},
+- util::fetch::fetch,
+-};
+-
+-use super::copy_dotminecraft;
+-
+-#[derive(Serialize, Deserialize, Debug)]
+-#[serde(rename_all = "camelCase")]
+-pub struct CurseForgeManifest {
+- pub minecraft: CurseForgeMinecraft,
+- pub manifest_type: String,
+- pub manifest_version: i32,
+- pub name: String,
+- pub version: String,
+- pub author: String,
+- pub files: Vec,
+- pub overrides: String,
+-}
+-
+-#[derive(Serialize, Deserialize, Debug)]
+-#[serde(rename_all = "camelCase")]
+-pub struct CurseForgeMinecraft {
+- pub version: String,
+- pub mod_loaders: Vec,
+-}
+-
+-#[derive(Serialize, Deserialize, Debug)]
+-#[serde(rename_all = "camelCase")]
+-pub struct CurseForgeModLoader {
+- pub id: String,
+- pub primary: bool,
+-}
+-
+-#[derive(Serialize, Deserialize, Debug, Clone)]
+-pub struct CurseForgeFile {
+- #[serde(rename = "projectID")]
+- pub project_id: u32,
+- #[serde(rename = "fileID")]
+- pub file_id: u32,
+- pub required: bool,
+-}
+-
+-#[derive(Serialize, Deserialize, Debug)]
+-pub struct CurseForgeProfileMetadata {
+- pub name: String,
+- pub download_url: String,
+-}
+-
+-/// Fetch CurseForge profile metadata from profile code
+-pub async fn fetch_curseforge_profile_metadata(
+- profile_code: &str,
+-) -> crate::Result {
+- let state = State::get().await?;
+-
+- // Make initial request to get redirect URL
+- let url = format!(
+- "https://api.curseforge.com/v1/shared-profile/{}",
+- profile_code
+- );
+-
+- // Try to fetch the profile - the CurseForge API should redirect to the ZIP file
+- let response = fetch(&url, None, &state.fetch_semaphore, &state.pool).await;
+-
+- let download_url = match response {
+- Ok(_bytes) => {
+- // If we get bytes back, use the original URL
+- url
+- }
+- Err(e) => {
+- // If we get an error, it might contain redirect information
+- let error_msg = format!("{:?}", e);
+- if let Some(redirect_start) =
+- error_msg.find("https://shared-profile-media.forgecdn.net/")
+- {
+- let redirect_end = error_msg[redirect_start..]
+- .find(' ')
+- .unwrap_or(error_msg.len() - redirect_start);
+- error_msg[redirect_start..redirect_start + redirect_end]
+- .to_string()
+- } else {
+- return Err(crate::ErrorKind::InputError(format!(
+- "Failed to fetch CurseForge profile metadata: {}",
+- e
+- ))
+- .into());
+- }
+- }
+- };
+-
+- // Now fetch the ZIP file and extract the name from manifest.json
+- let zip_bytes =
+- fetch(&download_url, None, &state.fetch_semaphore, &state.pool).await?;
+-
+- // Create a cursor for the ZIP data
+- let cursor = std::io::Cursor::new(zip_bytes);
+- let mut zip_reader =
+- ZipFileReader::with_tokio(cursor).await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to read profile ZIP: {}",
+- e
+- ))
+- })?;
+-
+- // Find and extract manifest.json
+- let manifest_index = zip_reader
+- .file()
+- .entries()
+- .iter()
+- .position(|f| {
+- f.filename().as_str().unwrap_or_default() == "manifest.json"
+- })
+- .ok_or_else(|| {
+- crate::ErrorKind::InputError(
+- "No manifest.json found in profile".to_string(),
+- )
+- })?;
+-
+- let mut manifest_content = String::new();
+- let mut reader = zip_reader
+- .reader_with_entry(manifest_index)
+- .await
+- .map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to read manifest.json: {}",
+- e
+- ))
+- })?;
+-
+- reader.read_to_string_checked(&mut manifest_content).await?;
+-
+- // Parse the manifest to get the actual name
+- let manifest: CurseForgeManifest = serde_json::from_str(&manifest_content)?;
+-
+- let profile_name = if manifest.name.is_empty() {
+- format!("CurseForge Profile {}", profile_code)
+- } else {
+- manifest.name.clone()
+- };
+-
+- Ok(CurseForgeProfileMetadata {
+- name: profile_name,
+- download_url,
+- })
+-}
+-
+-/// Import a CurseForge profile from profile code
+-pub async fn import_curseforge_profile(
+- profile_code: &str,
+- profile_path: &str,
+-) -> crate::Result<()> {
+- let state = State::get().await?;
+-
+- // Initialize loading bar
+- let loading_bar = crate::event::emit::init_loading(
+- LoadingBarType::CurseForgeProfileDownload {
+- profile_name: profile_path.to_string(),
+- },
+- 100.0,
+- "Importing CurseForge profile...",
+- )
+- .await?;
+-
+- // First, fetch the profile metadata to get the download URL
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 10.0,
+- Some("Fetching profile metadata..."),
+- )?;
+- let metadata = fetch_curseforge_profile_metadata(profile_code).await?;
+-
+- // Download the profile ZIP file
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 5.0,
+- Some("Downloading profile ZIP..."),
+- )?;
+- let zip_bytes = fetch(
+- &metadata.download_url,
+- None,
+- &state.fetch_semaphore,
+- &state.pool,
+- )
+- .await?;
+-
+- // Create a cursor for the ZIP data
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 5.0,
+- Some("Extracting ZIP contents..."),
+- )?;
+- let cursor = Cursor::new(zip_bytes);
+- let mut zip_reader =
+- ZipFileReader::with_tokio(cursor).await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to read profile ZIP: {}",
+- e
+- ))
+- })?;
+-
+- // Find and extract manifest.json
+- let manifest_index = zip_reader
+- .file()
+- .entries()
+- .iter()
+- .position(|f| {
+- f.filename().as_str().unwrap_or_default() == "manifest.json"
+- })
+- .ok_or_else(|| {
+- crate::ErrorKind::InputError(
+- "No manifest.json found in profile".to_string(),
+- )
+- })?;
+-
+- let mut manifest_content = String::new();
+- let mut reader = zip_reader
+- .reader_with_entry(manifest_index)
+- .await
+- .map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to read manifest.json: {}",
+- e
+- ))
+- })?;
+-
+- reader.read_to_string_checked(&mut manifest_content).await?;
+-
+- // Parse the manifest
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 5.0,
+- Some("Parsing profile manifest..."),
+- )?;
+- let manifest: CurseForgeManifest = serde_json::from_str(&manifest_content)?;
+-
+- // Determine modloader and version
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 5.0,
+- Some("Configuring profile..."),
+- )?;
+- let (mod_loader, loader_version) = if let Some(primary_loader) =
+- manifest.minecraft.mod_loaders.iter().find(|l| l.primary)
+- {
+- parse_modloader(&primary_loader.id)
+- } else if let Some(first_loader) = manifest.minecraft.mod_loaders.first() {
+- parse_modloader(&first_loader.id)
+- } else {
+- (ModLoader::Vanilla, None)
+- };
+-
+- let game_version = manifest.minecraft.version.clone();
+-
+- // Get appropriate loader version if needed
+- let final_loader_version = if mod_loader != ModLoader::Vanilla {
+- crate::launcher::get_loader_version_from_profile(
+- &game_version,
+- mod_loader,
+- loader_version.as_deref(),
+- )
+- .await?
+- } else {
+- None
+- };
+-
+- // Set profile data
+- crate::api::profile::edit(profile_path, |prof| {
+- prof.name = if manifest.name.is_empty() {
+- format!("CurseForge Profile {}", profile_code)
+- } else {
+- manifest.name.clone()
+- };
+- prof.install_stage = ProfileInstallStage::PackInstalling;
+- prof.game_version = game_version.clone();
+- prof.loader_version = final_loader_version.clone().map(|x| x.id);
+- prof.loader = mod_loader;
+-
+- // Set linked data for modpack management
+- prof.linked_data = Some(LinkedData {
+- project_id: String::new(),
+- version_id: String::new(),
+- locked: false,
+- });
+-
+- async { Ok(()) }
+- })
+- .await?;
+-
+- // Create a temporary directory to extract overrides
+- let temp_dir = state
+- .directories
+- .caches_dir()
+- .join(format!("curseforge_profile_{}", profile_code));
+- tokio::fs::create_dir_all(&temp_dir).await?;
+-
+- // Extract overrides directory if it exists
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 10.0,
+- Some("Extracting profile files..."),
+- )?;
+- let overrides_dir = temp_dir.join(&manifest.overrides);
+- tokio::fs::create_dir_all(&overrides_dir).await?;
+-
+- // Extract all files that are in the overrides directory
+- // First collect the entries we need to extract to avoid borrowing conflicts
+- let entries_to_extract: Vec<(usize, String)> = {
+- let zip_file = zip_reader.file();
+- zip_file
+- .entries()
+- .iter()
+- .enumerate()
+- .filter_map(|(index, entry)| {
+- let file_path = entry.filename().as_str().unwrap_or_default();
+- if file_path.starts_with(&format!("{}/", manifest.overrides)) {
+- Some((index, file_path.to_string()))
+- } else {
+- None
+- }
+- })
+- .collect()
+- };
+-
+- // Now extract each file
+- for (index, file_path) in entries_to_extract {
+- let relative_path = file_path
+- .strip_prefix(&format!("{}/", manifest.overrides))
+- .unwrap();
+- let output_path = overrides_dir.join(relative_path);
+-
+- // Create parent directories
+- if let Some(parent) = output_path.parent() {
+- tokio::fs::create_dir_all(parent).await?;
+- }
+-
+- // Extract file
+- let mut reader =
+- zip_reader.reader_with_entry(index).await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to read file {}: {}",
+- file_path, e
+- ))
+- })?;
+-
+- let mut file_content = Vec::new();
+- reader.read_to_end_checked(&mut file_content).await?;
+-
+- tokio::fs::write(&output_path, file_content).await?;
+- }
+-
+- // Copy overrides to profile
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 5.0,
+- Some("Copying profile files..."),
+- )?;
+- let _loading_bar = copy_dotminecraft(
+- profile_path,
+- overrides_dir,
+- &state.io_semaphore,
+- None,
+- )
+- .await?;
+-
+- // Download and install mods from CurseForge
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 10.0,
+- Some("Downloading mods..."),
+- )?;
+- install_curseforge_mods(
+- &manifest.files,
+- profile_path,
+- &state,
+- &loading_bar,
+- )
+- .await?;
+-
+- // Clean up temporary directory
+- tokio::fs::remove_dir_all(&temp_dir).await.ok();
+-
+- // Install Minecraft if needed
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 20.0,
+- Some("Installing Minecraft..."),
+- )?;
+- if let Some(profile_val) = crate::api::profile::get(profile_path).await? {
+- crate::launcher::install_minecraft(
+- &profile_val,
+- Some(_loading_bar),
+- false,
+- )
+- .await?;
+- }
+-
+- // Mark the profile as fully installed
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 20.0,
+- Some("Finalizing profile..."),
+- )?;
+- crate::api::profile::edit(profile_path, |prof| {
+- prof.install_stage = ProfileInstallStage::Installed;
+- async { Ok(()) }
+- })
+- .await?;
+-
+- // Emit profile sync event to trigger file system watcher refresh
+- crate::event::emit::emit_profile(profile_path, ProfilePayloadType::Synced)
+- .await?;
+-
+- // Complete the loading bar
+- crate::event::emit::emit_loading(
+- &loading_bar,
+- 5.0,
+- Some("Import completed!"),
+- )?;
+-
+- Ok(())
+-}
+-
+-/// Parse CurseForge modloader ID into ModLoader and version
+-fn parse_modloader(id: &str) -> (ModLoader, Option) {
+- if id.starts_with("forge-") {
+- let version = id.strip_prefix("forge-").unwrap_or("").to_string();
+- (ModLoader::Forge, Some(version))
+- } else if id.starts_with("fabric-") {
+- let version = id.strip_prefix("fabric-").unwrap_or("").to_string();
+- (ModLoader::Fabric, Some(version))
+- } else if id.starts_with("quilt-") {
+- let version = id.strip_prefix("quilt-").unwrap_or("").to_string();
+- (ModLoader::Quilt, Some(version))
+- } else if id.starts_with("neoforge-") {
+- let version = id.strip_prefix("neoforge-").unwrap_or("").to_string();
+- (ModLoader::NeoForge, Some(version))
+- } else {
+- (ModLoader::Vanilla, None)
+- }
+-}
+-
+-/// Install mods from CurseForge files list
+-async fn install_curseforge_mods(
+- files: &[CurseForgeFile],
+- profile_path: &str,
+- state: &State,
+- loading_bar: &crate::event::LoadingBarId,
+-) -> crate::Result<()> {
+- if files.is_empty() {
+- return Ok(());
+- }
+-
+- let num_files = files.len();
+- tracing::info!("Installing {} CurseForge mods", num_files);
+-
+- // Download mods sequentially to track progress properly
+- for (index, file) in files.iter().enumerate() {
+- // Update progress message with current mod
+- let progress_message =
+- format!("Downloading mod {} of {}", index + 1, num_files);
+- crate::event::emit::emit_loading(
+- loading_bar,
+- 0.0, // Don't increment here, just update message
+- Some(&progress_message),
+- )?;
+-
+- download_curseforge_mod(file, profile_path, state).await?;
+-
+- // Emit progress for each downloaded mod (20% total for mods, divided by number of mods)
+- let mod_progress = 20.0 / num_files as f64;
+- crate::event::emit::emit_loading(
+- loading_bar,
+- mod_progress,
+- Some(&format!("Downloaded mod {} of {}", index + 1, num_files)),
+- )?;
+- }
+-
+- Ok(())
+-}
+-
+-/// Download a single mod from CurseForge
+-async fn download_curseforge_mod(
+- file: &CurseForgeFile,
+- profile_path: &str,
+- _state: &State,
+-) -> crate::Result<()> {
+- // Log the download attempt
+- tracing::info!(
+- "Downloading CurseForge mod: project_id={}, file_id={}",
+- file.project_id,
+- file.file_id
+- );
+-
+- // Get profile path and create mods directory first
+- let profile_full_path =
+- crate::api::profile::get_full_path(profile_path).await?;
+- let mods_dir = profile_full_path.join("mods");
+- tokio::fs::create_dir_all(&mods_dir).await?;
+-
+- // First, get the file metadata to get the correct filename
+- let metadata_url = format!(
+- "https://www.curseforge.com/api/v1/mods/{}/files/{}",
+- file.project_id, file.file_id
+- );
+-
+- tracing::info!("Fetching metadata from: {}", metadata_url);
+-
+- let client = reqwest::Client::new();
+- let metadata_response =
+- client.get(&metadata_url).send().await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to fetch metadata for mod {}/{}: {}",
+- file.project_id, file.file_id, e
+- ))
+- })?;
+-
+- if !metadata_response.status().is_success() {
+- return Err(crate::ErrorKind::InputError(format!(
+- "HTTP error fetching metadata for mod {}/{}: {}",
+- file.project_id,
+- file.file_id,
+- metadata_response.status()
+- ))
+- .into());
+- }
+-
+- // Parse the metadata JSON to get the filename
+- let metadata_json: serde_json::Value =
+- metadata_response.json().await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to parse metadata JSON for mod {}/{}: {}",
+- file.project_id, file.file_id, e
+- ))
+- })?;
+-
+- let original_filename = metadata_json
+- .get("data")
+- .and_then(|data| data.get("fileName"))
+- .and_then(|name| name.as_str())
+- .map(|s| s.to_string())
+- .unwrap_or_else(|| {
+- // Fallback to the old format if API response is unexpected
+- format!("mod_{}_{}.jar", file.project_id, file.file_id)
+- });
+-
+- tracing::info!("Original filename: {}", original_filename);
+-
+- // Now download the mod using the direct download URL
+- let download_url = format!(
+- "https://www.curseforge.com/api/v1/mods/{}/files/{}/download",
+- file.project_id, file.file_id
+- );
+-
+- tracing::info!("Downloading from: {}", download_url);
+-
+- let response = client.get(&download_url).send().await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to download mod {}/{}: {}",
+- file.project_id, file.file_id, e
+- ))
+- })?;
+-
+- if !response.status().is_success() {
+- return Err(crate::ErrorKind::InputError(format!(
+- "HTTP error downloading mod {}/{}: {}",
+- file.project_id,
+- file.file_id,
+- response.status()
+- ))
+- .into());
+- }
+-
+- // Write the file with its original name
+- let final_path = mods_dir.join(&original_filename);
+- let bytes = response.bytes().await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to read response bytes for mod {}/{}: {}",
+- file.project_id, file.file_id, e
+- ))
+- })?;
+-
+- tokio::fs::write(&final_path, &bytes).await.map_err(|e| {
+- crate::ErrorKind::InputError(format!(
+- "Failed to write mod file {:?}: {}",
+- final_path, e
+- ))
+- })?;
+-
+- tracing::info!(
+- "Successfully downloaded mod: {} ({} bytes)",
+- original_filename,
+- bytes.len()
+- );
+-
+- Ok(())
+-}
+diff --git a/packages/app-lib/src/api/pack/import/mod.rs b/packages/app-lib/src/api/pack/import/mod.rs
+index ff6e91b23..1f79d5e5b 100644
+--- a/packages/app-lib/src/api/pack/import/mod.rs
++++ b/packages/app-lib/src/api/pack/import/mod.rs
+@@ -19,7 +19,6 @@ use crate::{
+
+ pub mod atlauncher;
+ pub mod curseforge;
+-pub mod curseforge_profile;
+ pub mod gdlauncher;
+ pub mod mmc;
+
+diff --git a/packages/app-lib/src/api/profile/mod.rs b/packages/app-lib/src/api/profile/mod.rs
+index 514ed88be..935c837a2 100644
+--- a/packages/app-lib/src/api/profile/mod.rs
++++ b/packages/app-lib/src/api/profile/mod.rs
+@@ -876,7 +876,7 @@ pub async fn create_mrpack_json(
+ )
+ .await?;
+
+- let mut files = projects
++ let files = projects
+ .into_iter()
+ .filter_map(|(path, version_id)| {
+ if let Some(version) = versions.iter().find(|x| x.id == version_id)
+@@ -926,8 +926,6 @@ pub async fn create_mrpack_json(
+ })
+ .collect::>>()?;
+
+- files.sort_by(|a, b| a.path.cmp(&b.path));
+-
+ Ok(PackFormat {
+ game: "minecraft".to_string(),
+ format_version: 1,
+diff --git a/packages/app-lib/src/api/update.rs b/packages/app-lib/src/api/update.rs
+deleted file mode 100644
+index 3ca0cebde..000000000
+--- a/packages/app-lib/src/api/update.rs
++++ /dev/null
+@@ -1,117 +0,0 @@
+-use reqwest;
+-use std::path::PathBuf;
+-use tokio::fs::File as AsyncFile;
+-use tokio::io::AsyncWriteExt;
+-use tokio::process::Command;
+-
+-pub(crate) async fn get_resource(
+- download_url: &str,
+- local_filename: &str,
+- os_type: &str,
+- auto_update_supported: bool,
+-) -> Result<(), Box> {
+- let download_dir = dirs::download_dir()
+- .ok_or("[AR] • Failed to determine download directory")?;
+- let full_path = download_dir.join(local_filename);
+-
+- let response = reqwest::get(download_url).await?;
+- let bytes = response.bytes().await?;
+- let mut dest_file = AsyncFile::create(&full_path).await?;
+- dest_file.write_all(&bytes).await?;
+- tracing::info!("[AR] • File downloaded to: {:?}", full_path);
+-
+- if auto_update_supported {
+- let result = match os_type.to_lowercase().as_str() {
+- "windows" => handle_windows_file(&full_path).await,
+- "macos" => open_macos_file(&full_path).await,
+- _ => open_default(&full_path).await,
+- };
+-
+- match result {
+- Ok(_) => tracing::info!("[AR] • File opened successfully!"),
+- Err(e) => tracing::info!("[AR] • Failed to open file: {e}"),
+- }
+- }
+-
+- Ok(())
+-}
+-
+-async fn handle_windows_file(path: &PathBuf) -> Result<(), Box> {
+- let filename = path
+- .file_name()
+- .and_then(|f| f.to_str())
+- .unwrap_or_default()
+- .to_lowercase();
+-
+- if filename.ends_with(".exe") || filename.ends_with(".msi") {
+- tracing::info!("[AR] • Detected installer: {}", filename);
+- run_windows_installer(path).await
+- } else {
+- open_windows_folder(path).await
+- }
+-}
+-
+-async fn run_windows_installer(path: &PathBuf) -> Result<(), Box> {
+- let installer_path = path.to_str().unwrap_or_default();
+-
+- let status = if installer_path.ends_with(".msi") {
+- Command::new("msiexec")
+- .args(&["/i", installer_path, "/quiet"])
+- .status()
+- .await?
+- } else {
+- Command::new("cmd")
+- .args(&["/C", installer_path])
+- .status()
+- .await?
+- };
+-
+- if status.success() {
+- tracing::info!("[AR] • Installer started successfully.");
+- Ok(())
+- } else {
+- tracing::error!("Installer failed. Exit code: {:?}", status.code());
+- tracing::info!("[AR] • Trying to open folder...");
+- open_windows_folder(path).await
+- }
+-}
+-
+-async fn open_windows_folder(path: &PathBuf) -> Result<(), Box> {
+- let folder = path.parent().unwrap_or(path);
+- let status = Command::new("explorer")
+- .arg(folder.display().to_string())
+- .status()
+- .await?;
+-
+- if !status.success() {
+- Err(format!("Exit code: {:?}", status.code()).into())
+- } else {
+- Ok(())
+- }
+-}
+-
+-async fn open_macos_file(path: &PathBuf) -> Result<(), Box> {
+- let status = Command::new("open")
+- .arg(path.to_str().unwrap_or_default())
+- .status()
+- .await?;
+-
+- if !status.success() {
+- Err(format!("Exit code: {:?}", status.code()).into())
+- } else {
+- Ok(())
+- }
+-}
+-
+-async fn open_default(path: &PathBuf) -> Result<(), Box> {
+- let status = Command::new(".")
+- .arg(path.to_str().unwrap_or_default())
+- .status()
+- .await?;
+-
+- if !status.success() {
+- Err(format!("Exit code: {:?}", status.code()).into())
+- } else {
+- Ok(())
+- }
+-}
+diff --git a/packages/app-lib/src/error.rs b/packages/app-lib/src/error.rs
+index 6712b85ce..f19935244 100644
+--- a/packages/app-lib/src/error.rs
++++ b/packages/app-lib/src/error.rs
+@@ -164,40 +164,6 @@ pub enum ErrorKind {
+ )]
+ InvalidSkinTexture,
+
+- #[error(
+- "[AR] Target minecraft {minecraft_version} version doesn't exist."
+- )]
+- InvalidMinecraftVersion {
+- minecraft_version: String,
+- },
+-
+- #[error(
+- "[AR] Target metadata not found for minecraft version {minecraft_version}."
+- )]
+- MinecraftMetadataNotFound {
+- minecraft_version: String,
+- },
+-
+- #[error(
+- "[AR] Network error: {error}"
+- )]
+- NetworkErrorOccurred {
+- error: String,
+- },
+-
+- #[error(
+- "[AR] IO error: {error}"
+- )]
+- IOErrorOccurred {
+- error: String,
+- },
+-
+- #[error(
+- "[AR] Parse error: {reason}"
+- )]
+- ParseError {
+- reason: String,
+- },
+ #[error("RPC error: {0}")]
+ RpcError(String),
+
+diff --git a/packages/app-lib/src/event/mod.rs b/packages/app-lib/src/event/mod.rs
+index 62bd0655b..a9eddb13d 100644
+--- a/packages/app-lib/src/event/mod.rs
++++ b/packages/app-lib/src/event/mod.rs
+@@ -176,9 +176,6 @@ pub enum LoadingBarType {
+ import_location: PathBuf,
+ profile_name: String,
+ },
+- CurseForgeProfileDownload {
+- profile_name: String,
+- },
+ LauncherUpdate {
+ version: String,
+ current_version: String,
+diff --git a/packages/app-lib/src/launcher/mod.rs b/packages/app-lib/src/launcher/mod.rs
+index a79307337..db29817fb 100644
+--- a/packages/app-lib/src/launcher/mod.rs
++++ b/packages/app-lib/src/launcher/mod.rs
+@@ -9,16 +9,15 @@ use crate::launcher::quick_play_version::{
+ };
+ use crate::profile::QuickPlayType;
+ use crate::state::{
+- AccountType, Credentials, JavaVersion, ProcessMetadata, ProfileInstallStage,
++ Credentials, JavaVersion, ProcessMetadata, ProfileInstallStage,
+ };
+-use crate::util::{io, utils};
++use crate::util::io;
+ use crate::util::rpc::RpcServerBuilder;
+ use crate::{State, get_resource_file, process, state as st};
+ use chrono::Utc;
+ use daedalus as d;
+ use daedalus::minecraft::{LoggingSide, RuleAction, VersionInfo};
+ use daedalus::modded::LoaderVersion;
+-use rand::seq::SliceRandom; // [AR] Feature
+ use regex::Regex;
+ use serde::Deserialize;
+ use st::Profile;
+@@ -31,8 +30,6 @@ mod args;
+ pub mod download;
+ pub mod quick_play_version;
+
+-use crate::state::ACTIVE_STATE;
+-
+ // All nones -> disallowed
+ // 1+ true -> allowed
+ // 1+ false -> disallowed
+@@ -666,34 +663,6 @@ pub async fn launch_minecraft(
+ command.arg("--add-opens=jdk.internal/jdk.internal.misc=ALL-UNNAMED");
+ }
+
+- // [AR] Patch
+- if credentials.account_type == AccountType::Pirate.as_lowercase_str() {
+- if version_jar == "1.16.4" || version_jar == "1.16.5" {
+- let invalid_url = "https://invalid.invalid";
+- tracing::info!(
+- "[AR] • The launcher detected the launch of {} on the offline account. Applying offline multiplayer fixes.",
+- version_jar
+- );
+- command.arg("-Dminecraft.api.env=custom");
+- command.arg(format!("-Dminecraft.api.auth.host={}", invalid_url));
+- command
+- .arg(format!("-Dminecraft.api.account.host={}", invalid_url));
+- command
+- .arg(format!("-Dminecraft.api.session.host={}", invalid_url));
+- command
+- .arg(format!("-Dminecraft.api.services.host={}", invalid_url));
+- }
+- } else if credentials.account_type == AccountType::ElyBy.as_lowercase_str()
+- {
+- tracing::info!(
+- "[AR] • The launcher detected the launch of {} on the Ely.by account. Applying Ely.by Java Injector.",
+- version_jar
+- );
+- let path_buf = utils::get_or_download_elyby_injector().await?;
+- let path = path_buf.to_str().unwrap();
+- command.arg(format!("-javaagent:{}=ely.by", path));
+- }
+-
+ command
+ .arg("com.modrinth.theseus.MinecraftLaunch")
+ .arg(version_info.main_class.clone())
+@@ -792,11 +761,9 @@ pub async fn launch_minecraft(
+ }
+ }
+
+- // [AR] Feature
+- let selected_phrase = ACTIVE_STATE.choose(&mut rand::thread_rng()).unwrap();
+ let _ = state
+ .discord_rpc
+- .set_activity(&format!("{} {}", selected_phrase, profile.name), true)
++ .set_activity(&format!("Playing {}", profile.name), true)
+ .await;
+
+ let _ = state
+diff --git a/packages/app-lib/src/lib.rs b/packages/app-lib/src/lib.rs
+index 8fd85c104..45da6fbc9 100644
+--- a/packages/app-lib/src/lib.rs
++++ b/packages/app-lib/src/lib.rs
+@@ -8,7 +8,7 @@ and launching Modrinth mod packs
+ #![deny(unused_must_use)]
+
+ #[macro_use]
+-pub mod util; // [AR] Refactor
++mod util;
+
+ mod api;
+ mod error;
+diff --git a/packages/app-lib/src/state/db.rs b/packages/app-lib/src/state/db.rs
+index c939fd64a..de5464c4c 100644
+--- a/packages/app-lib/src/state/db.rs
++++ b/packages/app-lib/src/state/db.rs
+@@ -1,41 +1,24 @@
+-use crate::ErrorKind;
+ use crate::state::DirectoryInfo;
+ use sqlx::sqlite::{
+ SqliteConnectOptions, SqliteJournalMode, SqlitePoolOptions,
+ };
+ use sqlx::{Pool, Sqlite};
+-use std::collections::HashMap;
+ use std::str::FromStr;
+ use std::time::Duration;
+-use tokio::time::Instant;
+
+ pub(crate) async fn connect() -> crate::Result> {
+- let pool = connect_without_migrate().await?;
+-
+- sqlx::migrate!().run(&pool).await?;
+-
+- if let Err(err) = stale_data_cleanup(&pool).await {
+- tracing::warn!(
+- "Failed to clean up stale data from state database: {err}"
+- );
+- }
+-
+- Ok(pool)
+-}
+-
+-// [AR] Feature. Implement SQLite3 connection without SQLx migrations.
+-async fn connect_without_migrate() -> crate::Result> {
+ let settings_dir = DirectoryInfo::get_initial_settings_dir().ok_or(
+- ErrorKind::FSError("Could not find valid config dir".to_string()),
++ crate::ErrorKind::FSError(
++ "Could not find valid config dir".to_string(),
++ ),
+ )?;
+
+ if !settings_dir.exists() {
+ crate::util::io::create_dir_all(&settings_dir).await?;
+ }
+
+- let db_path = settings_dir.join("app.db");
++ let uri = format!("sqlite:{}", settings_dir.join("app.db").display());
+
+- let uri = format!("sqlite:{}", db_path.display());
+ let conn_options = SqliteConnectOptions::from_str(&uri)?
+ .busy_timeout(Duration::from_secs(30))
+ .journal_mode(SqliteJournalMode::Wal)
+@@ -47,6 +30,14 @@ async fn connect_without_migrate() -> crate::Result> {
+ .connect_with(conn_options)
+ .await?;
+
++ sqlx::migrate!().run(&pool).await?;
++
++ if let Err(err) = stale_data_cleanup(&pool).await {
++ tracing::warn!(
++ "Failed to clean up stale data from state database: {err}"
++ );
++ }
++
+ Ok(pool)
+ }
+
+@@ -71,104 +62,3 @@ async fn stale_data_cleanup(pool: &Pool) -> crate::Result<()> {
+
+ Ok(())
+ }
+-/*
+-// [AR] Patch fix
+-Problem files, view detailed information in .gitattributes:
+-/packages/app-lib/migrations/20240711194701_init.sql !eol
+-CRLF -> 4c47e326f16f2b1efca548076ce638d4c90dd610172fe48c47d6de9bc46ef1c5abeadfdea05041ddd72c3819fa10c040
+-LF -> e973512979feac07e415405291eefafc1ef0bd89454958ad66f5452c381db8679c20ffadab55194ecf6ba8ec4ca2db21
+-/packages/app-lib/migrations/20240813205023_drop-active-unique.sql !eol
+-CRLF -> C8FD2EFE72E66E394732599EA8D93CE1ED337F098697B3ADAD40DD37CC6367893E199A8D7113B44A3D0FFB537692F91D
+-LF -> 5b53534a7ffd74eebede234222be47e1d37bd0cc5fee4475212491b0c0379c16e3079e08eee0af959b1fa20835eeb206
+-/packages/app-lib/migrations/20240930001852_disable-personalized-ads.sql !eol
+-CRLF -> C0DE804F171B5530010EDAE087A6E75645C0E90177E28365F935C9FDD9A5C68E24850B8C1498E386A379D525D520BC57
+-LF -> c0de804f171b5530010edae087a6e75645c0e90177e28365f935c9fdd9a5c68e24850b8c1498e386a379d525d520bc57
+-/packages/app-lib/migrations/20241222013857_feature-flags.sql !eol
+-CRLF -> 6B6F097E5BB45A397C96C3F1DC9C2A18433564E81DB264FE08A4775198CCEAC03C9E63C3605994ECB19C281C37D8F6AE
+-LF -> c17542cb989a0466153e695bfa4717f8970feee185ca186a2caa1f2f6c5d4adb990ab97c26cacfbbe09c39ac81551704
+-*/
+-pub(crate) async fn apply_migration_fix(eol: &str) -> crate::Result {
+- let started = Instant::now();
+-
+- // Create connection to the database without migrations
+- let pool = connect_without_migrate().await?;
+- tracing::info!(
+- "⚙️ Patching Modrinth corrupted migration checksums using EOL standard: {eol}"
+- );
+-
+- // validate EOL input
+- if eol != "lf" && eol != "crlf" {
+- return Ok(false);
+- }
+-
+- // [eol][version] -> checksum
+- let checksums: HashMap<(&str, &str), &str> = HashMap::from([
+- (
+- ("lf", "20240711194701"),
+- "e973512979feac07e415405291eefafc1ef0bd89454958ad66f5452c381db8679c20ffadab55194ecf6ba8ec4ca2db21",
+- ),
+- (
+- ("crlf", "20240711194701"),
+- "4c47e326f16f2b1efca548076ce638d4c90dd610172fe48c47d6de9bc46ef1c5abeadfdea05041ddd72c3819fa10c040",
+- ),
+- (
+- ("lf", "20240813205023"),
+- "5b53534a7ffd74eebede234222be47e1d37bd0cc5fee4475212491b0c0379c16e3079e08eee0af959b1fa20835eeb206",
+- ),
+- (
+- ("crlf", "20240813205023"),
+- "C8FD2EFE72E66E394732599EA8D93CE1ED337F098697B3ADAD40DD37CC6367893E199A8D7113B44A3D0FFB537692F91D",
+- ),
+- (
+- ("lf", "20240930001852"),
+- "c0de804f171b5530010edae087a6e75645c0e90177e28365f935c9fdd9a5c68e24850b8c1498e386a379d525d520bc57",
+- ),
+- (
+- ("crlf", "20240930001852"),
+- "C0DE804F171B5530010EDAE087A6E75645C0E90177E28365F935C9FDD9A5C68E24850B8C1498E386A379D525D520BC57",
+- ),
+- (
+- ("lf", "20241222013857"),
+- "c17542cb989a0466153e695bfa4717f8970feee185ca186a2caa1f2f6c5d4adb990ab97c26cacfbbe09c39ac81551704",
+- ),
+- (
+- ("crlf", "20241222013857"),
+- "6B6F097E5BB45A397C96C3F1DC9C2A18433564E81DB264FE08A4775198CCEAC03C9E63C3605994ECB19C281C37D8F6AE",
+- ),
+- ]);
+-
+- let mut changed = false;
+-
+- for ((eol_key, version), checksum) in checksums.iter() {
+- if *eol_key != eol {
+- continue;
+- }
+-
+- tracing::info!(
+- "⏳ Patching checksum for migration {version} ({})",
+- eol.to_uppercase()
+- );
+-
+- let result = sqlx::query(&format!(
+- r#"
+- UPDATE "_sqlx_migrations"
+- SET checksum = X'{checksum}'
+- WHERE version = '{version}';
+- "#
+- ))
+- .execute(&pool)
+- .await?;
+-
+- if result.rows_affected() > 0 {
+- changed = true;
+- }
+- }
+-
+- tracing::info!(
+- "✅ Checksum patching completed in {:.2?} (changes: {})",
+- started.elapsed(),
+- changed
+- );
+-
+- Ok(changed)
+-}
+diff --git a/packages/app-lib/src/state/dirs.rs b/packages/app-lib/src/state/dirs.rs
+index b0f5a46a3..1f577f7c4 100644
+--- a/packages/app-lib/src/state/dirs.rs
++++ b/packages/app-lib/src/state/dirs.rs
+@@ -22,15 +22,9 @@ pub struct DirectoryInfo {
+ impl DirectoryInfo {
+ // Get the settings directory
+ // init() is not needed for this function
+- // [AR] Patch fix. From PR.
+ pub fn get_initial_settings_dir() -> Option {
+- Self::env_path("THESEUS_CONFIG_DIR").or_else(|| {
+- if std::env::current_dir().ok()?.join("portable.txt").exists() {
+- Some(std::path::Path::new("UserData").to_path_buf())
+- } else {
+- Some(dirs::data_dir()?.join("AstralRinthApp"))
+- }
+- })
++ Self::env_path("THESEUS_CONFIG_DIR")
++ .or_else(|| Some(dirs::data_dir()?.join("ModrinthApp")))
+ }
+
+ /// Get all paths needed for Theseus to operate properly
+diff --git a/packages/app-lib/src/state/discord.rs b/packages/app-lib/src/state/discord.rs
+index 0c87d1e55..2704cc6de 100644
+--- a/packages/app-lib/src/state/discord.rs
++++ b/packages/app-lib/src/state/discord.rs
+@@ -1,46 +1,24 @@
+-// [AR] Feature
+-use std::{
+- sync::{atomic::AtomicBool, Arc},
+- time::{SystemTime, UNIX_EPOCH},
+-};
++use std::sync::{Arc, atomic::AtomicBool};
+
+ use discord_rich_presence::{
+- activity::{Activity, Assets, Timestamps}, // [AR] Feature
+ DiscordIpc, DiscordIpcClient,
++ activity::{Activity, Assets},
+ };
+-use rand::seq::SliceRandom; // [AR] Feature
+ use tokio::sync::RwLock;
+
+-use crate::util::utils; // [AR] Feature
+ use crate::State;
++use crate::state::Profile;
+
+ pub struct DiscordGuard {
+ client: Arc>,
+ connected: Arc,
+ }
+
+-pub(crate) const ACTIVE_STATE: [&str; 6] = [
+- "Explores",
+- "Travels with",
+- "Pirating",
+- "Investigating the",
+- "Engaged in",
+- "Conducting",
+-];
+-pub(crate) const INACTIVE_STATE: [&str; 6] = [
+- "Idling...",
+- "Waiting for the pirate team...",
+- "Taking a break...",
+- "Resting...",
+- "On standby...",
+- "In a holding pattern...",
+-];
+-
+ impl DiscordGuard {
+ /// Initialize discord IPC client, and attempt to connect to it
+ /// If it fails, it will still return a DiscordGuard, but the client will be unconnected
+ pub fn init() -> crate::Result {
+- let dipc = DiscordIpcClient::new("1190718475832918136");
++ let dipc = DiscordIpcClient::new("1123683254248148992");
+
+ Ok(DiscordGuard {
+ client: Arc::new(RwLock::new(dipc)),
+@@ -93,32 +71,11 @@ impl DiscordGuard {
+ return Ok(());
+ }
+
+- // let activity = Activity::new().state(msg).assets(
+- // Assets::new()
+- // .large_image("modrinth_simple")
+- // .large_text("Modrinth Logo"),
+- // );
+-
+- let launcher =
+- utils::read_package_json().expect("Failed to read package.json");
+-
+- let build_info = format!("AR • v{}", launcher.version);
+- let build_download = "https://astralium.su/get/ar";
+-
+- let time = SystemTime::now()
+- .duration_since(UNIX_EPOCH)
+- .expect("Failed to get system time")
+- .as_secs() as i64;
+- let activity = Activity::new()
+- .state(msg)
+- .assets(
+- Assets::new()
+- .large_image("astralrinth_logo")
+- .large_text(&build_info)
+- .small_image("astralrinth_logo")
+- .small_text(&build_download),
+- )
+- .timestamps(Timestamps::new().start(time));
++ let activity = Activity::new().state(msg).assets(
++ Assets::new()
++ .large_image("modrinth_simple")
++ .large_text("Modrinth Logo"),
++ );
+
+ // Attempt to set the activity
+ // If the existing connection fails, attempt to reconnect and try again
+@@ -177,10 +134,20 @@ impl DiscordGuard {
+ return self.clear_activity(true).await;
+ }
+
+- let selected_phrase =
+- INACTIVE_STATE.choose(&mut rand::thread_rng()).unwrap();
+- self.set_activity(&format!("{}", selected_phrase), reconnect_if_fail)
+- .await?;
++ let running_profiles = state.process_manager.get_all();
++ if let Some(existing_child) = running_profiles.first() {
++ let prof =
++ Profile::get(&existing_child.profile_path, &state.pool).await?;
++ if let Some(prof) = prof {
++ self.set_activity(
++ &format!("Playing {}", prof.name),
++ reconnect_if_fail,
++ )
++ .await?;
++ }
++ } else {
++ self.set_activity("Idling...", reconnect_if_fail).await?;
++ }
+ Ok(())
+ }
+ }
+diff --git a/packages/app-lib/src/state/legacy_converter.rs b/packages/app-lib/src/state/legacy_converter.rs
+index c0a589ccc..df043de35 100644
+--- a/packages/app-lib/src/state/legacy_converter.rs
++++ b/packages/app-lib/src/state/legacy_converter.rs
+@@ -130,7 +130,6 @@ where
+ expires: legacy_credentials.expires,
+ active: minecraft_auth.default_user == Some(uuid)
+ || minecraft_users_len == 1,
+- account_type: legacy_credentials.account_type,
+ }
+ .upsert(exec)
+ .await?;
+@@ -506,7 +505,6 @@ struct LegacyCredentials {
+ pub access_token: String,
+ pub refresh_token: String,
+ pub expires: DateTime,
+- pub account_type: String,
+ }
+
+ #[derive(Deserialize, Debug)]
+diff --git a/packages/app-lib/src/state/minecraft_auth.rs b/packages/app-lib/src/state/minecraft_auth.rs
+index 020629ee2..a0b8db9ef 100644
+--- a/packages/app-lib/src/state/minecraft_auth.rs
++++ b/packages/app-lib/src/state/minecraft_auth.rs
+@@ -156,7 +156,6 @@ pub async fn login_finish(
+ expires: oauth_token.date
+ + Duration::seconds(oauth_token.value.expires_in as i64),
+ active: true,
+- account_type: AccountType::Microsoft.as_lowercase_str(),
+ };
+
+ // During login, we need to fetch the online profile at least once to get the
+@@ -179,88 +178,6 @@ pub async fn login_finish(
+ Ok(credentials)
+ }
+
+-// [AR] Feature
+-#[tracing::instrument]
+-pub async fn offline_auth(
+- name: &str,
+- exec: impl sqlx::Executor<'_, Database = sqlx::Sqlite> + Copy,
+-) -> crate::Result {
+- let random_uuid = Uuid::new_v4();
+- let access_token = "null".to_string();
+- let refresh_token = "null".to_string();
+-
+- let mut credentials = Credentials {
+- offline_profile: MinecraftProfile::default(),
+- access_token: access_token,
+- refresh_token: refresh_token,
+- expires: Utc::now() + Duration::days(365 * 99),
+- active: true,
+- account_type: AccountType::Pirate.as_lowercase_str(),
+- };
+-
+- credentials.offline_profile = MinecraftProfile {
+- id: random_uuid,
+- name: name.to_string(),
+- ..credentials.offline_profile
+- };
+-
+- credentials.upsert(exec).await?;
+-
+- Ok(credentials)
+-}
+-
+-// [AR] Feature
+-#[tracing::instrument]
+-pub async fn elyby_auth(
+- uuid: Uuid,
+- username: &str,
+- access_token: &str,
+- exec: impl sqlx::Executor<'_, Database = sqlx::Sqlite> + Copy,
+-) -> crate::Result {
+- let mut credentials = Credentials {
+- offline_profile: MinecraftProfile::default(),
+- access_token: access_token.to_string(),
+- refresh_token: "null".to_string(),
+- expires: Utc::now() + Duration::days(365 * 99),
+- active: true,
+- account_type: AccountType::ElyBy.as_lowercase_str(),
+- };
+-
+- credentials.offline_profile = MinecraftProfile {
+- id: uuid,
+- name: username.to_string(),
+- ..credentials.offline_profile
+- };
+-
+- credentials.upsert(exec).await?;
+-
+- Ok(credentials)
+-}
+-
+-/// [AR] • Feature
+-#[derive(Deserialize, Debug)]
+-pub enum AccountType {
+- Unknown,
+- Microsoft,
+- Pirate,
+- ElyBy,
+-}
+-
+-impl AccountType {
+- fn as_str(&self) -> &'static str {
+- match self {
+- AccountType::Unknown => "Unknown",
+- AccountType::Microsoft => "Microsoft",
+- AccountType::Pirate => "Pirate",
+- AccountType::ElyBy => "ElyBy",
+- }
+- }
+-
+- pub(crate) fn as_lowercase_str(&self) -> String {
+- self.as_str().to_lowercase()
+- }
+-}
+-
+ #[derive(Deserialize, Debug)]
+ pub struct Credentials {
+ /// The offline profile of the user these credentials are for.
+@@ -274,7 +191,6 @@ pub struct Credentials {
+ pub refresh_token: String,
+ pub expires: DateTime,
+ pub active: bool,
+- pub account_type: String,
+ }
+
+ /// An entry in the player profile cache, keyed by player UUID.
+@@ -498,7 +414,7 @@ impl Credentials {
+ let res = sqlx::query!(
+ "
+ SELECT
+- uuid, active, username, access_token, refresh_token, expires, account_type
++ uuid, active, username, access_token, refresh_token, expires
+ FROM minecraft_users
+ WHERE active = TRUE
+ "
+@@ -521,7 +437,6 @@ impl Credentials {
+ .single()
+ .unwrap_or_else(Utc::now),
+ active: x.active == 1,
+- account_type: x.account_type,
+ };
+ credentials.refresh(exec).await.ok();
+ Some(credentials)
+@@ -536,7 +451,7 @@ impl Credentials {
+ let res = sqlx::query!(
+ "
+ SELECT
+- uuid, active, username, access_token, refresh_token, expires, account_type
++ uuid, active, username, access_token, refresh_token, expires
+ FROM minecraft_users
+ "
+ )
+@@ -556,7 +471,6 @@ impl Credentials {
+ .single()
+ .unwrap_or_else(Utc::now),
+ active: x.active == 1,
+- account_type: x.account_type,
+ };
+
+ async move {
+@@ -592,15 +506,14 @@ impl Credentials {
+
+ sqlx::query!(
+ "
+- INSERT INTO minecraft_users (uuid, active, username, access_token, refresh_token, expires, account_type)
+- VALUES ($1, $2, $3, $4, $5, $6, $7)
++ INSERT INTO minecraft_users (uuid, active, username, access_token, refresh_token, expires)
++ VALUES ($1, $2, $3, $4, $5, $6)
+ ON CONFLICT (uuid) DO UPDATE SET
+ active = $2,
+ username = $3,
+ access_token = $4,
+ refresh_token = $5,
+- expires = $6,
+- account_type = $7
++ expires = $6
+ ",
+ uuid,
+ self.active,
+@@ -608,7 +521,6 @@ impl Credentials {
+ self.access_token,
+ self.refresh_token,
+ expires,
+- self.account_type,
+ )
+ .execute(exec)
+ .await?;
+@@ -671,7 +583,6 @@ impl Serialize for Credentials {
+ ser.serialize_field("refresh_token", &self.refresh_token)?;
+ ser.serialize_field("expires", &self.expires)?;
+ ser.serialize_field("active", &self.active)?;
+- ser.serialize_field("account_type", &self.account_type)?;
+ ser.end()
+ }
+ }
+diff --git a/packages/app-lib/src/util/mod.rs b/packages/app-lib/src/util/mod.rs
+index 4039af8e2..7656b4a03 100644
+--- a/packages/app-lib/src/util/mod.rs
++++ b/packages/app-lib/src/util/mod.rs
+@@ -4,7 +4,6 @@ pub mod io;
+ pub mod jre;
+ pub mod network;
+ pub mod platform;
+-pub mod utils; // [AR] Feature
+ pub mod protocol_version;
+ pub mod rpc;
+ pub mod server_ping;
+diff --git a/packages/app-lib/src/util/utils.rs b/packages/app-lib/src/util/utils.rs
+deleted file mode 100644
+index b21f4e9b4..000000000
+--- a/packages/app-lib/src/util/utils.rs
++++ /dev/null
+@@ -1,535 +0,0 @@
+-use crate::api::update;
+-use crate::state::db;
+-///
+-/// [AR] Feature Utils
+-///
+-/// Version: 0.1.1
+-///
+-use crate::{Result, State};
+-use serde::{Deserialize, Serialize};
+-use std::path::PathBuf;
+-use std::process;
+-use std::time::SystemTime;
+-use tokio::{fs, io};
+-
+-const PACKAGE_JSON_CONTENT: &str =
+- // include_str!("../../../../apps/app-frontend/package.json");
+- include_str!("../../../../apps/app/tauri.conf.json");
+-
+-#[derive(Serialize, Deserialize)]
+-pub struct Launcher {
+- pub version: String,
+-}
+-
+-#[derive(Debug, Deserialize)]
+-struct Artifact {
+- path: Option,
+- sha1: Option,
+- url: Option,
+-}
+-
+-#[derive(Debug, Deserialize)]
+-struct Downloads {
+- artifact: Option,
+-}
+-
+-#[derive(Debug, Deserialize)]
+-struct Library {
+- name: String,
+- downloads: Option,
+-}
+-
+-#[derive(Debug, Deserialize)]
+-struct VersionJson {
+- libraries: Vec,
+-}
+-
+-/// Deserialize the content of package.json into a Launcher struct
+-pub fn read_package_json() -> io::Result {
+- let launcher: Launcher = serde_json::from_str(PACKAGE_JSON_CONTENT)?;
+- Ok(launcher)
+-}
+-
+-/// ### AR • Ely.by Injector
+-/// Returns the PathBuf to the Ely.by AuthLib Injector
+-/// If resource doesn't exist or outdated, it will be downloaded from Git Astralium.
+-pub async fn get_or_download_elyby_injector() -> Result {
+- tracing::info!("[AR] • Initializing state for Ely.by AuthLib Injector...");
+- let state = State::get().await?;
+- let libraries_dir = state.directories.libraries_dir();
+-
+- // Stores the local authlib injectors from `libraries/astralrinth/authlib_injectors/` directory.
+- let mut local_authlib_injectors = Vec::new();
+-
+- validate_astralrinth_library_dir(&libraries_dir, "authlib_injector/").await?;
+- let astralrinth_dir = libraries_dir.join("astralrinth/");
+- let authlib_injector_dir = astralrinth_dir.join("authlib_injector/");
+- let mut authlib_injector_dir_data = fs::read_dir(&authlib_injector_dir).await?;
+-
+- // Get all local authlib injectors
+- while let Some(entry) = authlib_injector_dir_data.next_entry().await? {
+- let path = entry.path();
+- if let Some(file_name) = path.file_name().and_then(|s| s.to_str()) {
+- if file_name.starts_with("authlib-injector") {
+- let metadata = entry.metadata().await?;
+- let modified = metadata.modified().unwrap_or(SystemTime::UNIX_EPOCH);
+- local_authlib_injectors.push((path.clone(), modified));
+- }
+- }
+- }
+-
+- // Get information about latest authlib injector from remote repository
+- let (asset_name, download_url) = match extract_elyby_authlib_metadata("authlib-injector").await {
+- Ok(data) => data,
+- Err(err) => {
+- if let Some((local_path, _)) = local_authlib_injectors
+- .iter()
+- .max_by(|a, b| a.1.cmp(&b.1))
+- {
+- tracing::info!("[AR] • Found local AuthLib Injector(s):");
+- for (path, time) in &local_authlib_injectors {
+- tracing::info!("• {:?} (modified: {:?})", path.file_name().unwrap(), time);
+- }
+- tracing::warn!("[AR] • Failed to get latest AuthLib Injector from remote, using latest local version: {}", local_path.display());
+- return Ok(local_path.clone());
+- } else {
+- tracing::error!("[AR] • Failed to get AuthLib Injector from remote and no local copy found.");
+- return Err(crate::ErrorKind::NetworkErrorOccurred { error: format!("Failed to fetch authlib-injector metadata and no local version available: {}", err) }.as_error());
+- }
+- }
+- };
+-
+- if !local_authlib_injectors.is_empty() {
+- local_authlib_injectors.sort_by(|a, b| a.1.cmp(&b.1));
+- tracing::info!("[AR] • Found local AuthLib Injector(s):");
+- for (path, time) in &local_authlib_injectors {
+- tracing::info!("• {:?} (modified: {:?})", path.file_name().unwrap(), time);
+- }
+- }
+-
+- let remote_authlib_injector = if !asset_name.is_empty() {
+- authlib_injector_dir.join(&asset_name)
+- } else {
+- return Err(crate::ErrorKind::ParseError { reason: "Asset name is empty from metadata".to_string() }.as_error());
+- };
+-
+- let latest_local_authlib_injector = local_authlib_injectors
+- .first()
+- .map(|(p, _)| p.clone());
+-
+- let latest_local_authlib_injector_full_path_buf = match latest_local_authlib_injector {
+- Some(path) => path,
+- None => {
+- tracing::info!("[AR] • No local version found, will download from remote: {}", remote_authlib_injector.display());
+- let bytes = fetch_bytes_from_url(download_url.as_str()).await?;
+- write_file_to_libraries(&remote_authlib_injector.to_string_lossy(), &bytes).await?;
+- tracing::info!("[AR] • Successfully saved AuthLib Injector to {}", remote_authlib_injector.display());
+- return Ok(remote_authlib_injector);
+- }
+- };
+-
+- tracing::info!("[AR] • Remote Asset name: {}", asset_name);
+- tracing::info!("[AR] • Remote Download URL: {}", download_url);
+- tracing::info!("[AR] • Latest local AuthLib Injector: {}", latest_local_authlib_injector_full_path_buf.file_name().unwrap().to_string_lossy());
+- tracing::info!("[AR] • Comparing local version {} with parsed remote version {}", latest_local_authlib_injector_full_path_buf.display(), remote_authlib_injector.display());
+-
+- if remote_authlib_injector == latest_local_authlib_injector_full_path_buf {
+- tracing::info!("[AR] • Remote version is the same as local version, using local copy.");
+- return Ok(latest_local_authlib_injector_full_path_buf);
+- } else {
+- tracing::info!(
+- "[AR] • Doesn't exist or outdated, attempting to download latest AuthLib Injector from URL: {}",
+- download_url
+- );
+- let bytes = fetch_bytes_from_url(download_url.as_str()).await?;
+- write_file_to_libraries(&remote_authlib_injector.to_string_lossy(), &bytes).await?;
+- tracing::info!("[AR] • Successfully saved AuthLib Injector to {}", remote_authlib_injector.display());
+- return Ok(remote_authlib_injector);
+- }
+-}
+-
+-/// ### AR • Migration. Patch
+-/// Applying migration fix for SQLite database.
+-pub async fn apply_migration_fix(eol: &str) -> Result {
+- tracing::info!("[AR] • Attempting to apply migration fix");
+- let patched = db::apply_migration_fix(eol).await?;
+- if patched {
+- tracing::info!("[AR] • Successfully applied migration fix");
+- } else {
+- tracing::error!("[AR] • Failed to apply migration fix");
+- }
+- Ok(patched)
+-}
+-
+-/// ### AR • Feature. Updater
+-/// Initialize the update launcher.
+-pub async fn init_update_launcher(
+- download_url: &str,
+- local_filename: &str,
+- os_type: &str,
+- auto_update_supported: bool,
+-) -> Result<()> {
+- tracing::info!("[AR] • Initialize downloading from • {:?}", download_url);
+- tracing::info!("[AR] • Save local file name • {:?}", local_filename);
+- tracing::info!("[AR] • OS type • {}", os_type);
+- tracing::info!("[AR] • Auto update supported • {}", auto_update_supported);
+-
+- if let Err(e) = update::get_resource(
+- download_url,
+- local_filename,
+- os_type,
+- auto_update_supported,
+- )
+- .await
+- {
+- eprintln!(
+- "[AR] • An error occurred! Failed to download the file: {}",
+- e
+- );
+- } else {
+- println!("[AR] • Code finishes without errors.");
+- process::exit(0)
+- }
+- Ok(())
+-}
+-
+-/// ### AR • AuthLib (Ely.by)
+-/// Initializes the AuthLib patching process.
+-///
+-/// Returns `true` if the authlib patched successfully.
+-pub async fn init_authlib_patching(
+- minecraft_version: &str,
+- is_mojang: bool,
+-) -> Result {
+- let minecraft_library_metadata =
+- get_minecraft_library_metadata(minecraft_version).await?;
+- // Parses the AuthLib version from string
+- // Example output: "com.mojang:authlib:6.0.58" -> "6.0.58"
+- let authlib_version = minecraft_library_metadata
+- .name
+- .split(':')
+- .nth(2)
+- .unwrap_or("unknown");
+- let authlib_fullname_string = format!("authlib-{}.jar", authlib_version);
+- let authlib_fullname_str = authlib_fullname_string.as_str();
+-
+- tracing::info!(
+- "[AR] • Attempting to download AuthLib -> {}.",
+- authlib_fullname_string
+- );
+-
+- download_authlib(
+- &minecraft_library_metadata,
+- authlib_fullname_str,
+- minecraft_version,
+- is_mojang,
+- )
+- .await
+-}
+-
+-/// ### AR • Universal Write (IO) Function.
+-/// Validating the `astralrinth/{target_directory}/` directory exists inside the libraries/astralrinth directory.
+-async fn validate_astralrinth_library_dir(
+- libraries_dir: &PathBuf,
+- validation_directory: &str
+-) -> Result<()> {
+- let astralrinth_path = libraries_dir.join(format!("astralrinth/{}", validation_directory));
+- if !astralrinth_path.exists() {
+- tokio::fs::create_dir_all(&astralrinth_path)
+- .await
+- .map_err(|e| {
+- tracing::error!(
+- "[AR] • Failed to create {} directory: {:?}",
+- astralrinth_path.display(),
+- e
+- );
+- crate::ErrorKind::IOErrorOccurred {
+- error: format!(
+- "Failed to create {} directory: {}",
+- astralrinth_path.display(),
+- e
+- ),
+- }
+- .as_error()
+- })?;
+- tracing::info!(
+- "[AR] • Created missing {} directory",
+- astralrinth_path.display()
+- );
+- }
+- Ok(())
+-}
+-
+-/// ### AR • Universal Write (IO) Function
+-/// Saves the downloaded bytes to the `libraries` directory using the given relative path.
+-async fn write_file_to_libraries(
+- relative_path: &str,
+- bytes: &bytes::Bytes,
+-) -> Result<()> {
+- let state = State::get().await?;
+- let output_path = state.directories.libraries_dir().join(relative_path);
+-
+- fs::write(&output_path, bytes).await.map_err(|e| {
+- tracing::error!("[AR] • Failed to save file: {:?}", e);
+- crate::ErrorKind::IOErrorOccurred {
+- error: format!("Failed to save file: {e}"),
+- }
+- .as_error()
+- })
+-}
+-
+-/// ### AR • AuthLib (Ely.by)
+-/// Downloads the AuthLib file from Mojang libraries or Git Astralium services.
+-async fn download_authlib(
+- minecraft_library_metadata: &Library,
+- authlib_fullname: &str,
+- minecraft_version: &str,
+- is_mojang: bool,
+-) -> Result {
+- let state = State::get().await?;
+- let (mut url, path) = extract_minecraft_local_download_info(
+- minecraft_library_metadata,
+- minecraft_version,
+- )?;
+- let full_path = state.directories.libraries_dir().join(path);
+-
+- if !is_mojang {
+- tracing::info!(
+- "[AR] • Attempting to download AuthLib from Git Astralium"
+- );
+- (_, url) = extract_elyby_authlib_metadata(authlib_fullname).await?;
+- }
+- tracing::info!("[AR] • Downloading AuthLib from URL: {}", url);
+- let bytes = fetch_bytes_from_url(&url).await?;
+- tracing::info!("[AR] • Will save to path: {}", full_path.to_str().unwrap());
+- write_file_to_libraries(full_path.to_str().unwrap(), &bytes).await?;
+- tracing::info!("[AR] • Successfully saved AuthLib to {:?}", full_path);
+- Ok(true)
+-}
+-
+-/// ### AR • AuthLib (Ely.by)
+-/// Parses the ElyIntegration release JSON and returns the download URL for the given AuthLib version.
+-async fn extract_elyby_authlib_metadata(
+- authlib_fullname: &str,
+-) -> Result<(String, String)> {
+- const URL: &str = "https://git.astralium.su/api/v1/repos/didirus/ElyIntegration/releases/latest";
+-
+- let response = reqwest::get(URL).await.map_err(|e| {
+- tracing::error!(
+- "[AR] • Failed to fetch ElyIntegration release JSON: {:?}",
+- e
+- );
+- crate::ErrorKind::NetworkErrorOccurred {
+- error: format!(
+- "Failed to fetch ElyIntegration release JSON: {}",
+- e
+- ),
+- }
+- .as_error()
+- })?;
+-
+- let json: serde_json::Value = response.json().await.map_err(|e| {
+- tracing::error!("[AR] • Failed to parse ElyIntegration JSON: {:?}", e);
+- crate::ErrorKind::ParseError {
+- reason: format!("Failed to parse ElyIntegration JSON: {}", e),
+- }
+- .as_error()
+- })?;
+-
+- let assets =
+- json.get("assets")
+- .and_then(|v| v.as_array())
+- .ok_or_else(|| {
+- crate::ErrorKind::ParseError {
+- reason: "Missing 'assets' array".into(),
+- }
+- .as_error()
+- })?;
+-
+- let asset = assets
+- .iter()
+- .find(|a| {
+- a.get("name")
+- .and_then(|n| n.as_str())
+- .map(|n| n.contains(authlib_fullname))
+- .unwrap_or(false)
+- })
+- .ok_or_else(|| {
+- crate::ErrorKind::ParseError {
+- reason: format!(
+- "No matching asset for {} in ElyIntegration JSON response.",
+- authlib_fullname
+- ),
+- }
+- .as_error()
+- })?;
+-
+- let download_url = asset
+- .get("browser_download_url")
+- .and_then(|u| u.as_str())
+- .ok_or_else(|| {
+- crate::ErrorKind::ParseError {
+- reason: "Missing 'browser_download_url'".into(),
+- }
+- .as_error()
+- })?
+- .to_string();
+-
+- let asset_name = asset
+- .get("name")
+- .and_then(|n| n.as_str())
+- .ok_or_else(|| {
+- crate::ErrorKind::ParseError {
+- reason: "Missing 'name'".into(),
+- }
+- .as_error()
+- })?
+- .to_string();
+-
+- Ok((asset_name, download_url))
+-}
+-
+-/// ### AR • AuthLib (Ely.by)
+-/// Extracts the artifact URL and Path from the library structure.
+-///
+-/// Returns a tuple of references to the URL and path strings,
+-/// or an error if the required metadata is missing.
+-fn extract_minecraft_local_download_info(
+- minecraft_library_metadata: &Library,
+- minecraft_version: &str,
+-) -> Result<(String, String)> {
+- let artifact = minecraft_library_metadata
+- .downloads
+- .as_ref()
+- .and_then(|d| d.artifact.as_ref())
+- .ok_or_else(|| {
+- crate::ErrorKind::MinecraftMetadataNotFound {
+- minecraft_version: minecraft_version.to_string(),
+- }
+- .as_error()
+- })?;
+-
+- let url = artifact.url.clone().ok_or_else(|| {
+- crate::ErrorKind::MinecraftMetadataNotFound {
+- minecraft_version: minecraft_version.to_string(),
+- }
+- .as_error()
+- })?;
+-
+- let path = artifact.path.clone().ok_or_else(|| {
+- crate::ErrorKind::MinecraftMetadataNotFound {
+- minecraft_version: minecraft_version.to_string(),
+- }
+- .as_error()
+- })?;
+-
+- Ok((url, path))
+-}
+-
+-/// ### AR • Universal Fetch Bytes (IO)
+-/// Downloads bytes from the provided URL with a 15 second timeout.
+-async fn fetch_bytes_from_url(url: &str) -> Result {
+- // Create client instance with request timeout.
+- let client = reqwest::Client::new();
+- const TIMEOUT_SECONDS: u64 = 15;
+-
+- let response = tokio::time::timeout(
+- std::time::Duration::from_secs(TIMEOUT_SECONDS),
+- client.get(url).send(),
+- )
+- .await
+- .map_err(|_| {
+- tracing::error!(
+- "[AR] • Download timed out after {} seconds",
+- TIMEOUT_SECONDS
+- );
+- crate::ErrorKind::NetworkErrorOccurred {
+- error: format!(
+- "Download timed out after {TIMEOUT_SECONDS} seconds"
+- )
+- .to_string(),
+- }
+- .as_error()
+- })?
+- .map_err(|e| {
+- tracing::error!("[AR] • Request error: {:?}", e);
+- crate::ErrorKind::NetworkErrorOccurred {
+- error: format!("Request error: {e}"),
+- }
+- .as_error()
+- })?;
+-
+- if !response.status().is_success() {
+- let status = response.status().to_string();
+- tracing::error!("[AR] • Failed to download file: HTTP {}", status);
+- return Err(crate::ErrorKind::NetworkErrorOccurred {
+- error: format!("Failed to download file: HTTP {status}"),
+- }
+- .as_error());
+- }
+-
+- response.bytes().await.map_err(|e| {
+- tracing::error!("[AR] • Failed to read response bytes: {:?}", e);
+- crate::ErrorKind::NetworkErrorOccurred {
+- error: format!("Failed to read response bytes: {e}"),
+- }
+- .as_error()
+- })
+-}
+-
+-/// ### AR • AuthLib (Ely.by)
+-/// Gets the Minecraft library metadata from the local libraries directory.
+-async fn get_minecraft_library_metadata(
+- minecraft_version: &str,
+-) -> Result {
+- let state = State::get().await?;
+-
+- let path = state
+- .directories
+- .version_dir(minecraft_version)
+- .join(format!("{}.json", minecraft_version));
+- if !path.exists() {
+- tracing::error!("[AR] • File not found: {:#?}", path);
+- return Err(crate::ErrorKind::InvalidMinecraftVersion {
+- minecraft_version: minecraft_version.to_string(),
+- }
+- .as_error());
+- }
+-
+- let content = fs::read_to_string(&path).await?;
+- let version_data: VersionJson = serde_json::from_str(&content)?;
+-
+- for lib in version_data.libraries {
+- if lib.name.contains("com.mojang:authlib") {
+- if let Some(downloads) = &lib.downloads {
+- if let Some(artifact) = &downloads.artifact {
+- if artifact.path.is_some()
+- && artifact.url.is_some()
+- && artifact.sha1.is_some()
+- {
+- tracing::info!("[AR] • Found AuthLib: {}", lib.name);
+- tracing::info!(
+- "[AR] • Path: {}",
+- artifact.path.as_ref().unwrap()
+- );
+- tracing::info!(
+- "[AR] • URL: {}",
+- artifact.url.as_ref().unwrap()
+- );
+- tracing::info!(
+- "[AR] • SHA1: {}",
+- artifact.sha1.as_ref().unwrap()
+- );
+-
+- return Ok(lib);
+- }
+- }
+- }
+- }
+- }
+-
+- Err(crate::ErrorKind::MinecraftMetadataNotFound {
+- minecraft_version: minecraft_version.to_string(),
+- }
+- .as_error())
+-}
+diff --git a/packages/assets/icons/astralrinth-logo.svg b/packages/assets/icons/astralrinth-logo.svg
+deleted file mode 100644
+index 44db83106..000000000
+--- a/packages/assets/icons/astralrinth-logo.svg
++++ /dev/null
+@@ -1,123 +0,0 @@
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+diff --git a/packages/assets/icons/elyby-icon.svg b/packages/assets/icons/elyby-icon.svg
+deleted file mode 100644
+index 21858d007..000000000
+--- a/packages/assets/icons/elyby-icon.svg
++++ /dev/null
+@@ -1,64 +0,0 @@
+-
+-
+-
+-
+-
+-
+-
+-
+- E
+-
+-
+diff --git a/packages/assets/icons/microsoft.svg b/packages/assets/icons/microsoft.svg
+deleted file mode 100644
+index d7b84e94f..000000000
+--- a/packages/assets/icons/microsoft.svg
++++ /dev/null
+@@ -1,17 +0,0 @@
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+diff --git a/packages/assets/icons/pirate-ship.svg b/packages/assets/icons/pirate-ship.svg
+deleted file mode 100644
+index 26857b89c..000000000
+--- a/packages/assets/icons/pirate-ship.svg
++++ /dev/null
+@@ -1,53 +0,0 @@
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+\ No newline at end of file
+diff --git a/packages/assets/icons/pirate.svg b/packages/assets/icons/pirate.svg
+deleted file mode 100644
+index 486774dab..000000000
+--- a/packages/assets/icons/pirate.svg
++++ /dev/null
+@@ -1,12 +0,0 @@
+-
+-
+-
+-
+-
+-
+-
+-
+diff --git a/packages/assets/index.ts b/packages/assets/index.ts
+index 724530458..18c018702 100644
+--- a/packages/assets/index.ts
++++ b/packages/assets/index.ts
+@@ -84,19 +84,6 @@ export const TwitterIcon = _TwitterIcon
+ export const WindowsIcon = _WindowsIcon
+ export const YouTubeIcon = _YouTubeIcon
+
+-// [AR] Styles
+-import _PirateIcon from './icons/pirate.svg?component'
+-import _MicrosoftIcon from './icons/microsoft.svg?component'
+-import _PirateShipIcon from './icons/pirate-ship.svg?component'
+-import _AstralRinthLogo from './icons/astralrinth-logo.svg?component'
+-import _ElyByIcon from './icons/elyby-icon.svg?component'
+-export const PirateIcon = _PirateIcon
+-export const MicrosoftIcon = _MicrosoftIcon
+-export const PirateShipIcon = _PirateShipIcon
+-export const AstralRinthLogo = _AstralRinthLogo
+-export const ElyByIcon = _ElyByIcon
+-
+-// Skin Models
+ export * from './generated-icons'
+ export { default as ClassicPlayerModel } from './models/classic-player.gltf?url'
+ export { default as SlimPlayerModel } from './models/slim-player.gltf?url'
+diff --git a/packages/assets/styles/neon-button.scss b/packages/assets/styles/neon-button.scss
+deleted file mode 100644
+index 91e201f39..000000000
+--- a/packages/assets/styles/neon-button.scss
++++ /dev/null
+@@ -1,39 +0,0 @@
+-// [AR] Feature
+-.neon-button.neon :deep(:is(button, a, .button-like)),
+-.neon-button.neon :slotted(:is(button, a, .button-like)),
+-.neon-button.neon :slotted(*) :is(button, a, .button-like) {
+- cursor: pointer;
+- background-color: transparent;
+- border: 1px solid #3e8cde;
+- color: #3e8cde;
+- text-shadow:
+- 0 0 4px rgba(79, 173, 255, 0.5),
+- 0 0 8px rgba(14, 98, 204, 0.5),
+- 0 0 12px rgba(122, 31, 199, 0.5);
+- transition:
+- color 0.25s ease,
+- box-shadow 0.3s ease,
+- transform 0.15s ease;
+- box-shadow: 0 0 4px rgba(79, 173, 255, 0.5);
+-}
+-
+-.bordered {
+- border-radius: 12px;
+-}
+-
+-/* Hover */
+-.neon-button.neon
+- :deep(:is(button, a, .button-like):hover):not([disabled]):not(.disabled),
+-.neon-button.neon
+- :slotted(:is(button, a, .button-like):hover):not([disabled]):not(.disabled),
+-.neon-button.neon
+- :slotted(*) :is(button, a, .button-like):hover:not([disabled]):not(.disabled) {
+- color: #10fae5;
+- transform: scale(1.02);
+- box-shadow:
+- 0 0 4px rgba(16, 250, 229, 0.3),
+- 0 0 8px rgba(16, 250, 229, 0.2);
+- text-shadow:
+- 0 0 2px rgba(16, 250, 229, 0.4),
+- 0 0 4px rgba(16, 250, 229, 0.25);
+-}
+\ No newline at end of file
+diff --git a/packages/assets/styles/neon-icon.scss b/packages/assets/styles/neon-icon.scss
+deleted file mode 100644
+index a0e2fb62f..000000000
+--- a/packages/assets/styles/neon-icon.scss
++++ /dev/null
+@@ -1,37 +0,0 @@
+-// [AR] Feature
+-.neon-icon {
+- background-color: transparent;
+- color: #3e8cde;
+- text-shadow:
+- 0 0 4px rgba(79, 173, 255, 0.5),
+- 0 0 8px rgba(14, 98, 204, 0.5),
+- 0 0 12px rgba(122, 31, 199, 0.5);
+- transition: transform 0.25s ease, color 0.25s ease, text-shadow 0.25s ease;
+- cursor: pointer;
+- display: inline-block;
+-}
+-
+-/* Hover */
+-.neon-icon:hover {
+- color: #10fae5;
+- transform: scale(1.05);
+- text-shadow:
+- 0 0 2px rgba(16, 250, 229, 0.4),
+- 0 0 4px rgba(16, 250, 229, 0.25);
+-}
+-
+-.neon-icon.pulse {
+- position: relative;
+- animation: neon-pulse 1s ease-in-out infinite;
+- filter: drop-shadow(0 0 6px #10fae5);
+- box-shadow: none;
+-}
+-
+-@keyframes neon-pulse {
+- 0%, 100% {
+- filter: drop-shadow(0 0 4px #10fae5);
+- }
+- 50% {
+- filter: drop-shadow(0 0 12px #10fae5);
+- }
+-}
+\ No newline at end of file
+diff --git a/packages/assets/styles/neon-text.scss b/packages/assets/styles/neon-text.scss
+deleted file mode 100644
+index 1899f2b6c..000000000
+--- a/packages/assets/styles/neon-text.scss
++++ /dev/null
+@@ -1,28 +0,0 @@
+-// [AR] Feature
+-.neon-text {
+- background-color: transparent;
+- color: #3e8cde;
+- text-shadow:
+- 0 0 4px rgba(79, 173, 255, 0.5),
+- 0 0 8px rgba(14, 98, 204, 0.5),
+- 0 0 12px rgba(122, 31, 199, 0.5);
+- transition:
+- color 0.25s ease,
+- box-shadow 0.3s ease,
+- transform 0.15s ease;
+-
+- white-space: normal;
+- word-wrap: break-word;
+- overflow-wrap: break-word;
+- max-width: 100%;
+- display: inline-block;
+- padding: 4px 8px;
+-}
+-
+-/* Hover */
+-.neon-text:hover:not([disabled]):not(.disabled) {
+- color: #10fae5;
+- text-shadow:
+- 0 0 2px rgba(16, 250, 229, 0.4),
+- 0 0 4px rgba(16, 250, 229, 0.25);
+-}
+diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
+index 5a35c5fd5..f31b3f7a3 100644
+--- a/pnpm-lock.yaml
++++ b/pnpm-lock.yaml
+@@ -21,13 +21,13 @@ importers:
+ version: 3.0.0
+ prettier:
+ specifier: ^3.3.2
+- version: 3.6.2
++ version: 3.3.2
+ turbo:
+ specifier: ^2.5.4
+- version: 2.5.5
++ version: 2.5.4
+ vue:
+ specifier: ^3.5.13
+- version: 3.5.18(typescript@5.9.2)
++ version: 3.5.13(typescript@5.8.3)
+
+ apps/app:
+ dependencies:
+@@ -58,122 +58,122 @@ importers:
+ version: link:../../packages/utils
+ '@sentry/vue':
+ specifier: ^8.27.0
+- version: 8.55.0(pinia@2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2))
++ version: 8.27.0(vue@3.5.13(typescript@5.5.4))
+ '@sfirew/minecraft-motd-parser':
+ specifier: ^1.1.6
+ version: 1.1.6
+ '@tauri-apps/api':
+ specifier: ^2.5.0
+- version: 2.7.0
++ version: 2.5.0
+ '@tauri-apps/plugin-dialog':
+ specifier: ^2.2.1
+- version: 2.3.2
++ version: 2.2.1
+ '@tauri-apps/plugin-http':
+ specifier: ^2.5.0
+- version: 2.5.1
++ version: 2.5.0
+ '@tauri-apps/plugin-opener':
+ specifier: ^2.2.6
+- version: 2.4.0
++ version: 2.2.6
+ '@tauri-apps/plugin-os':
+ specifier: ^2.2.1
+- version: 2.3.0
++ version: 2.2.1
+ '@tauri-apps/plugin-updater':
+ specifier: ^2.7.1
+- version: 2.9.0
++ version: 2.7.1
+ '@tauri-apps/plugin-window-state':
+ specifier: ^2.2.2
+- version: 2.4.0
++ version: 2.2.2
+ '@types/three':
+ specifier: ^0.172.0
+ version: 0.172.0
+ '@vintl/vintl':
+ specifier: ^4.4.1
+- version: 4.4.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 4.4.1(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@vueuse/core':
+ specifier: ^11.1.0
+- version: 11.3.0(vue@3.5.18(typescript@5.9.2))
++ version: 11.1.0(vue@3.5.13(typescript@5.5.4))
+ dayjs:
+ specifier: ^1.11.10
+- version: 1.11.13
++ version: 1.11.11
+ floating-vue:
+ specifier: ^5.2.2
+- version: 5.2.2(@nuxt/kit@3.18.1(magicast@0.3.5))(vue@3.5.18(typescript@5.9.2))
++ version: 5.2.2(@nuxt/kit@3.17.5(magicast@0.3.5))(vue@3.5.13(typescript@5.5.4))
+ ofetch:
+ specifier: ^1.3.4
+ version: 1.4.1
+ pinia:
+ specifier: ^2.1.7
+- version: 2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 2.1.7(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ posthog-js:
+ specifier: ^1.158.2
+- version: 1.258.6
++ version: 1.158.2
+ three:
+ specifier: ^0.172.0
+ version: 0.172.0
+ vite-svg-loader:
+ specifier: ^5.1.0
+- version: 5.1.0(vue@3.5.18(typescript@5.9.2))
++ version: 5.1.0(vue@3.5.13(typescript@5.5.4))
+ vue:
+ specifier: ^3.5.13
+- version: 3.5.18(typescript@5.9.2)
++ version: 3.5.13(typescript@5.5.4)
+ vue-multiselect:
+ specifier: 3.0.0
+ version: 3.0.0
+ vue-router:
+ specifier: 4.3.0
+- version: 4.3.0(vue@3.5.18(typescript@5.9.2))
++ version: 4.3.0(vue@3.5.13(typescript@5.5.4))
+ vue-virtual-scroller:
+ specifier: v2.0.0-beta.8
+- version: 2.0.0-beta.8(vue@3.5.18(typescript@5.9.2))
++ version: 2.0.0-beta.8(vue@3.5.13(typescript@5.5.4))
+ devDependencies:
+ '@eslint/compat':
+ specifier: ^1.1.1
+- version: 1.3.1(eslint@9.32.0(jiti@2.5.1))
++ version: 1.2.1(eslint@9.13.0(jiti@2.5.1))
+ '@formatjs/cli':
+ specifier: ^6.2.12
+- version: 6.7.2(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))
++ version: 6.2.12(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.5.4))
+ '@modrinth/tooling-config':
+ specifier: workspace:*
+ version: link:../../packages/tooling-config
+ '@nuxt/eslint-config':
+ specifier: ^0.5.6
+- version: 0.5.7(@typescript-eslint/utils@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
++ version: 0.5.7(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
+ '@taijased/vue-render-tracker':
+ specifier: ^1.0.7
+- version: 1.0.7(vue@3.5.18(typescript@5.9.2))
++ version: 1.0.7(vue@3.5.13(typescript@5.5.4))
+ '@vitejs/plugin-vue':
+ specifier: ^5.0.4
+- version: 5.2.4(vite@5.4.19(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1))(vue@3.5.18(typescript@5.9.2))
++ version: 5.2.1(vite@5.4.11(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))
+ autoprefixer:
+ specifier: ^10.4.19
+- version: 10.4.21(postcss@8.5.6)
++ version: 10.4.20(postcss@8.4.49)
+ eslint:
+ specifier: ^9.9.1
+- version: 9.32.0(jiti@2.5.1)
++ version: 9.13.0(jiti@2.5.1)
+ eslint-plugin-turbo:
+ specifier: ^2.5.4
+- version: 2.5.5(eslint@9.32.0(jiti@2.5.1))(turbo@2.5.5)
++ version: 2.5.4(eslint@9.13.0(jiti@2.5.1))(turbo@2.5.4)
+ postcss:
+ specifier: ^8.4.39
+- version: 8.5.6
++ version: 8.4.49
+ prettier:
+ specifier: ^3.2.5
+- version: 3.6.2
++ version: 3.3.2
+ sass:
+ specifier: ^1.74.1
+- version: 1.90.0
++ version: 1.77.6
+ tailwindcss:
+ specifier: ^3.4.4
+- version: 3.4.17
++ version: 3.4.4
+ typescript:
+ specifier: ^5.5.4
+- version: 5.9.2
++ version: 5.5.4
+ vite:
+ specifier: ^5.4.6
+- version: 5.4.19(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1)
++ version: 5.4.11(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1)
+ vue-tsc:
+ specifier: ^2.1.6
+- version: 2.2.12(typescript@5.9.2)
++ version: 2.1.6(typescript@5.5.4)
+
+ apps/app-playground: {}
+
+@@ -187,31 +187,31 @@ importers:
+ dependencies:
+ '@astrojs/check':
+ specifier: ^0.9.4
+- version: 0.9.4(prettier@3.6.2)(typescript@5.9.2)
++ version: 0.9.4(prettier@3.6.2)(typescript@5.8.2)
+ '@astrojs/starlight':
+ specifier: ^0.32.2
+- version: 0.32.6(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))
++ version: 0.32.2(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))
+ '@modrinth/assets':
+ specifier: workspace:*
+ version: link:../../packages/assets
+ astro:
+ specifier: ^5.4.1
+- version: 5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)
++ version: 5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)
+ sharp:
+ specifier: ^0.33.5
+ version: 0.33.5
+ starlight-openapi:
+ specifier: ^0.14.0
+- version: 0.14.4(@astrojs/markdown-remark@6.3.5)(@astrojs/starlight@0.32.6(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)))(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))(openapi-types@12.1.3)
++ version: 0.14.0(@astrojs/markdown-remark@6.2.0)(@astrojs/starlight@0.32.2(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)))(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))(openapi-types@12.1.3)
+ typescript:
+ specifier: ^5.8.2
+- version: 5.9.2
++ version: 5.8.2
+
+ apps/frontend:
+ dependencies:
+ '@formatjs/intl-localematcher':
+ specifier: ^0.5.4
+- version: 0.5.10
++ version: 0.5.4
+ '@intercom/messenger-js-sdk':
+ specifier: ^0.0.14
+ version: 0.0.14
+@@ -235,46 +235,46 @@ importers:
+ version: link:../../packages/utils
+ '@pinia/nuxt':
+ specifier: ^0.5.1
+- version: 0.5.5(magicast@0.3.5)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 0.5.1(magicast@0.3.5)(rollup@4.28.1)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@types/three':
+ specifier: ^0.172.0
+ version: 0.172.0
+ '@vintl/vintl':
+ specifier: ^4.4.1
+- version: 4.4.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 4.4.1(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@vitejs/plugin-vue':
+ specifier: ^5.0.4
+- version: 5.2.4(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
++ version: 5.2.1(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))
+ '@vue-email/components':
+ specifier: ^0.0.21
+- version: 0.0.21(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 0.0.21(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@vue-email/render':
+ specifier: ^0.0.9
+- version: 0.0.9(typescript@5.9.2)
++ version: 0.0.9(typescript@5.5.4)
+ '@vueuse/core':
+ specifier: ^11.1.0
+- version: 11.3.0(vue@3.5.18(typescript@5.9.2))
++ version: 11.1.0(vue@3.5.13(typescript@5.5.4))
+ ace-builds:
+ specifier: ^1.36.2
+- version: 1.43.2
++ version: 1.36.2
+ ansi-to-html:
+ specifier: ^0.7.2
+ version: 0.7.2
+ dayjs:
+ specifier: ^1.11.7
+- version: 1.11.13
++ version: 1.11.11
+ dompurify:
+ specifier: ^3.1.7
+- version: 3.2.6
++ version: 3.1.7
+ floating-vue:
+ specifier: ^5.2.2
+- version: 5.2.2(@nuxt/kit@3.18.1(magicast@0.3.5))(vue@3.5.18(typescript@5.9.2))
++ version: 5.2.2(@nuxt/kit@3.17.5(magicast@0.3.5))(vue@3.5.13(typescript@5.5.4))
+ fuse.js:
+ specifier: ^6.6.2
+ version: 6.6.2
+ highlight.js:
+ specifier: ^11.7.0
+- version: 11.11.1
++ version: 11.9.0
+ iso-3166-1:
+ specifier: ^2.1.1
+ version: 2.1.1
+@@ -292,95 +292,95 @@ importers:
+ version: 1.1.2
+ pinia:
+ specifier: ^2.1.7
+- version: 2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 2.1.7(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ pinia-plugin-persistedstate:
+ specifier: ^4.4.1
+- version: 4.4.1(@nuxt/kit@3.18.1(magicast@0.3.5))(@pinia/nuxt@0.5.5(magicast@0.3.5)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(pinia@2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))
++ version: 4.4.1(@nuxt/kit@3.17.5(magicast@0.3.5))(@pinia/nuxt@0.5.1(magicast@0.3.5)(rollup@4.28.1)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(pinia@2.1.7(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))
+ prettier:
+ specifier: ^3.6.2
+ version: 3.6.2
+ qrcode.vue:
+ specifier: ^3.4.0
+- version: 3.6.0(vue@3.5.18(typescript@5.9.2))
++ version: 3.4.1(vue@3.5.13(typescript@5.5.4))
+ semver:
+ specifier: ^7.5.4
+- version: 7.7.2
++ version: 7.6.3
+ three:
+ specifier: ^0.172.0
+ version: 0.172.0
+ vue-confetti-explosion:
+ specifier: ^1.0.2
+- version: 1.0.2(vue@3.5.18(typescript@5.9.2))
++ version: 1.0.2(vue@3.5.13(typescript@5.5.4))
+ vue-multiselect:
+ specifier: 3.0.0-alpha.2
+ version: 3.0.0-alpha.2
+ vue-typed-virtual-list:
+ specifier: ^1.0.10
+- version: 1.0.10(vue@3.5.18(typescript@5.9.2))
++ version: 1.0.10(vue@3.5.13(typescript@5.5.4))
+ vue3-ace-editor:
+ specifier: ^2.2.4
+- version: 2.2.4(ace-builds@1.43.2)(vue@3.5.18(typescript@5.9.2))
++ version: 2.2.4(ace-builds@1.36.2)(vue@3.5.13(typescript@5.5.4))
+ vue3-apexcharts:
+ specifier: ^1.5.2
+- version: 1.8.0(apexcharts@3.54.1)(vue@3.5.18(typescript@5.9.2))
++ version: 1.5.3(apexcharts@3.49.2)(vue@3.5.13(typescript@5.5.4))
+ xss:
+ specifier: ^1.0.14
+ version: 1.0.15
+ devDependencies:
+ '@formatjs/cli':
+ specifier: ^6.2.12
+- version: 6.7.2(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))
++ version: 6.2.12(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.5.4))
+ '@nuxt/devtools':
+ specifier: ^1.3.3
+- version: 1.7.0(rollup@4.46.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
++ version: 1.6.3(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))
+ '@types/dompurify':
+ specifier: ^3.0.5
+- version: 3.2.0
++ version: 3.0.5
+ '@types/node':
+ specifier: ^20.1.0
+- version: 20.19.9
++ version: 20.14.11
+ '@vintl/compact-number':
+ specifier: ^2.0.5
+- version: 2.0.7(@formatjs/intl@2.10.15(typescript@5.9.2))
++ version: 2.0.7(@formatjs/intl@2.10.4(typescript@5.5.4))
+ '@vintl/how-ago':
+ specifier: ^3.0.1
+- version: 3.0.1(@formatjs/intl@2.10.15(typescript@5.9.2))
++ version: 3.0.1(@formatjs/intl@2.10.4(typescript@5.5.4))
+ '@vintl/nuxt':
+ specifier: ^1.9.2
+- version: 1.9.2(@vue/compiler-core@3.5.18)(magicast@0.3.5)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
++ version: 1.9.2(@vue/compiler-core@3.5.13)(magicast@0.3.5)(rollup@4.28.1)(typescript@5.5.4)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))(webpack@5.92.1)
+ autoprefixer:
+ specifier: ^10.4.19
+- version: 10.4.21(postcss@8.5.6)
++ version: 10.4.20(postcss@8.4.49)
+ eslint:
+ specifier: ^8.57.0
+ version: 8.57.1
+ glob:
+ specifier: ^10.2.7
+- version: 10.4.5
++ version: 10.4.2
+ nuxt:
+ specifier: ^3.14.1592
+- version: 3.18.1(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@20.19.9)(@vue/compiler-sfc@3.5.18)(db0@0.3.2)(eslint@8.57.1)(ioredis@5.7.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue-tsc@2.2.12(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1)
++ version: 3.14.1592(@parcel/watcher@2.4.1)(@types/node@20.14.11)(eslint@8.57.1)(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.28.1)(sass@1.77.6)(terser@5.43.1)(typescript@5.5.4)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue-tsc@2.1.6(typescript@5.5.4))(xml2js@0.6.2)
+ postcss:
+ specifier: ^8.4.39
+- version: 8.5.6
++ version: 8.4.49
+ prettier-plugin-tailwindcss:
+ specifier: ^0.6.5
+- version: 0.6.14(prettier@3.6.2)
++ version: 0.6.5(prettier@3.6.2)
+ sass:
+ specifier: ^1.58.0
+- version: 1.90.0
++ version: 1.77.6
+ tailwindcss:
+ specifier: ^3.4.4
+- version: 3.4.17
++ version: 3.4.4
+ typescript:
+ specifier: ^5.4.5
+- version: 5.9.2
++ version: 5.5.4
+ vite-svg-loader:
+ specifier: ^5.1.0
+- version: 5.1.0(vue@3.5.18(typescript@5.9.2))
++ version: 5.1.0(vue@3.5.13(typescript@5.5.4))
+ vue-tsc:
+ specifier: ^2.0.24
+- version: 2.2.12(typescript@5.9.2)
++ version: 2.1.6(typescript@5.5.4)
+
+ apps/labrinth: {}
+
+@@ -393,10 +393,10 @@ importers:
+ version: link:../tooling-config
+ jiti:
+ specifier: ^2.4.2
+- version: 2.5.1
++ version: 2.4.2
+ vue:
+ specifier: ^3.5.13
+- version: 3.5.18(typescript@5.9.2)
++ version: 3.5.13(typescript@5.8.3)
+
+ packages/blog:
+ dependencies:
+@@ -405,7 +405,7 @@ importers:
+ version: link:../utils
+ glob:
+ specifier: ^10.2.7
+- version: 10.4.5
++ version: 10.4.2
+ gray-matter:
+ specifier: ^4.0.3
+ version: 4.0.3
+@@ -436,7 +436,7 @@ importers:
+ version: 0.4.14
+ jiti:
+ specifier: ^2.4.2
+- version: 2.5.1
++ version: 2.4.2
+
+ packages/daedalus: {}
+
+@@ -450,17 +450,17 @@ importers:
+ version: link:../utils
+ vue:
+ specifier: ^3.5.13
+- version: 3.5.18(typescript@5.9.2)
++ version: 3.5.13(typescript@5.8.3)
+ devDependencies:
+ '@formatjs/cli':
+ specifier: ^6.2.12
+- version: 6.7.2(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))
++ version: 6.2.12(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.8.3))
+ '@modrinth/tooling-config':
+ specifier: workspace:*
+ version: link:../tooling-config
+ '@vintl/vintl':
+ specifier: ^4.4.1
+- version: 4.4.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 4.4.1(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))
+
+ packages/tooling-config:
+ dependencies:
+@@ -469,7 +469,7 @@ importers:
+ version: 3.6.2
+ typescript:
+ specifier: '>=5.0.0'
+- version: 5.9.2
++ version: 5.8.3
+ devDependencies:
+ '@eslint/js':
+ specifier: ^9.32.0
+@@ -479,7 +479,7 @@ importers:
+ version: 3.4.2(prettier@3.6.2)
+ '@vue/tsconfig':
+ specifier: ^0.7.0
+- version: 0.7.0(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 0.7.0(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))
+ eslint:
+ specifier: ^9.32.0
+ version: 9.32.0(jiti@2.5.1)
+@@ -488,13 +488,13 @@ importers:
+ version: 10.1.8(eslint@9.32.0(jiti@2.5.1))
+ eslint-plugin-prettier:
+ specifier: ^5.5.3
+- version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2)
++ version: 5.5.3(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2)
+ eslint-plugin-simple-import-sort:
+ specifier: ^12.1.1
+ version: 12.1.1(eslint@9.32.0(jiti@2.5.1))
+ eslint-plugin-vue:
+ specifier: ^10.4.0
+- version: 10.4.0(@typescript-eslint/parser@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(vue-eslint-parser@9.4.3(eslint@9.32.0(jiti@2.5.1)))
++ version: 10.4.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(vue-eslint-parser@9.4.3(eslint@9.32.0(jiti@2.5.1)))
+ globals:
+ specifier: ^16.3.0
+ version: 16.3.0
+@@ -506,25 +506,25 @@ importers:
+ version: 2.0.6(prettier@3.6.2)
+ typescript-eslint:
+ specifier: ^8.38.0
+- version: 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
++ version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
+
+ packages/ui:
+ dependencies:
+ '@codemirror/commands':
+ specifier: ^6.3.2
+- version: 6.8.1
++ version: 6.6.0
+ '@codemirror/lang-markdown':
+ specifier: ^6.2.3
+- version: 6.3.4
++ version: 6.2.5
+ '@codemirror/language':
+ specifier: ^6.9.3
+- version: 6.11.2
++ version: 6.10.2
+ '@codemirror/state':
+ specifier: ^6.3.2
+- version: 6.5.2
++ version: 6.4.1
+ '@codemirror/view':
+ specifier: ^6.22.1
+- version: 6.38.1
++ version: 6.28.4
+ '@modrinth/assets':
+ specifier: workspace:*
+ version: link:../assets
+@@ -533,46 +533,46 @@ importers:
+ version: link:../utils
+ '@tresjs/cientos':
+ specifier: ^4.3.0
+- version: 4.3.1(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(@types/three@0.172.0)(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 4.3.1(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(@types/three@0.172.0)(react@19.1.1)(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@tresjs/core':
+ specifier: ^4.3.4
+- version: 4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@tresjs/post-processing':
+ specifier: ^2.4.0
+- version: 2.4.0(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 2.4.0(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ '@types/markdown-it':
+ specifier: ^14.1.1
+- version: 14.1.2
++ version: 14.1.1
+ '@types/three':
+ specifier: ^0.172.0
+ version: 0.172.0
+ '@vintl/how-ago':
+ specifier: ^3.0.1
+- version: 3.0.1(@formatjs/intl@2.10.15(typescript@5.9.2))
++ version: 3.0.1(@formatjs/intl@2.10.4(typescript@5.5.4))
+ '@vueuse/core':
+ specifier: ^11.1.0
+- version: 11.3.0(vue@3.5.18(typescript@5.9.2))
++ version: 11.1.0(vue@3.5.13(typescript@5.5.4))
+ apexcharts:
+ specifier: ^3.44.0
+- version: 3.54.1
++ version: 3.49.2
+ dayjs:
+ specifier: ^1.11.10
+- version: 1.11.13
++ version: 1.11.11
+ floating-vue:
+ specifier: ^5.2.2
+- version: 5.2.2(@nuxt/kit@3.18.1(magicast@0.3.5))(vue@3.5.18(typescript@5.9.2))
++ version: 5.2.2(@nuxt/kit@3.17.5(magicast@0.3.5))(vue@3.5.13(typescript@5.5.4))
+ highlight.js:
+ specifier: ^11.9.0
+- version: 11.11.1
++ version: 11.9.0
+ markdown-it:
+ specifier: ^13.0.2
+ version: 13.0.2
+ postprocessing:
+ specifier: ^6.37.6
+- version: 6.37.7(three@0.172.0)
++ version: 6.37.6(three@0.172.0)
+ qrcode.vue:
+ specifier: ^3.4.1
+- version: 3.6.0(vue@3.5.18(typescript@5.9.2))
++ version: 3.4.1(vue@3.5.13(typescript@5.5.4))
+ three:
+ specifier: ^0.172.0
+ version: 0.172.0
+@@ -581,74 +581,74 @@ importers:
+ version: 3.0.0
+ vue-select:
+ specifier: 4.0.0-beta.6
+- version: 4.0.0-beta.6(vue@3.5.18(typescript@5.9.2))
++ version: 4.0.0-beta.6(vue@3.5.13(typescript@5.5.4))
+ vue-typed-virtual-list:
+ specifier: ^1.0.10
+- version: 1.0.10(vue@3.5.18(typescript@5.9.2))
++ version: 1.0.10(vue@3.5.13(typescript@5.5.4))
+ vue3-apexcharts:
+ specifier: ^1.4.4
+- version: 1.8.0(apexcharts@3.54.1)(vue@3.5.18(typescript@5.9.2))
++ version: 1.5.3(apexcharts@3.49.2)(vue@3.5.13(typescript@5.5.4))
+ xss:
+ specifier: ^1.0.14
+ version: 1.0.15
+ devDependencies:
+ '@formatjs/cli':
+ specifier: ^6.2.12
+- version: 6.7.2(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))
++ version: 6.2.12(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.5.4))
+ '@modrinth/tooling-config':
+ specifier: workspace:*
+ version: link:../tooling-config
+ '@stripe/stripe-js':
+ specifier: ^7.3.1
+- version: 7.8.0
++ version: 7.3.1
+ '@vintl/unplugin':
+ specifier: ^1.5.1
+- version: 1.5.2(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))
++ version: 1.5.2(@vue/compiler-core@3.5.13)(rollup@3.29.4)(vite@4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))(webpack@5.92.1)
+ '@vintl/vintl':
+ specifier: ^4.4.1
+- version: 4.4.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ version: 4.4.1(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ stripe:
+ specifier: ^18.1.1
+- version: 18.4.0(@types/node@20.19.9)
++ version: 18.1.1(@types/node@22.4.1)
+ typescript:
+ specifier: ^5.4.5
+- version: 5.9.2
++ version: 5.5.4
+ vue:
+ specifier: ^3.5.13
+- version: 3.5.18(typescript@5.9.2)
++ version: 3.5.13(typescript@5.5.4)
+ vue-router:
+ specifier: 4.3.0
+- version: 4.3.0(vue@3.5.18(typescript@5.9.2))
++ version: 4.3.0(vue@3.5.13(typescript@5.5.4))
+
+ packages/utils:
+ dependencies:
+ '@codemirror/commands':
+ specifier: ^6.3.2
+- version: 6.8.1
++ version: 6.6.0
+ '@codemirror/lang-markdown':
+ specifier: ^6.2.3
+- version: 6.3.4
++ version: 6.2.5
+ '@codemirror/language':
+ specifier: ^6.9.3
+- version: 6.11.2
++ version: 6.10.2
+ '@codemirror/state':
+ specifier: ^6.3.2
+- version: 6.5.2
++ version: 6.4.1
+ '@codemirror/view':
+ specifier: ^6.22.1
+- version: 6.38.1
++ version: 6.28.4
+ '@types/markdown-it':
+ specifier: ^14.1.1
+- version: 14.1.2
++ version: 14.1.1
+ '@types/three':
+ specifier: ^0.172.0
+ version: 0.172.0
+ dayjs:
+ specifier: ^1.11.10
+- version: 1.11.13
++ version: 1.11.11
+ highlight.js:
+ specifier: ^11.9.0
+- version: 11.11.1
++ version: 11.9.0
+ markdown-it:
+ specifier: ^14.1.0
+ version: 14.1.0
+@@ -682,6 +682,10 @@ packages:
+ '@antfu/utils@0.7.10':
+ resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
+
++ '@apidevtools/openapi-schemas@2.1.0':
++ resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==}
++ engines: {node: '>=10'}
++
+ '@apidevtools/swagger-methods@3.0.2':
+ resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==}
+
+@@ -691,11 +695,14 @@ packages:
+ peerDependencies:
+ typescript: ^5.0.0
+
+- '@astrojs/compiler@2.12.2':
+- resolution: {integrity: sha512-w2zfvhjNCkNMmMMOn5b0J8+OmUaBL1o40ipMvqcG6NRpdC+lKxmTi48DT8Xw0SzJ3AfmeFLB45zXZXtmbsjcgw==}
++ '@astrojs/compiler@2.10.3':
++ resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==}
++
++ '@astrojs/compiler@2.10.4':
++ resolution: {integrity: sha512-86B3QGagP99MvSNwuJGiYSBHnh8nLvm2Q1IFI15wIUJJsPeQTO3eb2uwBmrqRsXykeR/mBzH8XCgz5AAt1BJrQ==}
+
+- '@astrojs/internal-helpers@0.7.1':
+- resolution: {integrity: sha512-7dwEVigz9vUWDw3nRwLQ/yH/xYovlUA0ZD86xoeKEBmkz9O6iELG1yri67PgAPW6VLL/xInA4t7H0CK6VmtkKQ==}
++ '@astrojs/internal-helpers@0.6.0':
++ resolution: {integrity: sha512-XgHIJDQaGlFnTr0sDp1PiJrtqsWzbHP2qkTU+JpQ8SnBewKP2IKOe/wqCkl0CyfyRXRu3TSWu4t/cpYMVfuBNA==}
+
+ '@astrojs/language-server@2.15.4':
+ resolution: {integrity: sha512-JivzASqTPR2bao9BWsSc/woPHH7OGSGc9aMxXL4U6egVTqBycB3ZHdBJPuOCVtcGLrzdWTosAqVPz1BVoxE0+A==}
+@@ -709,135 +716,131 @@ packages:
+ prettier-plugin-astro:
+ optional: true
+
+- '@astrojs/markdown-remark@6.3.5':
+- resolution: {integrity: sha512-MiR92CkE2BcyWf3b86cBBw/1dKiOH0qhLgXH2OXA6cScrrmmks1Rr4Tl0p/lFpvmgQQrP54Pd1uidJfmxGrpWQ==}
++ '@astrojs/markdown-remark@6.2.0':
++ resolution: {integrity: sha512-LUDjgd9p1yG0qTFSocaj3GOLmZs8Hsw/pNtvqzvNY58Acebxvb/46vDO/e/wxYgsKgIfWS+p+ZI5SfOjoVrbCg==}
+
+- '@astrojs/mdx@4.3.3':
+- resolution: {integrity: sha512-+9+xGP2TBXxcm84cpiq4S9JbuHOHM1fcvREfqW7VHxlUyfUQPByoJ9YYliqHkLS6BMzG+O/+o7n8nguVhuEv4w==}
+- engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
++ '@astrojs/mdx@4.1.0':
++ resolution: {integrity: sha512-M7BaYhVTT7Q/iS2EoEaUngQnN+D2jPCWmNS1TIY31bDyz3MOf+dZmuqODJOEUdBBAASkQE+MhzyPds/N2o6csw==}
++ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
+ peerDependencies:
+ astro: ^5.0.0
+
+- '@astrojs/prism@3.3.0':
+- resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==}
+- engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
++ '@astrojs/prism@3.2.0':
++ resolution: {integrity: sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==}
++ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
+
+- '@astrojs/sitemap@3.4.2':
+- resolution: {integrity: sha512-wfN2dZzdkto6yaMtOFa/J9gc60YE3wl3rgSBoNJ+MU3lJVUMsDY9xf9uAVi8Mp/zEQKFDSJlQzBvqQUpw0Hf6g==}
++ '@astrojs/sitemap@3.2.1':
++ resolution: {integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==}
+
+- '@astrojs/starlight@0.32.6':
+- resolution: {integrity: sha512-ASWGwNzq+0TmJ+GJFFxFFxx6Yra7BqIIMQbvOy/cweTHjqejB6mcaEWtS3Mag12LM7tXCES7v/fzmdPgjz8Yxw==}
++ '@astrojs/starlight@0.32.2':
++ resolution: {integrity: sha512-FLz8Y8R+GsD0jD/G64bYijwwVsAq99Ugk2bJYRmH2k1reYMh83GRma2IaKGgSI2fLNEu7tdyG4cpkwrwP3W02A==}
+ peerDependencies:
+ astro: ^5.1.5
+
+- '@astrojs/telemetry@3.3.0':
+- resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==}
+- engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
++ '@astrojs/telemetry@3.2.0':
++ resolution: {integrity: sha512-wxhSKRfKugLwLlr4OFfcqovk+LIFtKwLyGPqMsv+9/ibqqnW3Gv7tBhtKEb0gAyUAC4G9BTVQeQahqnQAhd6IQ==}
++ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
+
+ '@astrojs/yaml2ts@0.2.2':
+ resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==}
+
+- '@babel/code-frame@7.27.1':
+- resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
++ '@babel/code-frame@7.26.2':
++ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/compat-data@7.28.0':
+- resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==}
++ '@babel/compat-data@7.26.3':
++ resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/core@7.28.0':
+- resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==}
++ '@babel/core@7.26.0':
++ resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/generator@7.28.0':
+- resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==}
++ '@babel/generator@7.26.3':
++ resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-annotate-as-pure@7.27.3':
+- resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
++ '@babel/helper-annotate-as-pure@7.25.9':
++ resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-compilation-targets@7.27.2':
+- resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
++ '@babel/helper-compilation-targets@7.25.9':
++ resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-create-class-features-plugin@7.27.1':
+- resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==}
++ '@babel/helper-create-class-features-plugin@7.25.9':
++ resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+- '@babel/helper-globals@7.28.0':
+- resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
++ '@babel/helper-member-expression-to-functions@7.25.9':
++ resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-member-expression-to-functions@7.27.1':
+- resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
++ '@babel/helper-module-imports@7.25.9':
++ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-module-imports@7.27.1':
+- resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+- engines: {node: '>=6.9.0'}
+-
+- '@babel/helper-module-transforms@7.27.3':
+- resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
++ '@babel/helper-module-transforms@7.26.0':
++ resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+- '@babel/helper-optimise-call-expression@7.27.1':
+- resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
++ '@babel/helper-optimise-call-expression@7.25.9':
++ resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-plugin-utils@7.27.1':
+- resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
++ '@babel/helper-plugin-utils@7.25.9':
++ resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-replace-supers@7.27.1':
+- resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
++ '@babel/helper-replace-supers@7.25.9':
++ resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+- '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+- resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
++ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
++ resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-string-parser@7.27.1':
+- resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
++ '@babel/helper-string-parser@7.25.9':
++ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-validator-identifier@7.27.1':
+- resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
++ '@babel/helper-validator-identifier@7.25.9':
++ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helper-validator-option@7.27.1':
+- resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
++ '@babel/helper-validator-option@7.25.9':
++ resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/helpers@7.28.2':
+- resolution: {integrity: sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==}
++ '@babel/helpers@7.26.0':
++ resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/parser@7.28.0':
+- resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
++ '@babel/parser@7.26.3':
++ resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+- '@babel/plugin-proposal-decorators@7.28.0':
+- resolution: {integrity: sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==}
++ '@babel/plugin-proposal-decorators@7.24.7':
++ resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+- '@babel/plugin-syntax-decorators@7.27.1':
+- resolution: {integrity: sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==}
++ '@babel/plugin-syntax-decorators@7.24.7':
++ resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+- '@babel/plugin-syntax-import-attributes@7.27.1':
+- resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==}
++ '@babel/plugin-syntax-import-attributes@7.24.7':
++ resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+@@ -847,42 +850,42 @@ packages:
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+- '@babel/plugin-syntax-jsx@7.27.1':
+- resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
++ '@babel/plugin-syntax-jsx@7.24.7':
++ resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+- '@babel/plugin-syntax-typescript@7.27.1':
+- resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
++ '@babel/plugin-syntax-typescript@7.25.9':
++ resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+- '@babel/plugin-transform-typescript@7.28.0':
+- resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==}
++ '@babel/plugin-transform-typescript@7.26.3':
++ resolution: {integrity: sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+- '@babel/runtime@7.28.2':
+- resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==}
++ '@babel/runtime@7.25.6':
++ resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/template@7.27.2':
+- resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
++ '@babel/standalone@7.26.4':
++ resolution: {integrity: sha512-SF+g7S2mhTT1b7CHyfNjDkPU1corxg4LPYsyP0x5KuCl+EbtBQHRLqr9N3q7e7+x7NQ5LYxQf8mJ2PmzebLr0A==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/traverse@7.28.0':
+- resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==}
++ '@babel/template@7.25.9':
++ resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/types@7.28.0':
+- resolution: {integrity: sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==}
++ '@babel/traverse@7.26.4':
++ resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==}
+ engines: {node: '>=6.9.0'}
+
+- '@babel/types@7.28.2':
+- resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
++ '@babel/types@7.26.3':
++ resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==}
+ engines: {node: '>=6.9.0'}
+
+ '@braw/async-computed@5.0.2':
+@@ -890,58 +893,49 @@ packages:
+ peerDependencies:
+ vue: ^2.7 || ^3.2.45
+
+- '@capsizecss/unpack@2.4.0':
+- resolution: {integrity: sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==}
+-
+- '@cloudflare/kv-asset-handler@0.4.0':
+- resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==}
+- engines: {node: '>=18.0.0'}
++ '@cloudflare/kv-asset-handler@0.3.4':
++ resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
++ engines: {node: '>=16.13'}
+
+- '@codemirror/autocomplete@6.18.6':
+- resolution: {integrity: sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==}
++ '@codemirror/autocomplete@6.17.0':
++ resolution: {integrity: sha512-fdfj6e6ZxZf8yrkMHUSJJir7OJkHkZKaOZGzLWIYp2PZ3jd+d+UjG8zVPqJF6d3bKxkhvXTPan/UZ1t7Bqm0gA==}
++ peerDependencies:
++ '@codemirror/language': ^6.0.0
++ '@codemirror/state': ^6.0.0
++ '@codemirror/view': ^6.0.0
++ '@lezer/common': ^1.0.0
+
+- '@codemirror/commands@6.8.1':
+- resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==}
++ '@codemirror/commands@6.6.0':
++ resolution: {integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==}
+
+- '@codemirror/lang-css@6.3.1':
+- resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==}
++ '@codemirror/lang-css@6.2.1':
++ resolution: {integrity: sha512-/UNWDNV5Viwi/1lpr/dIXJNWiwDxpw13I4pTUAsNxZdg6E0mI2kTQb0P2iHczg1Tu+H4EBgJR+hYhKiHKko7qg==}
+
+ '@codemirror/lang-html@6.4.9':
+ resolution: {integrity: sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q==}
+
+- '@codemirror/lang-javascript@6.2.4':
+- resolution: {integrity: sha512-0WVmhp1QOqZ4Rt6GlVGwKJN3KW7Xh4H2q8ZZNGZaP6lRdxXJzmjm4FqvmOojVj6khWJHIb9sp7U/72W7xQgqAA==}
+-
+- '@codemirror/lang-markdown@6.3.4':
+- resolution: {integrity: sha512-fBm0BO03azXnTAsxhONDYHi/qWSI+uSEIpzKM7h/bkIc9fHnFp9y7KTMXKON0teNT97pFhc1a9DQTtWBYEZ7ug==}
++ '@codemirror/lang-javascript@6.2.2':
++ resolution: {integrity: sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==}
+
+- '@codemirror/language@6.11.2':
+- resolution: {integrity: sha512-p44TsNArL4IVXDTbapUmEkAlvWs2CFQbcfc0ymDsis1kH2wh0gcY96AS29c/vp2d0y2Tquk1EDSaawpzilUiAw==}
++ '@codemirror/lang-markdown@6.2.5':
++ resolution: {integrity: sha512-Hgke565YcO4fd9pe2uLYxnMufHO5rQwRr+AAhFq8ABuhkrjyX8R5p5s+hZUTdV60O0dMRjxKhBLxz8pu/MkUVA==}
+
+- '@codemirror/lint@6.8.5':
+- resolution: {integrity: sha512-s3n3KisH7dx3vsoeGMxsbRAgKe4O1vbrnKBClm99PU0fWxmxsx5rR2PfqQgIt+2MMJBHbiJ5rfIdLYfB9NNvsA==}
++ '@codemirror/language@6.10.2':
++ resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==}
+
+- '@codemirror/state@6.5.2':
+- resolution: {integrity: sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==}
++ '@codemirror/lint@6.8.1':
++ resolution: {integrity: sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==}
+
+- '@codemirror/view@6.38.1':
+- resolution: {integrity: sha512-RmTOkE7hRU3OVREqFVITWHz6ocgBjv08GoePscAakgVQfciA3SGCEk7mb9IzwW61cKKmlTpHXG6DUE5Ubx+MGQ==}
++ '@codemirror/state@6.4.1':
++ resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==}
+
+- '@colors/colors@1.6.0':
+- resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
+- engines: {node: '>=0.1.90'}
++ '@codemirror/view@6.28.4':
++ resolution: {integrity: sha512-QScv95fiviSQ/CaVGflxAvvvDy/9wi0RFyDl4LkHHWiMr/UPebyuTspmYSeN5Nx6eujcPYwsQzA6ZIZucKZVHQ==}
+
+ '@ctrl/tinycolor@4.1.0':
+ resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==}
+ engines: {node: '>=14'}
+
+- '@dabh/diagnostics@2.0.3':
+- resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==}
+-
+- '@dependents/detective-less@5.0.1':
+- resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==}
+- engines: {node: '>=18'}
+-
+ '@emmetio/abbreviation@2.3.3':
+ resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==}
+
+@@ -963,18 +957,12 @@ packages:
+ '@emmetio/stream-reader@2.2.0':
+ resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==}
+
+- '@emnapi/core@1.4.5':
+- resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==}
+-
+- '@emnapi/runtime@1.4.5':
+- resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==}
++ '@emnapi/runtime@1.2.0':
++ resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==}
+
+- '@emnapi/wasi-threads@1.0.4':
+- resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==}
+-
+- '@es-joy/jsdoccomment@0.50.2':
+- resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==}
+- engines: {node: '>=18'}
++ '@es-joy/jsdoccomment@0.49.0':
++ resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==}
++ engines: {node: '>=16'}
+
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
+@@ -982,316 +970,412 @@ packages:
+ cpu: [ppc64]
+ os: [aix]
+
+- '@esbuild/aix-ppc64@0.25.5':
+- resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
++ '@esbuild/aix-ppc64@0.24.0':
++ resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
+- '@esbuild/aix-ppc64@0.25.8':
+- resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==}
++ '@esbuild/aix-ppc64@0.25.0':
++ resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
++ '@esbuild/android-arm64@0.18.20':
++ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
++ engines: {node: '>=12'}
++ cpu: [arm64]
++ os: [android]
++
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+- '@esbuild/android-arm64@0.25.5':
+- resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
++ '@esbuild/android-arm64@0.24.0':
++ resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
+- '@esbuild/android-arm64@0.25.8':
+- resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==}
++ '@esbuild/android-arm64@0.25.0':
++ resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
++ '@esbuild/android-arm@0.18.20':
++ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
++ engines: {node: '>=12'}
++ cpu: [arm]
++ os: [android]
++
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
+- '@esbuild/android-arm@0.25.5':
+- resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
++ '@esbuild/android-arm@0.24.0':
++ resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
+- '@esbuild/android-arm@0.25.8':
+- resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==}
++ '@esbuild/android-arm@0.25.0':
++ resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
++ '@esbuild/android-x64@0.18.20':
++ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
++ engines: {node: '>=12'}
++ cpu: [x64]
++ os: [android]
++
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+- '@esbuild/android-x64@0.25.5':
+- resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
++ '@esbuild/android-x64@0.24.0':
++ resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
+- '@esbuild/android-x64@0.25.8':
+- resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==}
++ '@esbuild/android-x64@0.25.0':
++ resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
++ '@esbuild/darwin-arm64@0.18.20':
++ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
++ engines: {node: '>=12'}
++ cpu: [arm64]
++ os: [darwin]
++
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+- '@esbuild/darwin-arm64@0.25.5':
+- resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
++ '@esbuild/darwin-arm64@0.24.0':
++ resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
+- '@esbuild/darwin-arm64@0.25.8':
+- resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==}
++ '@esbuild/darwin-arm64@0.25.0':
++ resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
++ '@esbuild/darwin-x64@0.18.20':
++ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
++ engines: {node: '>=12'}
++ cpu: [x64]
++ os: [darwin]
++
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+- '@esbuild/darwin-x64@0.25.5':
+- resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
++ '@esbuild/darwin-x64@0.24.0':
++ resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
+- '@esbuild/darwin-x64@0.25.8':
+- resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==}
++ '@esbuild/darwin-x64@0.25.0':
++ resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
++ '@esbuild/freebsd-arm64@0.18.20':
++ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
++ engines: {node: '>=12'}
++ cpu: [arm64]
++ os: [freebsd]
++
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+- '@esbuild/freebsd-arm64@0.25.5':
+- resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
++ '@esbuild/freebsd-arm64@0.24.0':
++ resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
+- '@esbuild/freebsd-arm64@0.25.8':
+- resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==}
++ '@esbuild/freebsd-arm64@0.25.0':
++ resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
++ '@esbuild/freebsd-x64@0.18.20':
++ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
++ engines: {node: '>=12'}
++ cpu: [x64]
++ os: [freebsd]
++
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+- '@esbuild/freebsd-x64@0.25.5':
+- resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
++ '@esbuild/freebsd-x64@0.24.0':
++ resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
+- '@esbuild/freebsd-x64@0.25.8':
+- resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==}
++ '@esbuild/freebsd-x64@0.25.0':
++ resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
++ '@esbuild/linux-arm64@0.18.20':
++ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
++ engines: {node: '>=12'}
++ cpu: [arm64]
++ os: [linux]
++
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+- '@esbuild/linux-arm64@0.25.5':
+- resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
++ '@esbuild/linux-arm64@0.24.0':
++ resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
+- '@esbuild/linux-arm64@0.25.8':
+- resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==}
++ '@esbuild/linux-arm64@0.25.0':
++ resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
++ '@esbuild/linux-arm@0.18.20':
++ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
++ engines: {node: '>=12'}
++ cpu: [arm]
++ os: [linux]
++
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+- '@esbuild/linux-arm@0.25.5':
+- resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
++ '@esbuild/linux-arm@0.24.0':
++ resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
+- '@esbuild/linux-arm@0.25.8':
+- resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==}
++ '@esbuild/linux-arm@0.25.0':
++ resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
++ '@esbuild/linux-ia32@0.18.20':
++ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
++ engines: {node: '>=12'}
++ cpu: [ia32]
++ os: [linux]
++
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+- '@esbuild/linux-ia32@0.25.5':
+- resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
++ '@esbuild/linux-ia32@0.24.0':
++ resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
+- '@esbuild/linux-ia32@0.25.8':
+- resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==}
++ '@esbuild/linux-ia32@0.25.0':
++ resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
++ '@esbuild/linux-loong64@0.18.20':
++ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
++ engines: {node: '>=12'}
++ cpu: [loong64]
++ os: [linux]
++
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
+- '@esbuild/linux-loong64@0.25.5':
+- resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
++ '@esbuild/linux-loong64@0.24.0':
++ resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
+- '@esbuild/linux-loong64@0.25.8':
+- resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==}
++ '@esbuild/linux-loong64@0.25.0':
++ resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
++ '@esbuild/linux-mips64el@0.18.20':
++ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
++ engines: {node: '>=12'}
++ cpu: [mips64el]
++ os: [linux]
++
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+- '@esbuild/linux-mips64el@0.25.5':
+- resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
++ '@esbuild/linux-mips64el@0.24.0':
++ resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
+- '@esbuild/linux-mips64el@0.25.8':
+- resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==}
++ '@esbuild/linux-mips64el@0.25.0':
++ resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
++ '@esbuild/linux-ppc64@0.18.20':
++ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
++ engines: {node: '>=12'}
++ cpu: [ppc64]
++ os: [linux]
++
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+- '@esbuild/linux-ppc64@0.25.5':
+- resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
++ '@esbuild/linux-ppc64@0.24.0':
++ resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
+- '@esbuild/linux-ppc64@0.25.8':
+- resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==}
++ '@esbuild/linux-ppc64@0.25.0':
++ resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
++ '@esbuild/linux-riscv64@0.18.20':
++ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
++ engines: {node: '>=12'}
++ cpu: [riscv64]
++ os: [linux]
++
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+- '@esbuild/linux-riscv64@0.25.5':
+- resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
++ '@esbuild/linux-riscv64@0.24.0':
++ resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
+- '@esbuild/linux-riscv64@0.25.8':
+- resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==}
++ '@esbuild/linux-riscv64@0.25.0':
++ resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
++ '@esbuild/linux-s390x@0.18.20':
++ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
++ engines: {node: '>=12'}
++ cpu: [s390x]
++ os: [linux]
++
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+- '@esbuild/linux-s390x@0.25.5':
+- resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
++ '@esbuild/linux-s390x@0.24.0':
++ resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
+- '@esbuild/linux-s390x@0.25.8':
+- resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==}
++ '@esbuild/linux-s390x@0.25.0':
++ resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
++ '@esbuild/linux-x64@0.18.20':
++ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
++ engines: {node: '>=12'}
++ cpu: [x64]
++ os: [linux]
++
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+- '@esbuild/linux-x64@0.25.5':
+- resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
++ '@esbuild/linux-x64@0.24.0':
++ resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+- '@esbuild/linux-x64@0.25.8':
+- resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==}
++ '@esbuild/linux-x64@0.25.0':
++ resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+- '@esbuild/netbsd-arm64@0.25.5':
+- resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
++ '@esbuild/netbsd-arm64@0.25.0':
++ resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
+- '@esbuild/netbsd-arm64@0.25.8':
+- resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==}
+- engines: {node: '>=18'}
+- cpu: [arm64]
++ '@esbuild/netbsd-x64@0.18.20':
++ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
++ engines: {node: '>=12'}
++ cpu: [x64]
+ os: [netbsd]
+
+ '@esbuild/netbsd-x64@0.21.5':
+@@ -1300,53 +1384,59 @@ packages:
+ cpu: [x64]
+ os: [netbsd]
+
+- '@esbuild/netbsd-x64@0.25.5':
+- resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
++ '@esbuild/netbsd-x64@0.24.0':
++ resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+- '@esbuild/netbsd-x64@0.25.8':
+- resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==}
++ '@esbuild/netbsd-x64@0.25.0':
++ resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
+- '@esbuild/openbsd-arm64@0.25.5':
+- resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
++ '@esbuild/openbsd-arm64@0.24.0':
++ resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
+- '@esbuild/openbsd-arm64@0.25.8':
+- resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==}
++ '@esbuild/openbsd-arm64@0.25.0':
++ resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
++ '@esbuild/openbsd-x64@0.18.20':
++ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
++ engines: {node: '>=12'}
++ cpu: [x64]
++ os: [openbsd]
++
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+- '@esbuild/openbsd-x64@0.25.5':
+- resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
++ '@esbuild/openbsd-x64@0.24.0':
++ resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+- '@esbuild/openbsd-x64@0.25.8':
+- resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==}
++ '@esbuild/openbsd-x64@0.25.0':
++ resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+- '@esbuild/openharmony-arm64@0.25.8':
+- resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==}
+- engines: {node: '>=18'}
+- cpu: [arm64]
+- os: [openharmony]
++ '@esbuild/sunos-x64@0.18.20':
++ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
++ engines: {node: '>=12'}
++ cpu: [x64]
++ os: [sunos]
+
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
+@@ -1354,91 +1444,123 @@ packages:
+ cpu: [x64]
+ os: [sunos]
+
+- '@esbuild/sunos-x64@0.25.5':
+- resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
++ '@esbuild/sunos-x64@0.24.0':
++ resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
+- '@esbuild/sunos-x64@0.25.8':
+- resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==}
++ '@esbuild/sunos-x64@0.25.0':
++ resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
++ '@esbuild/win32-arm64@0.18.20':
++ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
++ engines: {node: '>=12'}
++ cpu: [arm64]
++ os: [win32]
++
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+- '@esbuild/win32-arm64@0.25.5':
+- resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
++ '@esbuild/win32-arm64@0.24.0':
++ resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+- '@esbuild/win32-arm64@0.25.8':
+- resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==}
++ '@esbuild/win32-arm64@0.25.0':
++ resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
++ '@esbuild/win32-ia32@0.18.20':
++ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
++ engines: {node: '>=12'}
++ cpu: [ia32]
++ os: [win32]
++
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+- '@esbuild/win32-ia32@0.25.5':
+- resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
++ '@esbuild/win32-ia32@0.24.0':
++ resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+- '@esbuild/win32-ia32@0.25.8':
+- resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==}
++ '@esbuild/win32-ia32@0.25.0':
++ resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
++ '@esbuild/win32-x64@0.18.20':
++ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
++ engines: {node: '>=12'}
++ cpu: [x64]
++ os: [win32]
++
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+- '@esbuild/win32-x64@0.25.5':
+- resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
++ '@esbuild/win32-x64@0.24.0':
++ resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+- '@esbuild/win32-x64@0.25.8':
+- resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==}
++ '@esbuild/win32-x64@0.25.0':
++ resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
++ '@eslint-community/eslint-utils@4.4.0':
++ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
++ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
++ peerDependencies:
++ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
++
+ '@eslint-community/eslint-utils@4.7.0':
+ resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
++ '@eslint-community/regexpp@4.11.0':
++ resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
++ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
++
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+- '@eslint/compat@1.3.1':
+- resolution: {integrity: sha512-k8MHony59I5EPic6EQTCNOuPoVBnoYXkP+20xvwFjN7t0qI3ImyvyBgg+hIVPwC8JaxVjjUZld+cLfBLFDLucg==}
++ '@eslint/compat@1.2.1':
++ resolution: {integrity: sha512-JbHG2TWuCeNzh87fXo+/46Z1LEo9DBA9T188d0fZgGxAD+cNyS6sx9fdiyxjGPBMyQVRlCutTByZ6a5+YMkF7g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- eslint: ^8.40 || 9
++ eslint: ^9.10.0
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+
++ '@eslint/config-array@0.18.0':
++ resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ '@eslint/config-array@0.21.0':
+ resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+@@ -1451,10 +1573,18 @@ packages:
+ resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
++ '@eslint/core@0.7.0':
++ resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ '@eslint/eslintrc@2.1.4':
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
++ '@eslint/eslintrc@3.1.0':
++ resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+@@ -1463,14 +1593,26 @@ packages:
+ resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
++ '@eslint/js@9.13.0':
++ resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ '@eslint/js@9.32.0':
+ resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
++ '@eslint/object-schema@2.1.4':
++ resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
++ '@eslint/plugin-kit@0.2.1':
++ resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ '@eslint/plugin-kit@0.3.4':
+ resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+@@ -1487,20 +1629,17 @@ packages:
+ '@expressive-code/plugin-text-markers@0.40.2':
+ resolution: {integrity: sha512-/XoLjD67K9nfM4TgDlXAExzMJp6ewFKxNpfUw4F7q5Ecy+IU3/9zQQG/O70Zy+RxYTwKGw2MA9kd7yelsxnSmw==}
+
+- '@fastify/busboy@3.1.1':
+- resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==}
+-
+- '@floating-ui/core@1.7.3':
+- resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
++ '@floating-ui/core@1.6.4':
++ resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==}
+
+ '@floating-ui/dom@1.1.1':
+ resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==}
+
+- '@floating-ui/utils@0.2.10':
+- resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
++ '@floating-ui/utils@0.2.4':
++ resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==}
+
+- '@formatjs/cli-lib@6.6.6':
+- resolution: {integrity: sha512-yWcW2fJB7wLblOPED+1NfaUU0dHBt/UZSsw774lh/oxKrr+rOfFTHciqTMif1H533mRcxkPtIZf/WdPsgzqgXA==}
++ '@formatjs/cli-lib@6.4.2':
++ resolution: {integrity: sha512-Khj1fVZgubtI6FNGmmQGiEg6Kfc2zBZhsJjkCmoofubbDq2IV4yV89uVpdNyroG8mzHUkXlM8yUh0cWzR4Z/Bg==}
+ engines: {node: '>= 16'}
+ peerDependencies:
+ '@glimmer/env': ^0.1.7
+@@ -1529,19 +1668,19 @@ packages:
+ vue:
+ optional: true
+
+- '@formatjs/cli@6.7.2':
+- resolution: {integrity: sha512-714/ifbtq7CmOtcLVGjYZp5EX0vKclQt3XZ+4Oiz0lhrHWU1ObFTtX9sLS9dADGta1pgDtS4+A3YpjWMY26Spg==}
++ '@formatjs/cli@6.2.12':
++ resolution: {integrity: sha512-bt1NEgkeYN8N9zWcpsPu3fZ57vv+biA+NtIQBlyOZnCp1bcvh+vNTXvmwF4C5qxqDtCylpOIb3yi3Ktgp4v0JQ==}
+ engines: {node: '>= 16'}
+ hasBin: true
+ peerDependencies:
+- '@glimmer/env': '*'
+- '@glimmer/reference': '*'
+- '@glimmer/syntax': ^0.94.9
+- '@glimmer/validator': '*'
+- '@vue/compiler-core': ^3.5.12
+- content-tag: ^3.0.0
+- ember-template-recast: ^6.1.5
+- vue: ^3.5.12
++ '@glimmer/env': ^0.1.7
++ '@glimmer/reference': ^0.91.1 || ^0.92.0
++ '@glimmer/syntax': ^0.92.0
++ '@glimmer/validator': ^0.92.0
++ '@vue/compiler-core': ^3.4.0
++ content-tag: ^2.0.1
++ ember-template-recast: ^6.1.4
++ vue: ^3.4.0
+ peerDependenciesMeta:
+ '@glimmer/env':
+ optional: true
+@@ -1563,71 +1702,58 @@ packages:
+ '@formatjs/ecma402-abstract@1.18.3':
+ resolution: {integrity: sha512-J961RbhyjHWeCIv+iOceNxpoZ/qomJOs5lH+rUJCeKNa59gME4KC0LJVMeWODjHsnv/hTH8Hvd6sevzcAzjuaQ==}
+
+- '@formatjs/ecma402-abstract@2.2.4':
+- resolution: {integrity: sha512-lFyiQDVvSbQOpU+WFd//ILolGj4UgA/qXrKeZxdV14uKiAUiPAtX6XAn7WBCRi7Mx6I7EybM9E5yYn4BIpZWYg==}
+-
+- '@formatjs/ecma402-abstract@2.3.4':
+- resolution: {integrity: sha512-qrycXDeaORzIqNhBOx0btnhpD1c+/qFIHAN9znofuMJX6QBwtbrmlpWfD4oiUUD2vJUOIYFA/gYtg2KAMGG7sA==}
+-
+- '@formatjs/fast-memoize@2.2.3':
+- resolution: {integrity: sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==}
+-
+- '@formatjs/fast-memoize@2.2.7':
+- resolution: {integrity: sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==}
++ '@formatjs/ecma402-abstract@2.0.0':
++ resolution: {integrity: sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==}
+
+- '@formatjs/icu-messageformat-parser@2.11.2':
+- resolution: {integrity: sha512-AfiMi5NOSo2TQImsYAg8UYddsNJ/vUEv/HaNqiFjnI3ZFfWihUtD5QtuX6kHl8+H+d3qvnE/3HZrfzgdWpsLNA==}
++ '@formatjs/fast-memoize@2.2.0':
++ resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==}
+
+- '@formatjs/icu-messageformat-parser@2.9.4':
+- resolution: {integrity: sha512-Tbvp5a9IWuxUcpWNIW6GlMQYEc4rwNHR259uUFoKWNN1jM9obf9Ul0e+7r7MvFOBNcN+13K7NuKCKqQiAn1QEg==}
++ '@formatjs/icu-messageformat-parser@2.7.8':
++ resolution: {integrity: sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==}
+
+- '@formatjs/icu-skeleton-parser@1.8.14':
+- resolution: {integrity: sha512-i4q4V4qslThK4Ig8SxyD76cp3+QJ3sAqr7f6q9VVfeGtxG9OhiAk3y9XF6Q41OymsKzsGQ6OQQoJNY4/lI8TcQ==}
++ '@formatjs/icu-skeleton-parser@1.8.2':
++ resolution: {integrity: sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==}
+
+- '@formatjs/icu-skeleton-parser@1.8.8':
+- resolution: {integrity: sha512-vHwK3piXwamFcx5YQdCdJxUQ1WdTl6ANclt5xba5zLGDv5Bsur7qz8AD7BevaKxITwpgDeU0u8My3AIibW9ywA==}
++ '@formatjs/intl-displaynames@6.6.8':
++ resolution: {integrity: sha512-Lgx6n5KxN16B3Pb05z3NLEBQkGoXnGjkTBNCZI+Cn17YjHJ3fhCeEJJUqRlIZmJdmaXQhjcQVDp6WIiNeRYT5g==}
+
+- '@formatjs/intl-displaynames@6.8.5':
+- resolution: {integrity: sha512-85b+GdAKCsleS6cqVxf/Aw/uBd+20EM0wDpgaxzHo3RIR3bxF4xCJqH/Grbzx8CXurTgDDZHPdPdwJC+May41w==}
+-
+- '@formatjs/intl-listformat@7.7.5':
+- resolution: {integrity: sha512-Wzes10SMNeYgnxYiKsda4rnHP3Q3II4XT2tZyOgnH5fWuHDtIkceuWlRQNsvrI3uiwP4hLqp2XdQTCsfkhXulg==}
++ '@formatjs/intl-listformat@7.5.7':
++ resolution: {integrity: sha512-MG2TSChQJQT9f7Rlv+eXwUFiG24mKSzmF144PLb8m8OixyXqn4+YWU+5wZracZGCgVTVmx8viCf7IH3QXoiB2g==}
+
+ '@formatjs/intl-localematcher@0.4.2':
+ resolution: {integrity: sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==}
+
+- '@formatjs/intl-localematcher@0.5.10':
+- resolution: {integrity: sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==}
+-
+ '@formatjs/intl-localematcher@0.5.4':
+ resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==}
+
+- '@formatjs/intl-localematcher@0.5.8':
+- resolution: {integrity: sha512-I+WDNWWJFZie+jkfkiK5Mp4hEDyRSEvmyfYadflOno/mmKJKcB17fEpEH0oJu/OWhhCJ8kJBDz2YMd/6cDl7Mg==}
+-
+- '@formatjs/intl-localematcher@0.6.1':
+- resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==}
+-
+- '@formatjs/intl@2.10.15':
+- resolution: {integrity: sha512-i6+xVqT+6KCz7nBfk4ybMXmbKO36tKvbMKtgFz9KV+8idYFyFbfwKooYk8kGjyA5+T5f1kEPQM5IDLXucTAQ9g==}
++ '@formatjs/intl@2.10.4':
++ resolution: {integrity: sha512-56483O+HVcL0c7VucAS2tyH020mt9XTozZO67cwtGg0a7KWDukS/FzW3OnvaHmTHDuYsoPIzO+ZHVfU6fT/bJw==}
+ peerDependencies:
+ typescript: ^4.7 || 5
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+- '@formatjs/ts-transformer@3.13.23':
+- resolution: {integrity: sha512-9ufpij2uHlc/yzb2WDOswaslTQQ7nOIE7aDLWErmc7Kpm5uPU6MihSuEa//DVoNoOD+fywYkbqsZnDjvXeLuAQ==}
++ '@formatjs/ts-transformer@3.13.14':
++ resolution: {integrity: sha512-TP/R54lxQ9Drzzimxrrt6yBT/xBofTgYl5wSTpyKe3Aq9vIBVcFmS6EOqycj0X34KGu3EpDPGO0ng8ZQZGLIFg==}
+ peerDependencies:
+ ts-jest: '>=27'
+ peerDependenciesMeta:
+ ts-jest:
+ optional: true
+
++ '@humanfs/core@0.19.0':
++ resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
++ engines: {node: '>=18.18.0'}
++
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
+
++ '@humanfs/node@0.16.5':
++ resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==}
++ engines: {node: '>=18.18.0'}
++
+ '@humanfs/node@0.16.6':
+ resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ engines: {node: '>=18.18.0'}
+@@ -1765,38 +1891,43 @@ packages:
+ '@intercom/messenger-js-sdk@0.0.14':
+ resolution: {integrity: sha512-2dH4BDAh9EI90K7hUkAdZ76W79LM45Sd1OBX7t6Vzy8twpNiQ5X+7sH9G5hlJlkSGnf+vFWlFcy9TOYAyEs1hA==}
+
+- '@ioredis/commands@1.3.0':
+- resolution: {integrity: sha512-M/T6Zewn7sDaBQEqIZ8Rb+i9y8qfGmq+5SDFSf9sA2lUZTmdDLVdOiQaeDp+Q4wElZ9HG1GAX5KhDaidp6LQsQ==}
+-
+- '@isaacs/balanced-match@4.0.1':
+- resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
+- engines: {node: 20 || >=22}
+-
+- '@isaacs/brace-expansion@5.0.0':
+- resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==}
+- engines: {node: 20 || >=22}
++ '@ioredis/commands@1.2.0':
++ resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+- '@isaacs/fs-minipass@4.0.1':
+- resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+- engines: {node: '>=18.0.0'}
+-
+ '@jridgewell/gen-mapping@0.3.12':
+ resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
+
++ '@jridgewell/gen-mapping@0.3.5':
++ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
++ engines: {node: '>=6.0.0'}
++
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
++ '@jridgewell/set-array@1.2.1':
++ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
++ engines: {node: '>=6.0.0'}
++
+ '@jridgewell/source-map@0.3.10':
+ resolution: {integrity: sha512-0pPkgz9dY+bijgistcTTJ5mR+ocqRXLuhXHYdzoMmmoJ2C9S46RCm2GMUbatPEUK9Yjy26IrAy8D/M00lLkv+Q==}
+
++ '@jridgewell/source-map@0.3.6':
++ resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
++
++ '@jridgewell/sourcemap-codec@1.5.0':
++ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
++
+ '@jridgewell/sourcemap-codec@1.5.4':
+ resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
+
++ '@jridgewell/trace-mapping@0.3.25':
++ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
++
+ '@jridgewell/trace-mapping@0.3.29':
+ resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==}
+
+@@ -1809,83 +1940,49 @@ packages:
+ '@kwsites/promise-deferred@1.1.1':
+ resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
+
+- '@lezer/common@1.2.3':
+- resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==}
++ '@lezer/common@1.2.1':
++ resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==}
+
+- '@lezer/css@1.3.0':
+- resolution: {integrity: sha512-pBL7hup88KbI7hXnZV3PQsn43DHy6TWyzuyk2AO9UyoXcDltvIdqWKE1dLL/45JVZ+YZkHe1WVHqO6wugZZWcw==}
++ '@lezer/css@1.1.8':
++ resolution: {integrity: sha512-7JhxupKuMBaWQKjQoLtzhGj83DdnZY9MckEOG5+/iLKNK2ZJqKc6hf6uc0HjwCX7Qlok44jBNqZhHKDhEhZYLA==}
+
+- '@lezer/highlight@1.2.1':
+- resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==}
++ '@lezer/highlight@1.2.0':
++ resolution: {integrity: sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==}
+
+ '@lezer/html@1.3.10':
+ resolution: {integrity: sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==}
+
+- '@lezer/javascript@1.5.1':
+- resolution: {integrity: sha512-ATOImjeVJuvgm3JQ/bpo2Tmv55HSScE2MTPnKRMRIPx2cLhHGyX2VnqpHhtIV1tVzIjZDbcWQm+NCTF40ggZVw==}
++ '@lezer/javascript@1.4.17':
++ resolution: {integrity: sha512-bYW4ctpyGK+JMumDApeUzuIezX01H76R1foD6LcRX224FWfyYit/HYxiPGDjXXe/wQWASjCvVGoukTH68+0HIA==}
+
+- '@lezer/lr@1.4.2':
+- resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==}
++ '@lezer/lr@1.4.1':
++ resolution: {integrity: sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==}
+
+- '@lezer/markdown@1.4.3':
+- resolution: {integrity: sha512-kfw+2uMrQ/wy/+ONfrH83OkdFNM0ye5Xq96cLlaCy7h5UT9FO54DU4oRoIc0CSBh5NWmWuiIJA7NGLMJbQ+Oxg==}
++ '@lezer/markdown@1.3.0':
++ resolution: {integrity: sha512-ErbEQ15eowmJUyT095e9NJc3BI9yZ894fjSDtHftD0InkfUBGgnKSU6dvan9jqsZuNHg2+ag/1oyDRxNsENupQ==}
+
+ '@ltd/j-toml@1.38.0':
+ resolution: {integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw==}
+
+- '@mapbox/node-pre-gyp@2.0.0':
+- resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==}
+- engines: {node: '>=18'}
++ '@mapbox/node-pre-gyp@1.0.11':
++ resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
+ hasBin: true
+
+- '@marijn/find-cluster-break@1.0.2':
+- resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==}
+-
+ '@mdx-js/mdx@3.1.0':
+ resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
+
+- '@napi-rs/wasm-runtime@0.2.12':
+- resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+-
+- '@napi-rs/wasm-runtime@1.0.1':
+- resolution: {integrity: sha512-KVlQ/jgywZpixGCKMNwxStmmbYEMyokZpCf2YuIChhfJA2uqfAKNEM8INz7zzTo55iEXfBhIIs3VqYyqzDLj8g==}
+-
+- '@netlify/binary-info@1.0.0':
+- resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==}
+-
+- '@netlify/blobs@9.1.2':
+- resolution: {integrity: sha512-7dMjExSH4zj4ShvLem49mE3mf0K171Tx2pV4WDWhJbRUWW3SJIR2qntz0LvUGS97N5HO1SmnzrgWUhEXCsApiw==}
+- engines: {node: ^14.16.0 || >=16.0.0}
+-
+- '@netlify/dev-utils@2.2.0':
+- resolution: {integrity: sha512-5XUvZuffe3KetyhbWwd4n2ktd7wraocCYw10tlM+/u/95iAz29GjNiuNxbCD1T6Bn1MyGc4QLVNKOWhzJkVFAw==}
+- engines: {node: ^14.16.0 || >=16.0.0}
+-
+- '@netlify/functions@3.1.10':
+- resolution: {integrity: sha512-sI93kcJ2cUoMgDRPnrEm0lZhuiDVDqM6ngS/UbHTApIH3+eg3yZM5p/0SDFQQq9Bad0/srFmgBmTdXushzY5kg==}
++ '@netlify/functions@2.8.2':
++ resolution: {integrity: sha512-DeoAQh8LuNPvBE4qsKlezjKj0PyXDryOFJfJKo3Z1qZLKzQ21sT314KQKPVjfvw6knqijj+IO+0kHXy/TJiqNA==}
+ engines: {node: '>=14.0.0'}
+
+- '@netlify/open-api@2.37.0':
+- resolution: {integrity: sha512-zXnRFkxgNsalSgU8/vwTWnav3R+8KG8SsqHxqaoJdjjJtnZR7wo3f+qqu4z+WtZ/4V7fly91HFUwZ6Uz2OdW7w==}
+- engines: {node: '>=14.8.0'}
+-
+- '@netlify/runtime-utils@1.3.1':
+- resolution: {integrity: sha512-7/vIJlMYrPJPlEW84V2yeRuG3QBu66dmlv9neTmZ5nXzwylhBEOhy11ai+34A8mHCSZI4mKns25w3HM9kaDdJg==}
+- engines: {node: '>=16.0.0'}
+-
+- '@netlify/serverless-functions-api@1.41.2':
+- resolution: {integrity: sha512-pfCkH50JV06SGMNsNPjn8t17hOcId4fA881HeYQgMBOrewjsw4csaYgHEnCxCEu24Y5x75E2ULbFpqm9CvRCqw==}
+- engines: {node: '>=18.0.0'}
++ '@netlify/node-cookies@0.1.0':
++ resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==}
++ engines: {node: ^14.16.0 || >=16.0.0}
+
+- '@netlify/serverless-functions-api@2.1.3':
+- resolution: {integrity: sha512-bNlN/hpND8xFQzpjyKxm6vJayD+bPBlOvs4lWihE7WULrphuH1UuFsoVE5386bNNGH8Rs1IH01AFsl7ALQgOlQ==}
++ '@netlify/serverless-functions-api@1.26.1':
++ resolution: {integrity: sha512-q3L9i3HoNfz0SGpTIS4zTcKBbRkxzCRpd169eyiTuk3IwcPC3/85mzLHranlKo2b+HYT0gu37YxGB45aD8A3Tw==}
+ engines: {node: '>=18.0.0'}
+
+- '@netlify/zip-it-and-ship-it@12.2.1':
+- resolution: {integrity: sha512-zAr+8Tg80y/sUbhdUkZsq4Uy1IMzkSB6H/sKRMrDQ2NJx4uPgf5X5jMdg9g2FljNcxzpfJwc1Gg4OXQrjD0Z4A==}
+- engines: {node: '>=18.14.0'}
+- hasBin: true
+-
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+@@ -1898,44 +1995,24 @@ packages:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+- '@nuxt/cli@3.27.0':
+- resolution: {integrity: sha512-lOdzEvEbGaV06ebKKYgpumLLzbOZMFQzZfT4ZE7foa8/8aXG+GR3g8w9RX2IUyomTdSfapa3UcHDC8srQKRIEw==}
+- engines: {node: ^16.10.0 || >=18.0.0}
+- hasBin: true
+-
+ '@nuxt/devalue@2.0.2':
+ resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==}
+
+- '@nuxt/devtools-kit@1.7.0':
+- resolution: {integrity: sha512-+NgZ2uP5BuneqvQbe7EdOEaFEDy8762c99pLABtn7/Ur0ExEsQJMP7pYjjoTfKubhBqecr5Vo9yHkPBj1eHulQ==}
++ '@nuxt/devtools-kit@1.6.3':
++ resolution: {integrity: sha512-rcWpsGUnaDyGtmA667A4FDrVWdjuAturHV+Lkt3Xmedu5G4wC4sOzoA0+/Yco3/kWZ6fLVUTKwI2mvfzaQIugA==}
+ peerDependencies:
+ vite: '*'
+
+- '@nuxt/devtools-kit@2.6.2':
+- resolution: {integrity: sha512-esErdMQ0u3wXXogKQ3IE2m0fxv52w6CzPsfsXF4o5ZVrUQrQaH58ygupDAQTYdlGTgtqmEA6KkHTGG5cM6yxeg==}
+- peerDependencies:
+- vite: '>=6.0'
+-
+- '@nuxt/devtools-wizard@1.7.0':
+- resolution: {integrity: sha512-86Gd92uEw0Dh2ErIYT9TMIrMOISE96fCRN4rxeryTvyiowQOsyrbkCeMNYrEehoRL+lohoyK6iDmFajadPNwWQ==}
++ '@nuxt/devtools-wizard@1.6.3':
++ resolution: {integrity: sha512-CvrnHTzEwfyCh06Z9I9F10MMqdhMCqpDGJaLsjzGyUoRAcFps9PRb1gyvSE/mwXBM6xsNltyUTccYwzdRCj0pA==}
+ hasBin: true
+
+- '@nuxt/devtools-wizard@2.6.2':
+- resolution: {integrity: sha512-s1eYYKi2eZu2ZUPQrf22C0SceWs5/C3c3uow/DVunD304Um/Tj062xM9E4p1B9L8yjaq8t0Gtyu/YvZdo/reyg==}
+- hasBin: true
+-
+- '@nuxt/devtools@1.7.0':
+- resolution: {integrity: sha512-uvnjt5Zowkz7tZmnks2cGreg1XZIiSyVzQ2MYiRXACodlXcwJ0dpUS3WTxu8BR562K+772oRdvKie9AQlyZUgg==}
++ '@nuxt/devtools@1.6.3':
++ resolution: {integrity: sha512-+pwNrOrpWYMUpVDo7VtBBcYGA2QCXc+RjLP2lPpPFfXHQrStlFT2/7bi+byzwzn7ZtcMRbOMVV6Lbf7oma4HIw==}
+ hasBin: true
+ peerDependencies:
+ vite: '*'
+
+- '@nuxt/devtools@2.6.2':
+- resolution: {integrity: sha512-pqcSDPv1I+8fxa6FvhAxVrfcN/sXYLOBe9scTLbRQOVLTO0pHzryayho678qNKiwWGgj/rcjEDr6IZCgwqOCfA==}
+- hasBin: true
+- peerDependencies:
+- vite: '>=6.0'
+-
+ '@nuxt/eslint-config@0.5.7':
+ resolution: {integrity: sha512-B+snO9NS9+v2657Z84tMbW3hLxjauIUkk2m4vnYjb9xfAFdoQwK07q6aaf7LzvagmVFmQiclT9LbJMvlRqzmsA==}
+ peerDependencies:
+@@ -1946,22 +2023,25 @@ packages:
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+
+- '@nuxt/kit@3.18.1':
+- resolution: {integrity: sha512-z6w1Fzv27CIKFlhct05rndkJSfoslplWH5fJ9dtusEvpYScLXp5cATWIbWkte9e9zFSmQTgDQJjNs3geQHE7og==}
++ '@nuxt/kit@3.14.1592':
++ resolution: {integrity: sha512-r9r8bISBBisvfcNgNL3dSIQHSBe0v5YkX5zwNblIC2T0CIEgxEVoM5rq9O5wqgb5OEydsHTtT2hL57vdv6VT2w==}
++ engines: {node: ^14.18.0 || >=16.10.0}
++
++ '@nuxt/kit@3.17.5':
++ resolution: {integrity: sha512-NdCepmA+S/SzgcaL3oYUeSlXGYO6BXGr9K/m1D0t0O9rApF8CSq/QQ+ja5KYaYMO1kZAEWH4s2XVcE3uPrrAVg==}
+ engines: {node: '>=18.12.0'}
+
+- '@nuxt/schema@3.18.1':
+- resolution: {integrity: sha512-0237FcmSklop7qZUzldPn01wF6R1subQpkhgJKciONV3n4pu4DDYObTLzG9R3zGvXYRNfeMX38ktxVY2TMQ3AQ==}
++ '@nuxt/schema@3.14.1592':
++ resolution: {integrity: sha512-A1d/08ueX8stTXNkvGqnr1eEXZgvKn+vj6s7jXhZNWApUSqMgItU4VK28vrrdpKbjIPwq2SwhnGOHUYvN9HwCQ==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+- '@nuxt/telemetry@2.6.6':
+- resolution: {integrity: sha512-Zh4HJLjzvm3Cq9w6sfzIFyH9ozK5ePYVfCUzzUQNiZojFsI2k1QkSBrVI9BGc6ArKXj/O6rkI6w7qQ+ouL8Cag==}
+- engines: {node: '>=18.12.0'}
++ '@nuxt/telemetry@2.6.0':
++ resolution: {integrity: sha512-h4YJ1d32cU7tDKjjhjtIIEck4WF/w3DTQBT348E9Pz85YLttnLqktLM0Ez9Xc2LzCeUgBDQv1el7Ob/zT3KUqg==}
+ hasBin: true
+
+- '@nuxt/vite-builder@3.18.1':
+- resolution: {integrity: sha512-+FnObSM3eYdMTPIPuKShvIGn5wEU9uPyPWF4v4pHS6Eg2usuz5WDugibSEWw4shSC0tsPla19DxwA4KSCxluWg==}
+- engines: {node: ^20.19.0 || >=22.12.0}
++ '@nuxt/vite-builder@3.14.1592':
++ resolution: {integrity: sha512-GVS7vkBJAGv13ghmjgGrS2QVyzoqxQ5+cAUrMeMjKbY7GnRY7/uOkoLmznYx8E/U9HBUyHQa+wSN2ZfcSiEytQ==}
++ engines: {node: ^14.18.0 || >=16.10.0}
+ peerDependencies:
+ vue: ^3.3.4
+
+@@ -1971,423 +2051,142 @@ packages:
+ '@oslojs/encoding@1.1.0':
+ resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==}
+
+- '@oxc-minify/binding-android-arm64@0.80.0':
+- resolution: {integrity: sha512-OLelUqrLkSJwNyjLZHgpKy9n0+zHQiMX8A0GFovJIwhgfPxjT/mt2JMnGkSoDlTnf9cw6nvALFzCsJZLTyl8gg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [android]
+-
+- '@oxc-minify/binding-darwin-arm64@0.80.0':
+- resolution: {integrity: sha512-7vJjhKHGfFVit3PCerbnrXQI0XgmmgV5HTNxlNsvxcmjPRIoYVkuwwRkiBsxO4RiBwvRRkAFPop3fY/gpuflJA==}
+- engines: {node: '>=14.0.0'}
++ '@pagefind/darwin-arm64@1.3.0':
++ resolution: {integrity: sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==}
+ cpu: [arm64]
+ os: [darwin]
+
+- '@oxc-minify/binding-darwin-x64@0.80.0':
+- resolution: {integrity: sha512-jKnRVtwVhspd8djNSQMICOZe6gQBwXTcfHylZ2Azw4ZXvqTyxDqgcEGgx0WyaqvUTLHdX42nJCHRHHy6MOVPOg==}
+- engines: {node: '>=14.0.0'}
++ '@pagefind/darwin-x64@1.3.0':
++ resolution: {integrity: sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==}
+ cpu: [x64]
+ os: [darwin]
+
+- '@oxc-minify/binding-freebsd-x64@0.80.0':
+- resolution: {integrity: sha512-iO7KjJsFpDtG5w8T6twTxLsvffn8PsjBbBUwjzVPfSD4YlsHDd0GjIVYcP+1TXzLRlV4zWmd67SOBnNyreSGBg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [x64]
+- os: [freebsd]
+-
+- '@oxc-minify/binding-linux-arm-gnueabihf@0.80.0':
+- resolution: {integrity: sha512-uwBdietv8USofOUAOcxyta14VbcJiFizQUMuCB9sLkK+Nh/CV5U2SVjsph5HlARGVu8V2DF+FXROD6sTl9DLiA==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm]
+- os: [linux]
+-
+- '@oxc-minify/binding-linux-arm-musleabihf@0.80.0':
+- resolution: {integrity: sha512-6QAWCjH9in7JvpHRxX8M1IEkf+Eot82Q02xmikcACyJag26196XdVq2T9ITcwFtliozYxYP6yPQ5OzLoeeqdmg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm]
+- os: [linux]
+-
+- '@oxc-minify/binding-linux-arm64-gnu@0.80.0':
+- resolution: {integrity: sha512-1PxO983GNFSyvY6lpYpH3uA/5NHuei7CHExe+NSB+ZgQ1T/iBMjXxRml1Woedvi8odSSpZlivZxBiEojIcnfqw==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [linux]
++ '@pagefind/default-ui@1.3.0':
++ resolution: {integrity: sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg==}
+
+- '@oxc-minify/binding-linux-arm64-musl@0.80.0':
+- resolution: {integrity: sha512-D2j5L9Z4OO42We0Lo2GkXT/AaNikzZJ8KZ9V2VVwu7kofI4RsO8kSu8ydWlqRlRdiAprmUpRZU/pNW0ZA7A68w==}
+- engines: {node: '>=14.0.0'}
++ '@pagefind/linux-arm64@1.3.0':
++ resolution: {integrity: sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==}
+ cpu: [arm64]
+ os: [linux]
+
+- '@oxc-minify/binding-linux-riscv64-gnu@0.80.0':
+- resolution: {integrity: sha512-2AztlLcio5OGil70wjRLbxbjlfS1yCTzO+CYan49vfUOCXpwSWwwLD2WDzFokhEXAzf8epbbu7pruYk8qorRRg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [riscv64]
+- os: [linux]
+-
+- '@oxc-minify/binding-linux-s390x-gnu@0.80.0':
+- resolution: {integrity: sha512-5GMKARe4gYHhA7utM8qOgv3WM7KAXGZGG3Jhvk4UQSRBp0v6PKFmHmz8Q93+Ep8w1m4NqRL30Zk9CZHMH/qi5g==}
+- engines: {node: '>=14.0.0'}
+- cpu: [s390x]
+- os: [linux]
+-
+- '@oxc-minify/binding-linux-x64-gnu@0.80.0':
+- resolution: {integrity: sha512-iw45N+OVnPioRQXLHfrsqEcTpydcGSHLphilS3aSpc4uVKnOqCybskKnbEnxsIJqHWbzDZeJgzuRuQa7EhNcqg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [x64]
+- os: [linux]
+-
+- '@oxc-minify/binding-linux-x64-musl@0.80.0':
+- resolution: {integrity: sha512-4+dhYznVM+L9Jh855JBbqVyDjwi3p8rpL7RfgN+Ee1oQMaZl2ZPy2shS1Kj56Xr5haTTVGdRKcIqTU8SuF37UQ==}
+- engines: {node: '>=14.0.0'}
++ '@pagefind/linux-x64@1.3.0':
++ resolution: {integrity: sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==}
+ cpu: [x64]
+ os: [linux]
+
+- '@oxc-minify/binding-wasm32-wasi@0.80.0':
+- resolution: {integrity: sha512-flADFeNwC1/XsBBsESAigsJZyONEBloQO86Z38ZNzLSuMmpGRdwB9gUwlPCQgDRND/aB+tvR29hKTSuQoS3yrg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [wasm32]
+-
+- '@oxc-minify/binding-win32-arm64-msvc@0.80.0':
+- resolution: {integrity: sha512-wFjaEHzczIG9GqnL4c4C3PoThzf1640weQ1eEjh96TnHVdZmiNT5lpGoziJhO/c+g9+6sNrTdz9sqsiVgKwdOg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [win32]
+-
+- '@oxc-minify/binding-win32-x64-msvc@0.80.0':
+- resolution: {integrity: sha512-PjMi5B3MvOmfZk5LTie6g3RHhhujFwgR4VbCrWUNNwSzdxzy3dULPT4PWGVbpTas/QLJzXs/CXlQfnaMeJZHKQ==}
+- engines: {node: '>=14.0.0'}
++ '@pagefind/windows-x64@1.3.0':
++ resolution: {integrity: sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==}
+ cpu: [x64]
+ os: [win32]
+
+- '@oxc-parser/binding-android-arm64@0.80.0':
+- resolution: {integrity: sha512-H0S4QTRFhct1uO1ZOnzGQAoHSJVHCyZa+oivovHkbqA0z271ppRkXmJuLfjW+9CBW0577JNAhjTflKUDpCO4lg==}
+- engines: {node: '>=20.0.0'}
++ '@parcel/watcher-android-arm64@2.4.1':
++ resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
++ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [android]
+
+- '@oxc-parser/binding-darwin-arm64@0.80.0':
+- resolution: {integrity: sha512-cVGI6NeGs1u1Ev8yO7I+zXPQuduCwwhYXd/K64uygx+OFp7fC7zSIlkGpoxFRUuSxqyipC813foAfUOwM1Y0PA==}
+- engines: {node: '>=20.0.0'}
++ '@parcel/watcher-darwin-arm64@2.4.1':
++ resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
++ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+- '@oxc-parser/binding-darwin-x64@0.80.0':
+- resolution: {integrity: sha512-h7wRo10ywI2vLz9VljFeIaUh9u7l2l3kvF6FAteY3cPqbCA6JYUZGJaykhMqTxJoG6wrzf35sMA2ubvq67iAMA==}
+- engines: {node: '>=20.0.0'}
++ '@parcel/watcher-darwin-x64@2.4.1':
++ resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
++ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+- '@oxc-parser/binding-freebsd-x64@0.80.0':
+- resolution: {integrity: sha512-KcJ+8w/wVwd/XfDmgA9QZJAWML3vPu2O2Y8XRkf3U9VsN5n8cZ5PXMbH4NBSb3O7ctdDSvwnnuApLOz3sTHsUw==}
+- engines: {node: '>=20.0.0'}
++ '@parcel/watcher-freebsd-x64@2.4.1':
++ resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
++ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+- '@oxc-parser/binding-linux-arm-gnueabihf@0.80.0':
+- resolution: {integrity: sha512-5OCRxV5fX5RkVqsag55m4EFeudSZ0nSMYXgdtfR/5JZSiYmIYyPycafNNa52liqC2gx27vzrDRE4FdlG+5fhww==}
+- engines: {node: '>=20.0.0'}
++ '@parcel/watcher-linux-arm-glibc@2.4.1':
++ resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
++ engines: {node: '>= 10.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+- '@oxc-parser/binding-linux-arm-musleabihf@0.80.0':
+- resolution: {integrity: sha512-kMa2PeA2GHMhvV617WdFzDAWCo2A00knPEe6rxFUO/Gr8TTLv1/LlEY6UqGseWrRfkkhFiAO496nRPW/6B5DCg==}
+- engines: {node: '>=20.0.0'}
+- cpu: [arm]
++ '@parcel/watcher-linux-arm64-glibc@2.4.1':
++ resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
++ engines: {node: '>= 10.0.0'}
++ cpu: [arm64]
+ os: [linux]
+
+- '@oxc-parser/binding-linux-arm64-gnu@0.80.0':
+- resolution: {integrity: sha512-y2NEhbFfKPdOkf3ZR/3xwJFJVji6IKxwXKHUN4bEdqpcO0tkXSCiP0MzTxjEY6ql2/MXdkqK0Ym92dYsRsgsyg==}
+- engines: {node: '>=20.0.0'}
++ '@parcel/watcher-linux-arm64-musl@2.4.1':
++ resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
++ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+- '@oxc-parser/binding-linux-arm64-musl@0.80.0':
+- resolution: {integrity: sha512-j3tKausSXwHS/Ej6ct2dmKJtw0UIME2XJmj6QfPT6LyUSNTndj4yXRXuMSrCOrX9/0qH9GhmqeL9ouU27dQRFw==}
+- engines: {node: '>=20.0.0'}
+- cpu: [arm64]
++ '@parcel/watcher-linux-x64-glibc@2.4.1':
++ resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
++ engines: {node: '>= 10.0.0'}
++ cpu: [x64]
+ os: [linux]
+
+- '@oxc-parser/binding-linux-riscv64-gnu@0.80.0':
+- resolution: {integrity: sha512-h+uPvyTcpTFd946fGPU57sZeec2qHPUYQRZeXHB2uuZjps+9pxQ5zIz0EBM/JgBtnwdtoR93RAu1YNAVbqY5Zw==}
+- engines: {node: '>=20.0.0'}
+- cpu: [riscv64]
+- os: [linux]
+-
+- '@oxc-parser/binding-linux-s390x-gnu@0.80.0':
+- resolution: {integrity: sha512-+u74hV+WwCPL4UBNOJaIGRozTCfZ7pM5JCEe8zAlMkKexftUzbtvW02314bVD9bqoRAL3Gg6jcZrjNjwDX2FwQ==}
+- engines: {node: '>=20.0.0'}
+- cpu: [s390x]
+- os: [linux]
+-
+- '@oxc-parser/binding-linux-x64-gnu@0.80.0':
+- resolution: {integrity: sha512-N9UGnWVWMlOJH+6550tqyBxd9qkMd0f4m+YRA0gly6efJTuLbPQpjkJm7pJbMu+GULcvSJ/Y0bkMAIQTtwP0vQ==}
+- engines: {node: '>=20.0.0'}
+- cpu: [x64]
+- os: [linux]
+-
+- '@oxc-parser/binding-linux-x64-musl@0.80.0':
+- resolution: {integrity: sha512-l2N/GlFEri27QBMi0e53V/SlpQotIvHbz+rZZG/EO+vn58ZEr0eTG+PjJoOY/T8+TQb8nrCtRe4S/zNDpV6zSQ==}
+- engines: {node: '>=20.0.0'}
+- cpu: [x64]
+- os: [linux]
+-
+- '@oxc-parser/binding-wasm32-wasi@0.80.0':
+- resolution: {integrity: sha512-5iEwQqMXU1HiRlWuD3f+8N2O3qWhS+nOFEAWgE3sjMUnTtILPJETYhaGBPqqPWg1iRO3+hE1lEBCdI91GS1CUQ==}
+- engines: {node: '>=14.0.0'}
+- cpu: [wasm32]
+-
+- '@oxc-parser/binding-win32-arm64-msvc@0.80.0':
+- resolution: {integrity: sha512-HedSH/Db7OFR2SugTbuawaV1vjgUjCXzxPquow/1FLtpRT2wASbMaRRbyD/h2n4DJ8V2zGqnV8Q+vic+VNvnKg==}
+- engines: {node: '>=20.0.0'}
+- cpu: [arm64]
+- os: [win32]
+-
+- '@oxc-parser/binding-win32-x64-msvc@0.80.0':
+- resolution: {integrity: sha512-SSiM0m7jG5yxVf0ivy1rF8OuTJo8ITgp1ccp2aqPZG6Qyl5QiVpf8HI1X5AvPFxts2B4Bv8U3Dip+FobqBkwcw==}
+- engines: {node: '>=20.0.0'}
+- cpu: [x64]
+- os: [win32]
+-
+- '@oxc-project/types@0.80.0':
+- resolution: {integrity: sha512-xxHQm8wfCv2e8EmtaDwpMeAHOWqgQDAYg+BJouLXSQt5oTKu9TIXrgNMGSrM2fLvKmECsRd9uUFAAD+hPyootA==}
+-
+- '@oxc-transform/binding-android-arm64@0.80.0':
+- resolution: {integrity: sha512-HAK6zIUOteptOsSRqoGu41cez7kj/OPJqBGdgdP6FFh2RFcRfh0vqefjgF69af7TjzsRxVF8itiWvFsJHrIFoA==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [android]
+-
+- '@oxc-transform/binding-darwin-arm64@0.80.0':
+- resolution: {integrity: sha512-sVcK4tjXbCfexlhquKVcwoKQrekQWDzRXtDwOWxm3CV1k5qGUm/rl5RAQLnXYtZVgu0U2dGEct9tNms+dzbACA==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [darwin]
+-
+- '@oxc-transform/binding-darwin-x64@0.80.0':
+- resolution: {integrity: sha512-MWmDTJszdO3X2LvbvIZocdfJnb/wjr3zhU99IlruwxsFfVNHbl03091bXi1ABsV5dyU+47V/A5jG3xOtg5X0vQ==}
+- engines: {node: '>=14.0.0'}
+- cpu: [x64]
+- os: [darwin]
+-
+- '@oxc-transform/binding-freebsd-x64@0.80.0':
+- resolution: {integrity: sha512-fKuwj/iBfjfGePjcR9+j2TQ/7RlrUIT4ir/OAcHWYJ/kvxp4XY/juKYXo4lks/MW/dwe+UR1Lp6xiCQBuxpyIg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [x64]
+- os: [freebsd]
+-
+- '@oxc-transform/binding-linux-arm-gnueabihf@0.80.0':
+- resolution: {integrity: sha512-R0QdfKiV+ZFiM28UnyylOEtTBFjAb4XuHvQltUSUpylXXIbGd+0Z1WF5lY3Z776Vy00HWhYj/Vo03rhvjdVDTA==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm]
+- os: [linux]
+-
+- '@oxc-transform/binding-linux-arm-musleabihf@0.80.0':
+- resolution: {integrity: sha512-hIfp4LwyQMRhsY9ptx4UleffoY9wZofTmnHFhZTMdb/hoE97Vuqw7Ub2cLcWMu0FYHIX8zXCMd1CJjs2MV1X3w==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm]
+- os: [linux]
+-
+- '@oxc-transform/binding-linux-arm64-gnu@0.80.0':
+- resolution: {integrity: sha512-mOYGji1m55BD2vV5m1qnrXbdqyPp/AU9p1Rn+0hM2zkE3pVkETCPvLevSvt4rHQZBZFIWeRGo47QNsNQyaZBsg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [linux]
+-
+- '@oxc-transform/binding-linux-arm64-musl@0.80.0':
+- resolution: {integrity: sha512-kBBCQwr1GCkr/b0iXH+ijsg+CSPCAMSV2tu4LmG2PFaxBnZilMYfUyWHCAiskbbUADikecUfwX6hHIaQoMaixg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [linux]
+-
+- '@oxc-transform/binding-linux-riscv64-gnu@0.80.0':
+- resolution: {integrity: sha512-8CGJhHoD2Ttw8HtCNd/IWnGtL0Nsn448L2hZJtbDDGVUZUF4bbZFdXPnRt0QrEbupywoH6InN6q2imLous6xnw==}
+- engines: {node: '>=14.0.0'}
+- cpu: [riscv64]
+- os: [linux]
+-
+- '@oxc-transform/binding-linux-s390x-gnu@0.80.0':
+- resolution: {integrity: sha512-V/Lb6m5loWzvdB/qo6eYvVXidQku/PA706JbeE/PPCup8At+BwOXnZjktv7LDxrpuqnO32tZDHUUc9Y3bzOEBw==}
+- engines: {node: '>=14.0.0'}
+- cpu: [s390x]
+- os: [linux]
+-
+- '@oxc-transform/binding-linux-x64-gnu@0.80.0':
+- resolution: {integrity: sha512-03hHW04MQNb+ak27xo79nUkMjVu6146TNgeSapcDRATH4R0YMmXB2oPQK1K2nuBJzVZjBjH7Bus/I7tR3JasAg==}
+- engines: {node: '>=14.0.0'}
+- cpu: [x64]
+- os: [linux]
+-
+- '@oxc-transform/binding-linux-x64-musl@0.80.0':
+- resolution: {integrity: sha512-BkXniuuHpo9cR2S3JDKIvmUrNvmm335owGW4rfp07HjVUsbq9e7bSnvOnyA3gXGdrPR2IgCWGi5nnXk2NN5Q0A==}
+- engines: {node: '>=14.0.0'}
+- cpu: [x64]
+- os: [linux]
+-
+- '@oxc-transform/binding-wasm32-wasi@0.80.0':
+- resolution: {integrity: sha512-jfRRXLtfSgTeJXBHj6qb+HHUd6hmYcyUNMBcTY8/k+JVsx0ThfrmCIufNlSJTt1zB+ugnMVMuQGeB0oF+aa86w==}
+- engines: {node: '>=14.0.0'}
+- cpu: [wasm32]
+-
+- '@oxc-transform/binding-win32-arm64-msvc@0.80.0':
+- resolution: {integrity: sha512-bofcVhlAV1AKzbE0TgDH+h813pbwWwwRhN6tv/hD4qEuWh/qEjv8Xb3Ar15xfBfyLI53FoJascuaJAFzX+IN9A==}
+- engines: {node: '>=14.0.0'}
+- cpu: [arm64]
+- os: [win32]
+-
+- '@oxc-transform/binding-win32-x64-msvc@0.80.0':
+- resolution: {integrity: sha512-MT6hQo9Kw/VuQUfX0fc0OpUdZesQruT0UNY9hxIcqcli7pbxMrvFBjkXo7oUb2151s/n+F4fyQOWvaR6zwxtDA==}
+- engines: {node: '>=14.0.0'}
+- cpu: [x64]
+- os: [win32]
+-
+- '@pagefind/darwin-arm64@1.3.0':
+- resolution: {integrity: sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==}
+- cpu: [arm64]
+- os: [darwin]
+-
+- '@pagefind/darwin-x64@1.3.0':
+- resolution: {integrity: sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==}
+- cpu: [x64]
+- os: [darwin]
+-
+- '@pagefind/default-ui@1.3.0':
+- resolution: {integrity: sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg==}
+-
+- '@pagefind/linux-arm64@1.3.0':
+- resolution: {integrity: sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==}
+- cpu: [arm64]
+- os: [linux]
+-
+- '@pagefind/linux-x64@1.3.0':
+- resolution: {integrity: sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==}
+- cpu: [x64]
+- os: [linux]
+-
+- '@pagefind/windows-x64@1.3.0':
+- resolution: {integrity: sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==}
+- cpu: [x64]
+- os: [win32]
+-
+- '@parcel/watcher-android-arm64@2.5.1':
+- resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [arm64]
+- os: [android]
+-
+- '@parcel/watcher-darwin-arm64@2.5.1':
+- resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [arm64]
+- os: [darwin]
+-
+- '@parcel/watcher-darwin-x64@2.5.1':
+- resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [x64]
+- os: [darwin]
+-
+- '@parcel/watcher-freebsd-x64@2.5.1':
+- resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [x64]
+- os: [freebsd]
+-
+- '@parcel/watcher-linux-arm-glibc@2.5.1':
+- resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [arm]
+- os: [linux]
+-
+- '@parcel/watcher-linux-arm-musl@2.5.1':
+- resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [arm]
+- os: [linux]
+-
+- '@parcel/watcher-linux-arm64-glibc@2.5.1':
+- resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [arm64]
+- os: [linux]
+-
+- '@parcel/watcher-linux-arm64-musl@2.5.1':
+- resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [arm64]
+- os: [linux]
+-
+- '@parcel/watcher-linux-x64-glibc@2.5.1':
+- resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
+- engines: {node: '>= 10.0.0'}
+- cpu: [x64]
+- os: [linux]
+-
+- '@parcel/watcher-linux-x64-musl@2.5.1':
+- resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
++ '@parcel/watcher-linux-x64-musl@2.4.1':
++ resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+- '@parcel/watcher-wasm@2.5.1':
+- resolution: {integrity: sha512-RJxlQQLkaMMIuWRozy+z2vEqbaQlCuaCgVZIUCzQLYggY22LZbP5Y1+ia+FD724Ids9e+XIyOLXLrLgQSHIthw==}
++ '@parcel/watcher-wasm@2.4.1':
++ resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==}
+ engines: {node: '>= 10.0.0'}
+ bundledDependencies:
+ - napi-wasm
+
+- '@parcel/watcher-win32-arm64@2.5.1':
+- resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
++ '@parcel/watcher-win32-arm64@2.4.1':
++ resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+- '@parcel/watcher-win32-ia32@2.5.1':
+- resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
++ '@parcel/watcher-win32-ia32@2.4.1':
++ resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [ia32]
+ os: [win32]
+
+- '@parcel/watcher-win32-x64@2.5.1':
+- resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
++ '@parcel/watcher-win32-x64@2.4.1':
++ resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
+ engines: {node: '>= 10.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+- '@parcel/watcher@2.5.1':
+- resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
++ '@parcel/watcher@2.4.1':
++ resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
+ engines: {node: '>= 10.0.0'}
+
+- '@pinia/nuxt@0.5.5':
+- resolution: {integrity: sha512-wjxS7YqIesh4OLK+qE3ZjhdOJ5pYZQ+VlEmZNtTwzQn1Kavei/khovx7mzXVXNA/mvSPXVhb9xBzhyS3XMURtw==}
++ '@pinia/nuxt@0.5.1':
++ resolution: {integrity: sha512-6wT6TqY81n+7/x3Yhf0yfaJVKkZU42AGqOR0T3+UvChcaOJhSma7OWPN64v+ptYlznat+fS1VTwNAcbi2lzHnw==}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
++ '@pkgr/core@0.1.1':
++ resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
++ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
++
+ '@pkgr/core@0.2.9':
+ resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+
+- '@polka/url@1.0.0-next.29':
+- resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+-
+- '@poppinss/colors@4.1.5':
+- resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==}
+-
+- '@poppinss/dumper@0.6.4':
+- resolution: {integrity: sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==}
+-
+- '@poppinss/exception@1.2.2':
+- resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==}
++ '@polka/url@1.0.0-next.25':
++ resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==}
+
+ '@prettier/plugin-xml@3.4.2':
+ resolution: {integrity: sha512-/UyNlHfkuLXG6Ed85KB0WBF283xn2yavR+UtRibBRUcvEJId2DSLdGXwJ/cDa1X++SWDPzq3+GSFniHjkNy7yg==}
+ peerDependencies:
+ prettier: ^3.0.0
+
+- '@readme/better-ajv-errors@2.3.2':
+- resolution: {integrity: sha512-T4GGnRAlY3C339NhoUpgJJFsMYko9vIgFAlhgV+/vEGFw66qEY4a4TRJIAZBcX/qT1pq5DvXSme+SQODHOoBrw==}
+- engines: {node: '>=18'}
++ '@readme/better-ajv-errors@1.6.0':
++ resolution: {integrity: sha512-9gO9rld84Jgu13kcbKRU+WHseNhaVt76wYMeRDGsUGYxwJtI3RmEJ9LY9dZCYQGI8eUZLuxb5qDja0nqklpFjQ==}
++ engines: {node: '>=14'}
+ peerDependencies:
+ ajv: 4.11.8 - 8
+
+@@ -2395,21 +2194,21 @@ packages:
+ resolution: {integrity: sha512-Bt3QVovFSua4QmHa65EHUmh2xS0XJ3rgTEUPH998f4OW4VVJke3BuS16f+kM0ZLOGdvIrzrPRqwihuv5BAjtrA==}
+ deprecated: This package is no longer maintained. Please use `@apidevtools/json-schema-ref-parser` instead.
+
+- '@readme/openapi-parser@2.7.0':
+- resolution: {integrity: sha512-P8WSr8WTOxilnT89tcCRKWYsG/II4sAwt1a/DIWub8xTtkrG9cCBBy/IUcvc5X8oGWN82MwcTA3uEkDrXZd/7A==}
+- engines: {node: '>=18'}
++ '@readme/openapi-parser@2.5.0':
++ resolution: {integrity: sha512-IbymbOqRuUzoIgxfAAR7XJt2FWl6n2yqN09fF5adacGm7W03siA3bj1Emql0X9D2T+RpBYz3x9zDsMhuoMP62A==}
++ engines: {node: '>=14'}
+ peerDependencies:
+ openapi-types: '>=7'
+
+- '@readme/openapi-schemas@3.1.0':
+- resolution: {integrity: sha512-9FC/6ho8uFa8fV50+FPy/ngWN53jaUu4GRXlAjcxIRrzhltJnpKkBG2Tp0IDraFJeWrOpk84RJ9EMEEYzaI1Bw==}
+- engines: {node: '>=18'}
++ '@redocly/ajv@8.11.2':
++ resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==}
+
+- '@rolldown/pluginutils@1.0.0-beta.29':
+- resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==}
++ '@redocly/config@0.17.1':
++ resolution: {integrity: sha512-CEmvaJuG7pm2ylQg53emPmtgm4nW2nxBgwXzbVEHpGas/lGnMyN8Zlkgiz6rPw0unASg6VW3wlz27SOL5XFHYQ==}
+
+- '@rolldown/pluginutils@1.0.0-beta.31':
+- resolution: {integrity: sha512-IaDZ9NhjOIOkYtm+hH0GX33h3iVZ2OeSUnFF0+7Z4+1GuKs4Kj5wK3+I2zNV9IPLfqV4XlwWif8SXrZNutxciQ==}
++ '@redocly/openapi-core@1.25.15':
++ resolution: {integrity: sha512-/dpr5zpGj2t1Bf7EIXEboRZm1hsJZBQfv3Q1pkivtdAEg3if2khv+b9gY68aquC6cM/2aQY2kMLy8LlY2tn+Og==}
++ engines: {node: '>=14.19.0', npm: '>=7.0.0'}
+
+ '@rollup/plugin-alias@5.1.1':
+ resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==}
+@@ -2420,8 +2219,8 @@ packages:
+ rollup:
+ optional: true
+
+- '@rollup/plugin-commonjs@28.0.6':
+- resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==}
++ '@rollup/plugin-commonjs@28.0.1':
++ resolution: {integrity: sha512-+tNWdlWKbpB3WgBN7ijjYkq9X5uhjmcvyjEght4NmH5fAU++zfQzAJ6wumLS+dNcvwEZhKx2Z+skY8m7v0wGSA==}
+ engines: {node: '>=16.0.0 || 14 >= 14.17'}
+ peerDependencies:
+ rollup: ^2.68.0||^3.0.0||^4.0.0
+@@ -2447,8 +2246,8 @@ packages:
+ rollup:
+ optional: true
+
+- '@rollup/plugin-node-resolve@16.0.1':
+- resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==}
++ '@rollup/plugin-node-resolve@15.3.0':
++ resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^2.78.0||^3.0.0||^4.0.0
+@@ -2456,8 +2255,8 @@ packages:
+ rollup:
+ optional: true
+
+- '@rollup/plugin-replace@6.0.2':
+- resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==}
++ '@rollup/plugin-replace@6.0.1':
++ resolution: {integrity: sha512-2sPh9b73dj5IxuMmDAsQWVFT7mR+yoHweBaXG2W/R8vQ+IWZlnaI7BR7J6EguVQUp1hd8Z7XuozpDjEKQAAC2Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+@@ -2474,8 +2273,17 @@ packages:
+ rollup:
+ optional: true
+
+- '@rollup/pluginutils@5.2.0':
+- resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==}
++ '@rollup/pluginutils@5.1.3':
++ resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==}
++ engines: {node: '>=14.0.0'}
++ peerDependencies:
++ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
++ peerDependenciesMeta:
++ rollup:
++ optional: true
++
++ '@rollup/pluginutils@5.1.4':
++ resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+@@ -2483,142 +2291,236 @@ packages:
+ rollup:
+ optional: true
+
+- '@rollup/rollup-android-arm-eabi@4.46.2':
+- resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==}
++ '@rollup/rollup-android-arm-eabi@4.28.1':
++ resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==}
++ cpu: [arm]
++ os: [android]
++
++ '@rollup/rollup-android-arm-eabi@4.34.9':
++ resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==}
+ cpu: [arm]
+ os: [android]
+
+- '@rollup/rollup-android-arm64@4.46.2':
+- resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==}
++ '@rollup/rollup-android-arm64@4.28.1':
++ resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==}
++ cpu: [arm64]
++ os: [android]
++
++ '@rollup/rollup-android-arm64@4.34.9':
++ resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==}
+ cpu: [arm64]
+ os: [android]
+
+- '@rollup/rollup-darwin-arm64@4.46.2':
+- resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==}
++ '@rollup/rollup-darwin-arm64@4.28.1':
++ resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+- '@rollup/rollup-darwin-x64@4.46.2':
+- resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==}
++ '@rollup/rollup-darwin-arm64@4.34.9':
++ resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==}
++ cpu: [arm64]
++ os: [darwin]
++
++ '@rollup/rollup-darwin-x64@4.28.1':
++ resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==}
++ cpu: [x64]
++ os: [darwin]
++
++ '@rollup/rollup-darwin-x64@4.34.9':
++ resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==}
+ cpu: [x64]
+ os: [darwin]
+
+- '@rollup/rollup-freebsd-arm64@4.46.2':
+- resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==}
++ '@rollup/rollup-freebsd-arm64@4.28.1':
++ resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==}
++ cpu: [arm64]
++ os: [freebsd]
++
++ '@rollup/rollup-freebsd-arm64@4.34.9':
++ resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==}
+ cpu: [arm64]
+ os: [freebsd]
+
+- '@rollup/rollup-freebsd-x64@4.46.2':
+- resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==}
++ '@rollup/rollup-freebsd-x64@4.28.1':
++ resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==}
++ cpu: [x64]
++ os: [freebsd]
++
++ '@rollup/rollup-freebsd-x64@4.34.9':
++ resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==}
+ cpu: [x64]
+ os: [freebsd]
+
+- '@rollup/rollup-linux-arm-gnueabihf@4.46.2':
+- resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==}
++ '@rollup/rollup-linux-arm-gnueabihf@4.28.1':
++ resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==}
++ cpu: [arm]
++ os: [linux]
++
++ '@rollup/rollup-linux-arm-gnueabihf@4.34.9':
++ resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==}
++ cpu: [arm]
++ os: [linux]
++
++ '@rollup/rollup-linux-arm-musleabihf@4.28.1':
++ resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==}
+ cpu: [arm]
+ os: [linux]
+
+- '@rollup/rollup-linux-arm-musleabihf@4.46.2':
+- resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==}
++ '@rollup/rollup-linux-arm-musleabihf@4.34.9':
++ resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==}
+ cpu: [arm]
+ os: [linux]
+
+- '@rollup/rollup-linux-arm64-gnu@4.46.2':
+- resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==}
++ '@rollup/rollup-linux-arm64-gnu@4.28.1':
++ resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==}
++ cpu: [arm64]
++ os: [linux]
++
++ '@rollup/rollup-linux-arm64-gnu@4.34.9':
++ resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==}
++ cpu: [arm64]
++ os: [linux]
++
++ '@rollup/rollup-linux-arm64-musl@4.28.1':
++ resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==}
+ cpu: [arm64]
+ os: [linux]
+
+- '@rollup/rollup-linux-arm64-musl@4.46.2':
+- resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==}
++ '@rollup/rollup-linux-arm64-musl@4.34.9':
++ resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==}
+ cpu: [arm64]
+ os: [linux]
+
+- '@rollup/rollup-linux-loongarch64-gnu@4.46.2':
+- resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==}
++ '@rollup/rollup-linux-loongarch64-gnu@4.28.1':
++ resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==}
+ cpu: [loong64]
+ os: [linux]
+
+- '@rollup/rollup-linux-ppc64-gnu@4.46.2':
+- resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==}
++ '@rollup/rollup-linux-loongarch64-gnu@4.34.9':
++ resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==}
++ cpu: [loong64]
++ os: [linux]
++
++ '@rollup/rollup-linux-powerpc64le-gnu@4.28.1':
++ resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==}
++ cpu: [ppc64]
++ os: [linux]
++
++ '@rollup/rollup-linux-powerpc64le-gnu@4.34.9':
++ resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==}
+ cpu: [ppc64]
+ os: [linux]
+
+- '@rollup/rollup-linux-riscv64-gnu@4.46.2':
+- resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==}
++ '@rollup/rollup-linux-riscv64-gnu@4.28.1':
++ resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==}
+ cpu: [riscv64]
+ os: [linux]
+
+- '@rollup/rollup-linux-riscv64-musl@4.46.2':
+- resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==}
++ '@rollup/rollup-linux-riscv64-gnu@4.34.9':
++ resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==}
+ cpu: [riscv64]
+ os: [linux]
+
+- '@rollup/rollup-linux-s390x-gnu@4.46.2':
+- resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==}
++ '@rollup/rollup-linux-s390x-gnu@4.28.1':
++ resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==}
++ cpu: [s390x]
++ os: [linux]
++
++ '@rollup/rollup-linux-s390x-gnu@4.34.9':
++ resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==}
+ cpu: [s390x]
+ os: [linux]
+
+- '@rollup/rollup-linux-x64-gnu@4.46.2':
+- resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==}
++ '@rollup/rollup-linux-x64-gnu@4.28.1':
++ resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==}
++ cpu: [x64]
++ os: [linux]
++
++ '@rollup/rollup-linux-x64-gnu@4.34.9':
++ resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==}
+ cpu: [x64]
+ os: [linux]
+
+- '@rollup/rollup-linux-x64-musl@4.46.2':
+- resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==}
++ '@rollup/rollup-linux-x64-musl@4.28.1':
++ resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==}
+ cpu: [x64]
+ os: [linux]
+
+- '@rollup/rollup-win32-arm64-msvc@4.46.2':
+- resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==}
++ '@rollup/rollup-linux-x64-musl@4.34.9':
++ resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==}
++ cpu: [x64]
++ os: [linux]
++
++ '@rollup/rollup-win32-arm64-msvc@4.28.1':
++ resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==}
++ cpu: [arm64]
++ os: [win32]
++
++ '@rollup/rollup-win32-arm64-msvc@4.34.9':
++ resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==}
+ cpu: [arm64]
+ os: [win32]
+
+- '@rollup/rollup-win32-ia32-msvc@4.46.2':
+- resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==}
++ '@rollup/rollup-win32-ia32-msvc@4.28.1':
++ resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==}
++ cpu: [ia32]
++ os: [win32]
++
++ '@rollup/rollup-win32-ia32-msvc@4.34.9':
++ resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==}
+ cpu: [ia32]
+ os: [win32]
+
+- '@rollup/rollup-win32-x64-msvc@4.46.2':
+- resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==}
++ '@rollup/rollup-win32-x64-msvc@4.28.1':
++ resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==}
++ cpu: [x64]
++ os: [win32]
++
++ '@rollup/rollup-win32-x64-msvc@4.34.9':
++ resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==}
+ cpu: [x64]
+ os: [win32]
+
+ '@selderee/plugin-htmlparser2@0.11.0':
+ resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
+
+- '@sentry-internal/browser-utils@8.55.0':
+- resolution: {integrity: sha512-ROgqtQfpH/82AQIpESPqPQe0UyWywKJsmVIqi3c5Fh+zkds5LUxnssTj3yNd1x+kxaPDVB023jAP+3ibNgeNDw==}
++ '@sentry-internal/browser-utils@8.27.0':
++ resolution: {integrity: sha512-YTIwQ1GM1NTRXgN4DvpFSQ2x4pjlqQ0FQAyHW5x2ZYv4z7VmqG4Xkid1P/srQUipECk6nxkebfD4WR19nLsvnQ==}
+ engines: {node: '>=14.18'}
+
+- '@sentry-internal/feedback@8.55.0':
+- resolution: {integrity: sha512-cP3BD/Q6pquVQ+YL+rwCnorKuTXiS9KXW8HNKu4nmmBAyf7urjs+F6Hr1k9MXP5yQ8W3yK7jRWd09Yu6DHWOiw==}
++ '@sentry-internal/feedback@8.27.0':
++ resolution: {integrity: sha512-b71PQc9aK1X9b/SO1DiJlrnAEx4n0MzPZQ/tKd9oRWDyGit6pJWZfQns9r2rvc96kJPMOTxFAa/upXRCkA723A==}
+ engines: {node: '>=14.18'}
+
+- '@sentry-internal/replay-canvas@8.55.0':
+- resolution: {integrity: sha512-nIkfgRWk1091zHdu4NbocQsxZF1rv1f7bbp3tTIlZYbrH62XVZosx5iHAuZG0Zc48AETLE7K4AX9VGjvQj8i9w==}
++ '@sentry-internal/replay-canvas@8.27.0':
++ resolution: {integrity: sha512-uuEfiWbjwugB9M4KxXxovHYiKRqg/R6U4EF8xM/Ub4laUuEcWsfRp7lQ3MxL3qYojbca8ncIFic2bIoKMPeejA==}
+ engines: {node: '>=14.18'}
+
+- '@sentry-internal/replay@8.55.0':
+- resolution: {integrity: sha512-roCDEGkORwolxBn8xAKedybY+Jlefq3xYmgN2fr3BTnsXjSYOPC7D1/mYqINBat99nDtvgFvNfRcZPiwwZ1hSw==}
++ '@sentry-internal/replay@8.27.0':
++ resolution: {integrity: sha512-Ofucncaon98dvlxte2L//hwuG9yILSxNrTz/PmO0k+HzB9q+oBic4667QF+azWR2qv4oKSWpc+vEovP3hVqveA==}
+ engines: {node: '>=14.18'}
+
+- '@sentry/browser@8.55.0':
+- resolution: {integrity: sha512-1A31mCEWCjaMxJt6qGUK+aDnLDcK6AwLAZnqpSchNysGni1pSn1RWSmk9TBF8qyTds5FH8B31H480uxMPUJ7Cw==}
++ '@sentry/browser@8.27.0':
++ resolution: {integrity: sha512-eL1eaHwoYUGkp4mpeYesH6WtCrm+0u9jYCW5Lm0MAeTmpx22BZKEmj0OljuUJXGnJwFbvPDlRjyz6QG11m8kZA==}
+ engines: {node: '>=14.18'}
+
+- '@sentry/core@8.55.0':
+- resolution: {integrity: sha512-6g7jpbefjHYs821Z+EBJ8r4Z7LT5h80YSWRJaylGS4nW5W5Z2KXzpdnyFarv37O7QjauzVC2E+PABmpkw5/JGA==}
++ '@sentry/core@8.27.0':
++ resolution: {integrity: sha512-4frlXluHT3Du+Omw91K04jpvbfMtydvg4Bxj2+gt/DT19Swhm/fbEpzdUjgbAd3Jinj/n0qk/jFRXjr9JZKFjg==}
+ engines: {node: '>=14.18'}
+
+- '@sentry/vue@8.55.0':
+- resolution: {integrity: sha512-J6lcpzL39snV/spoGpwyk5Rp1wSFxOV4qV1NhQ9OlLHORVBp/Xpw7cEA0oKqG2w1wVtCV+gC5Jjf9HTmYiHQOQ==}
++ '@sentry/types@8.27.0':
++ resolution: {integrity: sha512-B6lrP46+m2x0lfqWc9F4VcUbN893mVGnPEd7KIMRk95mPzkFJ3sNxggTQF5/ZfNO7lDQYQb22uysB5sj/BqFiw==}
++ engines: {node: '>=14.18'}
++
++ '@sentry/utils@8.27.0':
++ resolution: {integrity: sha512-gyJM3SyLQe0A3mkQVVNdKYvk3ZoikkYgyA/D+5StFNLKdyUgEbJgXOGXrQSSYPF7BSX6Sc5b0KHCglPII0KuKw==}
++ engines: {node: '>=14.18'}
++
++ '@sentry/vue@8.27.0':
++ resolution: {integrity: sha512-kCjrdKCQk9ZgE7HirVaT/hvyBhoryEHickiWQET7fzyEo6Zs7/KoFnNiXzGuZ+XJcZ8R76wlog+awBBmZBuBsQ==}
+ engines: {node: '>=14.18'}
+ peerDependencies:
+- pinia: 2.x || 3.x
+ vue: 2.x || 3.x
+- peerDependenciesMeta:
+- pinia:
+- optional: true
+
+ '@sfirew/minecraft-motd-parser@1.1.6':
+ resolution: {integrity: sha512-DHh7sOD+o2RhzcCBxZGMwvNIq9ciUWNNuJ4ZYVmmSEzgaEI+dYhU1xp94UkEStH+/FFWNVYQm1cdHpsI8NCu5Q==}
+@@ -2626,66 +2528,38 @@ packages:
+ '@shikijs/core@1.29.2':
+ resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==}
+
+- '@shikijs/core@3.9.2':
+- resolution: {integrity: sha512-3q/mzmw09B2B6PgFNeiaN8pkNOixWS726IHmJEpjDAcneDPMQmUg2cweT9cWXY4XcyQS3i6mOOUgQz9RRUP6HA==}
+-
+ '@shikijs/engine-javascript@1.29.2':
+ resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==}
+
+- '@shikijs/engine-javascript@3.9.2':
+- resolution: {integrity: sha512-kUTRVKPsB/28H5Ko6qEsyudBiWEDLst+Sfi+hwr59E0GLHV0h8RfgbQU7fdN5Lt9A8R1ulRiZyTvAizkROjwDA==}
+-
+ '@shikijs/engine-oniguruma@1.29.2':
+ resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==}
+
+- '@shikijs/engine-oniguruma@3.9.2':
+- resolution: {integrity: sha512-Vn/w5oyQ6TUgTVDIC/BrpXwIlfK6V6kGWDVVz2eRkF2v13YoENUvaNwxMsQU/t6oCuZKzqp9vqtEtEzKl9VegA==}
+-
+ '@shikijs/langs@1.29.2':
+ resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==}
+
+- '@shikijs/langs@3.9.2':
+- resolution: {integrity: sha512-X1Q6wRRQXY7HqAuX3I8WjMscjeGjqXCg/Sve7J2GWFORXkSrXud23UECqTBIdCSNKJioFtmUGJQNKtlMMZMn0w==}
+-
+ '@shikijs/themes@1.29.2':
+ resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==}
+
+- '@shikijs/themes@3.9.2':
+- resolution: {integrity: sha512-6z5lBPBMRfLyyEsgf6uJDHPa6NAGVzFJqH4EAZ+03+7sedYir2yJBRu2uPZOKmj43GyhVHWHvyduLDAwJQfDjA==}
+-
+ '@shikijs/types@1.29.2':
+ resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==}
+
+- '@shikijs/types@3.9.2':
+- resolution: {integrity: sha512-/M5L0Uc2ljyn2jKvj4Yiah7ow/W+DJSglVafvWAJ/b8AZDeeRAdMu3c2riDzB7N42VD+jSnWxeP9AKtd4TfYVw==}
+-
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+
+- '@sindresorhus/is@7.0.2':
+- resolution: {integrity: sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==}
+- engines: {node: '>=18'}
+-
+ '@sindresorhus/merge-streams@2.3.0':
+ resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
+ engines: {node: '>=18'}
+
+- '@speed-highlight/core@1.2.7':
+- resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==}
+-
+- '@stripe/stripe-js@7.8.0':
+- resolution: {integrity: sha512-DNXRfYUgkZlrniQORbA/wH8CdFRhiBSE0R56gYU0V5vvpJ9WZwvGrz9tBAZmfq2aTgw6SK7mNpmTizGzLWVezw==}
++ '@stripe/stripe-js@7.3.1':
++ resolution: {integrity: sha512-pTzb864TQWDRQBPLgSPFRoyjSDUqpCkbEgTzpsjiTjGz1Z5SxZNXJek28w1s6Dyry4CyW4/Izj5jHE/J9hCJYQ==}
+ engines: {node: '>=12.16'}
+
+- '@stylistic/eslint-plugin@2.13.0':
+- resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==}
++ '@stylistic/eslint-plugin@2.9.0':
++ resolution: {integrity: sha512-OrDyFAYjBT61122MIY1a3SfEgy3YCMgt2vL4eoPmvTwDBwyQhAXurxNQznlRD/jESNfYWfID8Ej+31LljvF7Xg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+
+- '@swc/helpers@0.5.17':
+- resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
+-
+ '@taijased/vue-render-tracker@1.0.7':
+ resolution: {integrity: sha512-nW3eYHdqRiA1AhhOm2rHxHAQCTww9W3CDHd4DYFniqwy29X1W5HXeNjr/yt+8kysTqJsb5PUv0tN6nghKmPq5w==}
+ peerDependencies:
+@@ -2697,8 +2571,11 @@ packages:
+ '@taplo/lib@0.5.0':
+ resolution: {integrity: sha512-+xIqpQXJco3T+VGaTTwmhxLa51qpkQxCjRwezjFZgr+l21ExlywJFcDfTrNmL6lG6tqb0h8GyJKO3UPGPtSCWg==}
+
+- '@tauri-apps/api@2.7.0':
+- resolution: {integrity: sha512-v7fVE8jqBl8xJFOcBafDzXFc8FnicoH3j8o8DNNs0tHuEBmXUDqrCOAzMRX0UkfpwqZLqvrvK0GNQ45DfnoVDg==}
++ '@tauri-apps/api@2.5.0':
++ resolution: {integrity: sha512-Ldux4ip+HGAcPUmuLT8EIkk6yafl5vK0P0c0byzAKzxJh7vxelVtdPONjfgTm96PbN24yjZNESY8CKo8qniluA==}
++
++ '@tauri-apps/api@2.6.0':
++ resolution: {integrity: sha512-hRNcdercfgpzgFrMXWwNDBN0B7vNzOzRepy6ZAmhxi5mDLVPNrTpo9MGg2tN/F7JRugj4d2aF7E1rtPXAHaetg==}
+
+ '@tauri-apps/cli-darwin-arm64@2.5.0':
+ resolution: {integrity: sha512-VuVAeTFq86dfpoBDNYAdtQVLbP0+2EKCHIIhkaxjeoPARR0sLpFHz2zs0PcFU76e+KAaxtEtAJAXGNUc8E1PzQ==}
+@@ -2771,23 +2648,23 @@ packages:
+ engines: {node: '>= 10'}
+ hasBin: true
+
+- '@tauri-apps/plugin-dialog@2.3.2':
+- resolution: {integrity: sha512-cNLo9YeQSC0MF4IgXnotHsqEgJk72MBZLXmQPrLA95qTaaWiiaFQ38hIMdZ6YbGUNkr3oni3EhU+AD5jLHcdUA==}
++ '@tauri-apps/plugin-dialog@2.2.1':
++ resolution: {integrity: sha512-wZmCouo4PgTosh/UoejPw9DPs6RllS5Pp3fuOV2JobCu36mR5AXU2MzU9NZiVaFi/5Zfc8RN0IhcZHnksJ1o8A==}
+
+- '@tauri-apps/plugin-http@2.5.1':
+- resolution: {integrity: sha512-SpQ1azXEdQI0UB2NZTIPljJTDEe0bIaKzHYR/k4UQp6yzRYGLC/ktmIgEfQ2RvKAWus8GcYgGr5K6LJPbo/NZw==}
++ '@tauri-apps/plugin-http@2.5.0':
++ resolution: {integrity: sha512-l4M2DUIsOBIMrbj4dJZwrB4mJiB7OA/2Tj3gEbX2fjq5MOpETklJPKfDvzUTDwuq4lIKCKKykz8E8tpOgvi0EQ==}
+
+- '@tauri-apps/plugin-opener@2.4.0':
+- resolution: {integrity: sha512-43VyN8JJtvKWJY72WI/KNZszTpDpzHULFxQs0CJBIYUdCRowQ6Q1feWTDb979N7nldqSuDOaBupZ6wz2nvuWwQ==}
++ '@tauri-apps/plugin-opener@2.2.6':
++ resolution: {integrity: sha512-bSdkuP71ZQRepPOn8BOEdBKYJQvl6+jb160QtJX/i2H9BF6ZySY/kYljh76N2Ne5fJMQRge7rlKoStYQY5Jq1w==}
+
+- '@tauri-apps/plugin-os@2.3.0':
+- resolution: {integrity: sha512-dm3bDsMuUngpIQdJ1jaMkMfyQpHyDcaTIKTFaAMHoKeUd+Is3UHO2uzhElr6ZZkfytIIyQtSVnCWdW2Kc58f3g==}
++ '@tauri-apps/plugin-os@2.2.1':
++ resolution: {integrity: sha512-cNYpNri2CCc6BaNeB6G/mOtLvg8dFyFQyCUdf2y0K8PIAKGEWdEcu8DECkydU2B+oj4OJihDPD2de5K6cbVl9A==}
+
+- '@tauri-apps/plugin-updater@2.9.0':
+- resolution: {integrity: sha512-j++sgY8XpeDvzImTrzWA08OqqGqgkNyxczLD7FjNJJx/uXxMZFz5nDcfkyoI/rCjYuj2101Tci/r/HFmOmoxCg==}
++ '@tauri-apps/plugin-updater@2.7.1':
++ resolution: {integrity: sha512-1OPqEY/z7NDVSeTEMIhD2ss/vXWdpfZ5Th2Mk0KtPR/RA6FKuOTDGZQhxoyYBk0pcZJ+nNZUbl/IujDCLBApjA==}
+
+- '@tauri-apps/plugin-window-state@2.4.0':
+- resolution: {integrity: sha512-hRSzPNi2NG0lPFthfVY0V5C1MyWN/gGaQtQYw7i9zZhLzrhZveHZ2omHG1rIiIsjfTGbO7fhjydSoeTTK9GqLw==}
++ '@tauri-apps/plugin-window-state@2.2.2':
++ resolution: {integrity: sha512-7pFwmMtGhhhE/WgmM7PUrj0BSSWVAQMfDdYbRalphIqqF1tWBvxtlxclx8bTutpXHLJTQoCpIeWtBEIXsoAlGw==}
+
+ '@tresjs/cientos@4.3.1':
+ resolution: {integrity: sha512-3qp6lEtMrFdhxDuASP1Sz/hEi8+xcEpM6Vd6uDJysCh4uRAzyJLlBSbPoR7gVjN12wrhwJIF1AfYEFz/Vhz5ZQ==}
+@@ -2816,30 +2693,38 @@ packages:
+ '@tweenjs/tween.js@23.1.3':
+ resolution: {integrity: sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==}
+
+- '@tybys/wasm-util@0.10.0':
+- resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
++ '@types/acorn@4.0.6':
++ resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
++
++ '@types/cookie@0.6.0':
++ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+- '@types/dompurify@3.2.0':
+- resolution: {integrity: sha512-Fgg31wv9QbLDA0SpTOXO3MaxySc4DKGLi8sna4/Utjo4r3ZRPdCt4UQee8BWr+Q5z21yifghREPJGYaEOEIACg==}
+- deprecated: This is a stub types definition. dompurify provides its own type definitions, so you do not need this installed.
++ '@types/dompurify@3.0.5':
++ resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}
+
+ '@types/draco3d@1.4.10':
+ resolution: {integrity: sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==}
+
++ '@types/eslint-scope@3.7.7':
++ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
++
++ '@types/eslint@9.6.1':
++ resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
++
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
++ '@types/estree@1.0.6':
++ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
++
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+- '@types/fontkit@2.0.8':
+- resolution: {integrity: sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==}
+-
+- '@types/fs-extra@11.0.4':
+- resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
++ '@types/fs-extra@9.0.13':
++ resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
+
+ '@types/glob@9.0.0':
+ resolution: {integrity: sha512-00UxlRaIUvYm4R4W9WYkN8/J+kV8fmOQ7okeH6YFtGWFMt3odD45tpG5yA5wnL7HE6lLgjaTW5n14ju2hl2NNA==}
+@@ -2851,24 +2736,23 @@ packages:
+ '@types/html-minifier-terser@7.0.2':
+ resolution: {integrity: sha512-mm2HqV22l8lFQh4r2oSsOEVea+m0qqxEmwpc9kC1p/XzmjLWrReR9D/GRs8Pex2NX/imyEH9c5IU/7tMBQCHOA==}
+
++ '@types/http-proxy@1.17.15':
++ resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==}
++
+ '@types/js-yaml@4.0.9':
+ resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+- '@types/json-stable-stringify@1.2.0':
+- resolution: {integrity: sha512-PEHY3ohqolHqAzDyB1+31tFaAMnoLN7x/JgdcGmNZ2uvtEJ6rlFCUYNQc0Xe754xxCYLNGZbLUGydSE6tS4S9A==}
+- deprecated: This is a stub types definition. json-stable-stringify provides its own type definitions, so you do not need this installed.
+-
+- '@types/jsonfile@6.1.4':
+- resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==}
++ '@types/json-stable-stringify@1.0.36':
++ resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==}
+
+ '@types/linkify-it@5.0.0':
+ resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+
+- '@types/markdown-it@14.1.2':
+- resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
++ '@types/markdown-it@14.1.1':
++ resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+@@ -2879,8 +2763,8 @@ packages:
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
+- '@types/ms@2.1.0':
+- resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
++ '@types/ms@0.7.34':
++ resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+
+ '@types/nlcst@2.0.3':
+ resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
+@@ -2888,8 +2772,11 @@ packages:
+ '@types/node@17.0.45':
+ resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
+
+- '@types/node@20.19.9':
+- resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==}
++ '@types/node@20.14.11':
++ resolution: {integrity: sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==}
++
++ '@types/node@22.4.1':
++ resolution: {integrity: sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg==}
+
+ '@types/normalize-package-data@2.4.4':
+ resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+@@ -2897,10 +2784,6 @@ packages:
+ '@types/offscreencanvas@2019.7.3':
+ resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
+
+- '@types/parse-path@7.1.0':
+- resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==}
+- deprecated: This is a stub types definition. parse-path provides its own type definitions, so you do not need this installed.
+-
+ '@types/resolve@1.20.2':
+ resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+
+@@ -2910,15 +2793,12 @@ packages:
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
+- '@types/stats.js@0.17.4':
+- resolution: {integrity: sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==}
++ '@types/stats.js@0.17.3':
++ resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
+
+ '@types/three@0.172.0':
+ resolution: {integrity: sha512-LrUtP3FEG26Zg5WiF0nbg8VoXiKokBLTcqM2iLvM9vzcfEiYmmBAPGdBgV0OYx9fvWlY3R/3ERTZcD9X5sc0NA==}
+
+- '@types/triple-beam@1.3.5':
+- resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==}
+-
+ '@types/trusted-types@2.0.7':
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+
+@@ -2937,239 +2817,151 @@ packages:
+ '@types/web-bluetooth@0.0.21':
+ resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
+
+- '@types/webxr@0.5.22':
+- resolution: {integrity: sha512-Vr6Stjv5jPRqH690f5I5GLjVk8GSsoQSYJ2FVd/3jJF7KaqfwPi3ehfBS96mlQ2kPCwZaX6U0rG2+NGHBKkA/A==}
++ '@types/webxr@0.5.21':
++ resolution: {integrity: sha512-geZIAtLzjGmgY2JUi6VxXdCrTb99A7yP49lxLr2Nm/uIK0PkkxcEi4OGhoGDO4pxCf3JwGz2GiJL2Ej4K2bKaA==}
+
+ '@types/xml2js@0.4.14':
+ resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==}
+
+- '@types/yauzl@2.10.3':
+- resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
+-
+- '@typescript-eslint/eslint-plugin@8.39.0':
+- resolution: {integrity: sha512-bhEz6OZeUR+O/6yx9Jk6ohX6H9JSFTaiY0v9/PuKT3oGK0rn0jNplLmyFUGV+a9gfYnVNwGDwS/UkLIuXNb2Rw==}
++ '@typescript-eslint/eslint-plugin@8.10.0':
++ resolution: {integrity: sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- '@typescript-eslint/parser': ^8.39.0
++ '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '*'
++ peerDependenciesMeta:
++ typescript:
++ optional: true
+
+- '@typescript-eslint/eslint-plugin@8.39.1':
+- resolution: {integrity: sha512-yYegZ5n3Yr6eOcqgj2nJH8cH/ZZgF+l0YIdKILSDjYFRjgYQMgv/lRjV5Z7Up04b9VYUondt8EPMqg7kTWgJ2g==}
++ '@typescript-eslint/eslint-plugin@8.38.0':
++ resolution: {integrity: sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- '@typescript-eslint/parser': ^8.39.1
++ '@typescript-eslint/parser': ^8.38.0
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
+
+- '@typescript-eslint/parser@8.39.0':
+- resolution: {integrity: sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==}
++ '@typescript-eslint/parser@8.10.0':
++ resolution: {integrity: sha512-E24l90SxuJhytWJ0pTQydFT46Nk0Z+bsLKo/L8rtQSL93rQ6byd1V/QbDpHUTdLPOMsBCcYXZweADNCfOCmOAg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '*'
++ peerDependenciesMeta:
++ typescript:
++ optional: true
+
+- '@typescript-eslint/parser@8.39.1':
+- resolution: {integrity: sha512-pUXGCuHnnKw6PyYq93lLRiZm3vjuslIy7tus1lIQTYVK9bL8XBgJnCWm8a0KcTtHC84Yya1Q6rtll+duSMj0dg==}
++ '@typescript-eslint/parser@8.38.0':
++ resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
+-
+- '@typescript-eslint/project-service@8.39.0':
+- resolution: {integrity: sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==}
+- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+- peerDependencies:
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
+
+- '@typescript-eslint/project-service@8.39.1':
+- resolution: {integrity: sha512-8fZxek3ONTwBu9ptw5nCKqZOSkXshZB7uAxuFF0J/wTMkKydjXCzqqga7MlFMpHi9DoG4BadhmTkITBcg8Aybw==}
++ '@typescript-eslint/project-service@8.38.0':
++ resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
+
+- '@typescript-eslint/scope-manager@8.39.0':
+- resolution: {integrity: sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==}
++ '@typescript-eslint/scope-manager@8.10.0':
++ resolution: {integrity: sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+- '@typescript-eslint/scope-manager@8.39.1':
+- resolution: {integrity: sha512-RkBKGBrjgskFGWuyUGz/EtD8AF/GW49S21J8dvMzpJitOF1slLEbbHnNEtAHtnDAnx8qDEdRrULRnWVx27wGBw==}
++ '@typescript-eslint/scope-manager@8.38.0':
++ resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+- '@typescript-eslint/tsconfig-utils@8.39.0':
+- resolution: {integrity: sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==}
++ '@typescript-eslint/tsconfig-utils@8.38.0':
++ resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
+
+- '@typescript-eslint/tsconfig-utils@8.39.1':
+- resolution: {integrity: sha512-ePUPGVtTMR8XMU2Hee8kD0Pu4NDE1CN9Q1sxGSGd/mbOtGZDM7pnhXNJnzW63zk/q+Z54zVzj44HtwXln5CvHA==}
++ '@typescript-eslint/type-utils@8.10.0':
++ resolution: {integrity: sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- typescript: '>=4.8.4 <6.0.0'
+-
+- '@typescript-eslint/type-utils@8.39.0':
+- resolution: {integrity: sha512-6B3z0c1DXVT2vYA9+z9axjtc09rqKUPRmijD5m9iv8iQpHBRYRMBcgxSiKTZKm6FwWw1/cI4v6em35OsKCiN5Q==}
+- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+- peerDependencies:
+- eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '*'
++ peerDependenciesMeta:
++ typescript:
++ optional: true
+
+- '@typescript-eslint/type-utils@8.39.1':
+- resolution: {integrity: sha512-gu9/ahyatyAdQbKeHnhT4R+y3YLtqqHyvkfDxaBYk97EcbfChSJXyaJnIL3ygUv7OuZatePHmQvuH5ru0lnVeA==}
++ '@typescript-eslint/type-utils@8.38.0':
++ resolution: {integrity: sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
+
+- '@typescript-eslint/types@8.39.0':
+- resolution: {integrity: sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==}
++ '@typescript-eslint/types@8.10.0':
++ resolution: {integrity: sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+- '@typescript-eslint/types@8.39.1':
+- resolution: {integrity: sha512-7sPDKQQp+S11laqTrhHqeAbsCfMkwJMrV7oTDvtDds4mEofJYir414bYKUEb8YPUm9QL3U+8f6L6YExSoAGdQw==}
++ '@typescript-eslint/types@8.38.0':
++ resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+- '@typescript-eslint/typescript-estree@8.39.0':
+- resolution: {integrity: sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==}
++ '@typescript-eslint/typescript-estree@8.10.0':
++ resolution: {integrity: sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '*'
++ peerDependenciesMeta:
++ typescript:
++ optional: true
+
+- '@typescript-eslint/typescript-estree@8.39.1':
+- resolution: {integrity: sha512-EKkpcPuIux48dddVDXyQBlKdeTPMmALqBUbEk38McWv0qVEZwOpVJBi7ugK5qVNgeuYjGNQxrrnoM/5+TI/BPw==}
++ '@typescript-eslint/typescript-estree@8.38.0':
++ resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
+
+- '@typescript-eslint/utils@8.39.0':
+- resolution: {integrity: sha512-4GVSvNA0Vx1Ktwvf4sFE+exxJ3QGUorQG1/A5mRfRNZtkBT2xrA/BCO2H0eALx/PnvCS6/vmYwRdDA41EoffkQ==}
++ '@typescript-eslint/utils@8.10.0':
++ resolution: {integrity: sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
+
+- '@typescript-eslint/utils@8.39.1':
+- resolution: {integrity: sha512-VF5tZ2XnUSTuiqZFXCZfZs1cgkdd3O/sSYmdo2EpSyDlC86UM/8YytTmKnehOW3TGAlivqTDT6bS87B/GQ/jyg==}
++ '@typescript-eslint/utils@8.38.0':
++ resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
+
+- '@typescript-eslint/visitor-keys@8.39.0':
+- resolution: {integrity: sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==}
++ '@typescript-eslint/visitor-keys@8.10.0':
++ resolution: {integrity: sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+- '@typescript-eslint/visitor-keys@8.39.1':
+- resolution: {integrity: sha512-W8FQi6kEh2e8zVhQ0eeRnxdvIoOkAp/CPAahcNio6nO9dsIwb9b34z90KOlheoyuVf6LSOEdjlkxSkapNEc+4A==}
++ '@typescript-eslint/visitor-keys@8.38.0':
++ resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+- '@ungap/structured-clone@1.3.0':
+- resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+-
+- '@unhead/vue@2.0.14':
+- resolution: {integrity: sha512-Ym9f+Kd2Afqek2FtUHvYvK+j2uZ2vbZ6Rr9NCnNGGBMdmafAuiZpT117YGyh0ARcueL6Znia0U8ySqPsnHOZIg==}
+- peerDependencies:
+- vue: '>=3.5.18'
+-
+- '@unrs/resolver-binding-android-arm-eabi@1.11.1':
+- resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
+- cpu: [arm]
+- os: [android]
+-
+- '@unrs/resolver-binding-android-arm64@1.11.1':
+- resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==}
+- cpu: [arm64]
+- os: [android]
+-
+- '@unrs/resolver-binding-darwin-arm64@1.11.1':
+- resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==}
+- cpu: [arm64]
+- os: [darwin]
+-
+- '@unrs/resolver-binding-darwin-x64@1.11.1':
+- resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==}
+- cpu: [x64]
+- os: [darwin]
+-
+- '@unrs/resolver-binding-freebsd-x64@1.11.1':
+- resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==}
+- cpu: [x64]
+- os: [freebsd]
+-
+- '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
+- resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==}
+- cpu: [arm]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
+- resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==}
+- cpu: [arm]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
+- resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
+- cpu: [arm64]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
+- resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
+- cpu: [arm64]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
+- resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
+- cpu: [ppc64]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
+- resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
+- cpu: [riscv64]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
+- resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
+- cpu: [riscv64]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
+- resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
+- cpu: [s390x]
+- os: [linux]
+-
+- '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
+- resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
+- cpu: [x64]
+- os: [linux]
++ '@ungap/structured-clone@1.2.0':
++ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+
+- '@unrs/resolver-binding-linux-x64-musl@1.11.1':
+- resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
+- cpu: [x64]
+- os: [linux]
++ '@unhead/dom@1.11.13':
++ resolution: {integrity: sha512-8Bpo3e50i49/z0TMiskQk3OqUVJpWOO0cnEEydJeFnjsPczDH76H3mWLvB11cv1B/rjLdBiPgui7yetFta5LCw==}
+
+- '@unrs/resolver-binding-wasm32-wasi@1.11.1':
+- resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
+- engines: {node: '>=14.0.0'}
+- cpu: [wasm32]
++ '@unhead/schema@1.11.13':
++ resolution: {integrity: sha512-fIpQx6GCpl99l4qJXsPqkXxO7suMccuLADbhaMSkeXnVEi4ZIle+l+Ri0z+GHAEpJj17FMaQdO5n9FMSOMUxkw==}
+
+- '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
+- resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==}
+- cpu: [arm64]
+- os: [win32]
++ '@unhead/shared@1.11.13':
++ resolution: {integrity: sha512-EiJ3nsEtf6dvZ6OwVYrrrrCUl4ZE/9GTjpexEMti8EJXweSuL7SifNNXtIFk7UMoM0ULYxb7K/AKQV/odwoZyQ==}
+
+- '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
+- resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==}
+- cpu: [ia32]
+- os: [win32]
++ '@unhead/ssr@1.11.13':
++ resolution: {integrity: sha512-LjomDIH8vXbnQQ8UVItmJ52BZBOyK12i1Q4W658X/f0VGtm0z3AulGQIvYla0rFcxAynDygfvWSC7xrlqDtRUw==}
+
+- '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
+- resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==}
+- cpu: [x64]
+- os: [win32]
++ '@unhead/vue@1.11.13':
++ resolution: {integrity: sha512-s5++LqsNM01rkMQwtc4W19cP1fXC81o4YMyL+Kaqh9X0OPLeWnjONAh0U/Z2CIXBqhJHI+DoNXmDACXyuWPPxg==}
++ peerDependencies:
++ vue: '>=2.7 || >=3'
+
+- '@vercel/nft@0.29.4':
+- resolution: {integrity: sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA==}
+- engines: {node: '>=18'}
++ '@vercel/nft@0.27.7':
++ resolution: {integrity: sha512-FG6H5YkP4bdw9Ll1qhmbxuE8KwW2E/g8fJpM183fWQLeVDGqzeywMIeJ9h2txdWZ03psgWMn6QymTxaDLmdwUg==}
++ engines: {node: '>=16'}
+ hasBin: true
+
+ '@vintl/compact-number@2.0.7':
+@@ -3220,58 +3012,51 @@ packages:
+ peerDependencies:
+ vue: ^3.2.47
+
+- '@vitejs/plugin-vue-jsx@5.0.1':
+- resolution: {integrity: sha512-X7qmQMXbdDh+sfHUttXokPD0cjPkMFoae7SgbkF9vi3idGUKmxLcnU2Ug49FHwiKXebfzQRIm5yK3sfCJzNBbg==}
+- engines: {node: ^20.19.0 || >=22.12.0}
++ '@vitejs/plugin-vue-jsx@4.1.1':
++ resolution: {integrity: sha512-uMJqv/7u1zz/9NbWAD3XdjaY20tKTf17XVfQ9zq4wY1BjsB/PjpJPMe2xiG39QpP4ZdhYNhm4Hvo66uJrykNLA==}
++ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+- vite: ^5.0.0 || ^6.0.0 || ^7.0.0
++ vite: ^5.0.0 || ^6.0.0
+ vue: ^3.0.0
+
+- '@vitejs/plugin-vue@5.2.4':
+- resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==}
++ '@vitejs/plugin-vue@5.2.1':
++ resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ peerDependencies:
+ vite: ^5.0.0 || ^6.0.0
+ vue: ^3.2.25
+
+- '@vitejs/plugin-vue@6.0.1':
+- resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==}
+- engines: {node: ^20.19.0 || >=22.12.0}
+- peerDependencies:
+- vite: ^5.0.0 || ^6.0.0 || ^7.0.0
+- vue: ^3.2.25
+-
+- '@volar/kit@2.4.22':
+- resolution: {integrity: sha512-o2LhNb2PLCUJ6v2XSqN7m+pJt+SE0QW1U2E52jnS8yZ03ohcGOOuFJdH1VlZgCBk0RlwO4xp0OaDoTtyTvMTrw==}
++ '@volar/kit@2.4.11':
++ resolution: {integrity: sha512-ups5RKbMzMCr6RKafcCqDRnJhJDNWqo2vfekwOAj6psZ15v5TlcQFQAyokQJ3wZxVkzxrQM+TqTRDENfQEXpmA==}
+ peerDependencies:
+ typescript: '*'
+
+- '@volar/language-core@2.4.15':
+- resolution: {integrity: sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==}
++ '@volar/language-core@2.4.11':
++ resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==}
+
+- '@volar/language-core@2.4.22':
+- resolution: {integrity: sha512-gp4M7Di5KgNyIyO903wTClYBavRt6UyFNpc5LWfyZr1lBsTUY+QrVZfmbNF2aCyfklBOVk9YC4p+zkwoyT7ECg==}
++ '@volar/language-core@2.4.4':
++ resolution: {integrity: sha512-kO9k4kTLfxpg+6lq7/KAIv3m2d62IHuCL6GbVgYZTpfKvIGoAIlDxK7pFcB/eczN2+ydg/vnyaeZ6SGyZrJw2w==}
+
+- '@volar/language-server@2.4.22':
+- resolution: {integrity: sha512-THIGWcQsEJKZU7SjVKPcy4MIamX4qpusKErj33ru7fi2WcD+FmFjYY/F2LIk/C15xEcb34JT1uZBlbO2dfzYSQ==}
++ '@volar/language-server@2.4.11':
++ resolution: {integrity: sha512-W9P8glH1M8LGREJ7yHRCANI5vOvTrRO15EMLdmh5WNF9sZYSEbQxiHKckZhvGIkbeR1WAlTl3ORTrJXUghjk7g==}
+
+- '@volar/language-service@2.4.22':
+- resolution: {integrity: sha512-8TmvOf/6uqaJMBVQIP9kgVpRzMrqLI3nCmWuSIPAldlmwjZTOiN17GA4AL4sTFJUg61xCSyMQWbProNFQ88yew==}
++ '@volar/language-service@2.4.11':
++ resolution: {integrity: sha512-KIb6g8gjUkS2LzAJ9bJCLIjfsJjeRtmXlu7b2pDFGD3fNqdbC53cCAKzgWDs64xtQVKYBU13DLWbtSNFtGuMLQ==}
+
+- '@volar/source-map@2.4.15':
+- resolution: {integrity: sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==}
++ '@volar/source-map@2.4.11':
++ resolution: {integrity: sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==}
+
+- '@volar/source-map@2.4.22':
+- resolution: {integrity: sha512-L2nVr/1vei0xKRgO2tYVXtJYd09HTRjaZi418e85Q+QdbbqA8h7bBjfNyPPSsjnrOO4l4kaAo78c8SQUAdHvgA==}
++ '@volar/source-map@2.4.4':
++ resolution: {integrity: sha512-xG3PZqOP2haG8XG4Pg3PD1UGDAdqZg24Ru8c/qYjYAnmcj6GBR64mstx+bZux5QOyRaJK+/lNM/RnpvBD3489g==}
+
+- '@volar/typescript@2.4.15':
+- resolution: {integrity: sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==}
++ '@volar/typescript@2.4.11':
++ resolution: {integrity: sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==}
+
+- '@volar/typescript@2.4.22':
+- resolution: {integrity: sha512-6ZczlJW1/GWTrNnkmZxJp4qyBt/SGVlcTuCWpI5zLrdPdCZsj66Aff9ZsfFaT3TyjG8zVYgBMYPuCm/eRkpcpQ==}
++ '@volar/typescript@2.4.4':
++ resolution: {integrity: sha512-QQMQRVj0fVHJ3XdRKiS1LclhG0VBXdFYlyuHRQF/xLk2PuJuHNWP26MDZNvEVCvnyUQuUQhIAfylwY5TGPgc6w==}
+
+- '@vscode/emmet-helper@2.11.0':
+- resolution: {integrity: sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==}
++ '@vscode/emmet-helper@2.9.3':
++ resolution: {integrity: sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==}
+
+ '@vscode/l10n@0.0.18':
+ resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==}
+@@ -3386,42 +3171,42 @@ packages:
+ peerDependencies:
+ vue: ^3.4.27
+
+- '@vue-macros/common@3.0.0-beta.16':
+- resolution: {integrity: sha512-8O2gWxWFiaoNkk7PGi0+p7NPGe/f8xJ3/INUufvje/RZOs7sJvlI1jnR4lydtRFa/mU0ylMXUXXjSK0fHDEYTA==}
+- engines: {node: '>=20.18.0'}
++ '@vue-macros/common@1.15.0':
++ resolution: {integrity: sha512-yg5VqW7+HRfJGimdKvFYzx8zorHUYo0hzPwuraoC1DWa7HHazbTMoVsHDvk3JHa1SGfSL87fRnzmlvgjEHhszA==}
++ engines: {node: '>=16.14.0'}
+ peerDependencies:
+ vue: ^2.7.0 || ^3.2.25
+ peerDependenciesMeta:
+ vue:
+ optional: true
+
+- '@vue/babel-helper-vue-transform-on@1.4.0':
+- resolution: {integrity: sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==}
++ '@vue/babel-helper-vue-transform-on@1.2.5':
++ resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==}
+
+- '@vue/babel-plugin-jsx@1.4.0':
+- resolution: {integrity: sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==}
++ '@vue/babel-plugin-jsx@1.2.5':
++ resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+
+- '@vue/babel-plugin-resolve-type@1.4.0':
+- resolution: {integrity: sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==}
++ '@vue/babel-plugin-resolve-type@1.2.5':
++ resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+- '@vue/compiler-core@3.5.18':
+- resolution: {integrity: sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==}
++ '@vue/compiler-core@3.5.13':
++ resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
+
+- '@vue/compiler-dom@3.5.18':
+- resolution: {integrity: sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==}
++ '@vue/compiler-dom@3.5.13':
++ resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
+
+- '@vue/compiler-sfc@3.5.18':
+- resolution: {integrity: sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==}
++ '@vue/compiler-sfc@3.5.13':
++ resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
+
+- '@vue/compiler-ssr@3.5.18':
+- resolution: {integrity: sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==}
++ '@vue/compiler-ssr@3.5.13':
++ resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
+
+ '@vue/compiler-vue2@2.7.16':
+ resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
+@@ -3429,57 +3214,41 @@ packages:
+ '@vue/devtools-api@6.6.4':
+ resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
+
+- '@vue/devtools-core@7.6.8':
+- resolution: {integrity: sha512-8X4roysTwzQ94o7IobjVcOd1aZF5iunikrMrHPI2uUdigZCi2kFTQc7ffYiFiTNaLElCpjOhCnM7bo7aK1yU7A==}
+- peerDependencies:
+- vue: ^3.0.0
+-
+- '@vue/devtools-core@7.7.7':
+- resolution: {integrity: sha512-9z9TLbfC+AjAi1PQyWX+OErjIaJmdFlbDHcD+cAMYKY6Bh5VlsAtCeGyRMrXwIlMEQPukvnWt3gZBLwTAIMKzQ==}
++ '@vue/devtools-core@7.6.4':
++ resolution: {integrity: sha512-blSwGVYpb7b5TALMjjoBiAl5imuBF7WEOAtaJaBMNikR8SQkm6mkUt4YlIKh9874/qoimwmpDOm+GHBZ4Y5m+g==}
+ peerDependencies:
+ vue: ^3.0.0
+
+- '@vue/devtools-kit@7.6.8':
+- resolution: {integrity: sha512-JhJ8M3sPU+v0P2iZBF2DkdmR9L0dnT5RXJabJqX6o8KtFs3tebdvfoXV2Dm3BFuqeECuMJIfF1aCzSt+WQ4wrw==}
+-
+- '@vue/devtools-kit@7.7.7':
+- resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==}
++ '@vue/devtools-kit@7.6.4':
++ resolution: {integrity: sha512-Zs86qIXXM9icU0PiGY09PQCle4TI750IPLmAJzW5Kf9n9t5HzSYf6Rz6fyzSwmfMPiR51SUKJh9sXVZu78h2QA==}
+
+- '@vue/devtools-shared@7.7.7':
+- resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==}
+-
+- '@vue/language-core@2.2.12':
+- resolution: {integrity: sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==}
+- peerDependencies:
+- typescript: '*'
+- peerDependenciesMeta:
+- typescript:
+- optional: true
++ '@vue/devtools-shared@7.6.7':
++ resolution: {integrity: sha512-QggO6SviAsolrePAXZ/sA1dSicSPt4TueZibCvydfhNDieL1lAuyMTgQDGst7TEvMGb4vgYv2I+1sDkO4jWNnw==}
+
+- '@vue/language-core@3.0.5':
+- resolution: {integrity: sha512-gCEjn9Ik7I/seHVNIEipOm8W+f3/kg60e8s1IgIkMYma2wu9ZGUTMv3mSL2bX+Md2L8fslceJ4SU8j1fgSRoiw==}
++ '@vue/language-core@2.1.6':
++ resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+- '@vue/reactivity@3.5.18':
+- resolution: {integrity: sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==}
++ '@vue/reactivity@3.5.13':
++ resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
+
+- '@vue/runtime-core@3.5.18':
+- resolution: {integrity: sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==}
++ '@vue/runtime-core@3.5.13':
++ resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
+
+- '@vue/runtime-dom@3.5.18':
+- resolution: {integrity: sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==}
++ '@vue/runtime-dom@3.5.13':
++ resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
+
+- '@vue/server-renderer@3.5.18':
+- resolution: {integrity: sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==}
++ '@vue/server-renderer@3.5.13':
++ resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
+ peerDependencies:
+- vue: 3.5.18
++ vue: 3.5.13
+
+- '@vue/shared@3.5.18':
+- resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==}
++ '@vue/shared@3.5.13':
++ resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
+
+ '@vue/tsconfig@0.7.0':
+ resolution: {integrity: sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==}
+@@ -3492,8 +3261,8 @@ packages:
+ vue:
+ optional: true
+
+- '@vueuse/core@11.3.0':
+- resolution: {integrity: sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==}
++ '@vueuse/core@11.1.0':
++ resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==}
+
+ '@vueuse/core@12.8.2':
+ resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==}
+@@ -3501,8 +3270,8 @@ packages:
+ '@vueuse/core@9.13.0':
+ resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
+
+- '@vueuse/metadata@11.3.0':
+- resolution: {integrity: sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==}
++ '@vueuse/metadata@11.1.0':
++ resolution: {integrity: sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg==}
+
+ '@vueuse/metadata@12.8.2':
+ resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==}
+@@ -3510,8 +3279,8 @@ packages:
+ '@vueuse/metadata@9.13.0':
+ resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
+
+- '@vueuse/shared@11.3.0':
+- resolution: {integrity: sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==}
++ '@vueuse/shared@11.1.0':
++ resolution: {integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==}
+
+ '@vueuse/shared@12.8.2':
+ resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==}
+@@ -3519,49 +3288,79 @@ packages:
+ '@vueuse/shared@9.13.0':
+ resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
+
+- '@webgpu/types@0.1.64':
+- resolution: {integrity: sha512-84kRIAGV46LJTlJZWxShiOrNL30A+9KokD7RB3dRCIqODFjodS5tCD5yyiZ8kIReGVZSDfA3XkkwyyOIF6K62A==}
++ '@webassemblyjs/ast@1.14.1':
++ resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
+
+- '@whatwg-node/disposablestack@0.0.6':
+- resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==}
+- engines: {node: '>=18.0.0'}
++ '@webassemblyjs/floating-point-hex-parser@1.13.2':
++ resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
+
+- '@whatwg-node/fetch@0.10.10':
+- resolution: {integrity: sha512-watz4i/Vv4HpoJ+GranJ7HH75Pf+OkPQ63NoVmru6Srgc8VezTArB00i/oQlnn0KWh14gM42F22Qcc9SU9mo/w==}
+- engines: {node: '>=18.0.0'}
++ '@webassemblyjs/helper-api-error@1.13.2':
++ resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
+
+- '@whatwg-node/node-fetch@0.7.25':
+- resolution: {integrity: sha512-szCTESNJV+Xd56zU6ShOi/JWROxE9IwCic8o5D9z5QECZloas6Ez5tUuKqXTAdu6fHFx1t6C+5gwj8smzOLjtg==}
+- engines: {node: '>=18.0.0'}
++ '@webassemblyjs/helper-buffer@1.14.1':
++ resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
+
+- '@whatwg-node/promise-helpers@1.3.2':
+- resolution: {integrity: sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==}
+- engines: {node: '>=16.0.0'}
++ '@webassemblyjs/helper-numbers@1.13.2':
++ resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
+
+- '@whatwg-node/server@0.9.71':
+- resolution: {integrity: sha512-ueFCcIPaMgtuYDS9u0qlUoEvj6GiSsKrwnOLPp9SshqjtcRaR1IEHRjoReq3sXNydsF5i0ZnmuYgXq9dV53t0g==}
+- engines: {node: '>=18.0.0'}
++ '@webassemblyjs/helper-wasm-bytecode@1.13.2':
++ resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
++
++ '@webassemblyjs/helper-wasm-section@1.14.1':
++ resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
++
++ '@webassemblyjs/ieee754@1.13.2':
++ resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
++
++ '@webassemblyjs/leb128@1.13.2':
++ resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
++
++ '@webassemblyjs/utf8@1.13.2':
++ resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
++
++ '@webassemblyjs/wasm-edit@1.14.1':
++ resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
++
++ '@webassemblyjs/wasm-gen@1.14.1':
++ resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
++
++ '@webassemblyjs/wasm-opt@1.14.1':
++ resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
++
++ '@webassemblyjs/wasm-parser@1.14.1':
++ resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
++
++ '@webassemblyjs/wast-printer@1.14.1':
++ resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
++
++ '@webgpu/types@0.1.54':
++ resolution: {integrity: sha512-81oaalC8LFrXjhsczomEQ0u3jG+TqE6V9QHLA8GNZq/Rnot0KDugu3LhSYSlie8tSdooAN1Hov05asrUUp9qgg==}
+
+ '@xml-tools/parser@1.0.11':
+ resolution: {integrity: sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==}
+
++ '@xtuc/ieee754@1.2.0':
++ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
++
++ '@xtuc/long@4.2.2':
++ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
++
+ '@yr/monotone-cubic-spline@1.0.3':
+ resolution: {integrity: sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==}
+
++ abbrev@1.1.1:
++ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
++
+ abbrev@2.0.0:
+ resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+- abbrev@3.0.1:
+- resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==}
+- engines: {node: ^18.17.0 || >=20.5.0}
+-
+ abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+
+- ace-builds@1.43.2:
+- resolution: {integrity: sha512-3wzJUJX0RpMc03jo0V8Q3bSb/cKPnS7Nqqw8fVHsCCHweKMiTIxT3fP46EhjmVy6MCuxwP801ere+RW245phGw==}
++ ace-builds@1.36.2:
++ resolution: {integrity: sha512-eqqfbGwx/GKjM/EnFu4QtQ+d2NNBu84MGgxoG8R5iyFpcVeQ4p9YlTL+ZzdEJqhdkASqoqOxCSNNGyB6lvMm+A==}
+
+ acorn-import-attributes@1.9.5:
+ resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
+@@ -3573,13 +3372,22 @@ packages:
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
++ acorn@8.14.0:
++ resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
++ engines: {node: '>=0.4.0'}
++ hasBin: true
++
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+- agent-base@7.1.4:
+- resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
++ agent-base@6.0.2:
++ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
++ engines: {node: '>= 6.0.0'}
++
++ agent-base@7.1.3:
++ resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
+ engines: {node: '>= 14'}
+
+ ajv-draft-04@1.0.0:
+@@ -3590,27 +3398,47 @@ packages:
+ ajv:
+ optional: true
+
++ ajv-formats@2.1.1:
++ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
++ peerDependencies:
++ ajv: ^8.0.0
++ peerDependenciesMeta:
++ ajv:
++ optional: true
++
++ ajv-keywords@3.5.2:
++ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
++ peerDependencies:
++ ajv: ^6.9.1
++
++ ajv-keywords@5.1.0:
++ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
++ peerDependencies:
++ ajv: ^8.8.2
++
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ajv@8.17.1:
+ resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
+
+- alien-signals@1.0.13:
+- resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==}
+-
+- alien-signals@2.0.6:
+- resolution: {integrity: sha512-P3TxJSe31bUHBiblg59oU1PpaWPtmxF9GhJ/cB7OkgJ0qN/ifFSKUI25/v8ZhsT+lIG6ac8DpTOplXxORX6F3Q==}
+-
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
++ ansi-colors@4.1.3:
++ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
++ engines: {node: '>=6'}
++
++ ansi-escapes@4.3.2:
++ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
++ engines: {node: '>=8'}
++
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+- ansi-regex@6.1.0:
+- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
++ ansi-regex@6.0.1:
++ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+@@ -3626,10 +3454,6 @@ packages:
+ engines: {node: '>=8.0.0'}
+ hasBin: true
+
+- ansis@4.1.0:
+- resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==}
+- engines: {node: '>=14'}
+-
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
+@@ -3637,8 +3461,11 @@ packages:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+- apexcharts@3.54.1:
+- resolution: {integrity: sha512-E4et0h/J1U3r3EwS/WlqJCQIbepKbp6wGUmaAwJOMjHUP4Ci0gxanLa7FR3okx6p9coi4st6J853/Cb1NP0vpA==}
++ apexcharts@3.49.2:
++ resolution: {integrity: sha512-vBB8KgwfD9rSObA7s4kY2rU6DeaN67gTR3JN7r32ztgKVf8lKkdFQ6iUhk6oIHrV7W8PoHhr5EwKymn0z5Fz6A==}
++
++ aproba@2.0.0:
++ resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
+
+ archiver-utils@5.0.2:
+ resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==}
+@@ -3652,6 +3479,11 @@ packages:
+ resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
+ engines: {node: '>=14'}
+
++ are-we-there-yet@2.0.0:
++ resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
++ engines: {node: '>=10'}
++ deprecated: This package is no longer supported.
++
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+@@ -3672,20 +3504,16 @@ packages:
+ array-iterate@2.0.1:
+ resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
+
+- ast-kit@2.1.1:
+- resolution: {integrity: sha512-mfh6a7gKXE8pDlxTvqIc/syH/P3RkzbOF6LeHdcKztLEzYe6IMsRCL7N8vI7hqTGWNxpkCuuRTpT21xNWqhRtQ==}
+- engines: {node: '>=20.18.0'}
+-
+- ast-module-types@6.0.1:
+- resolution: {integrity: sha512-WHw67kLXYbZuHTmcdbIrVArCq5wxo6NEuj3hiYAWr8mwJeC+C2mMCIBIWCiDoCye/OF/xelc+teJ1ERoWmnEIA==}
+- engines: {node: '>=18'}
++ ast-kit@1.3.2:
++ resolution: {integrity: sha512-gdvX700WVC6sHCJQ7bJGfDvtuKAh6Sa6weIZROxfzUZKP7BjvB8y0SMlM/o4omSQ3L60PQSJROBJsb0vEViVnA==}
++ engines: {node: '>=16.14.0'}
+
+- ast-walker-scope@0.8.1:
+- resolution: {integrity: sha512-72XOdbzQCMKERvFrxAykatn2pu7osPNq/sNUzwcHdWzwPvOsNpPqkawfDXVvQbA2RT+ivtsMNjYdojTUZitt1A==}
+- engines: {node: '>=20.18.0'}
++ ast-walker-scope@0.6.2:
++ resolution: {integrity: sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==}
++ engines: {node: '>=16.14.0'}
+
+- astring@1.9.0:
+- resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
++ astring@1.8.6:
++ resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
+ hasBin: true
+
+ astro-expressive-code@0.40.2:
+@@ -3693,19 +3521,19 @@ packages:
+ peerDependencies:
+ astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0
+
+- astro@5.12.8:
+- resolution: {integrity: sha512-KkJ7FR+c2SyZYlpakm48XBiuQcRsrVtdjG5LN5an0givI/tLik+ePJ4/g3qrAVhYMjJOxBA2YgFQxANPiWB+Mw==}
+- engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
++ astro@5.4.1:
++ resolution: {integrity: sha512-z9BiBz8pV7pZVn1evZv/9bJil3A9UZNyEjDFH3IjD87ioz95HHGLgbjRbbqF1EwSy8JOLKlMNyuQPqjrX8xqWw==}
++ engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
+ hasBin: true
+
+ async-sema@3.1.1:
+ resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
+
+- async@3.2.6:
+- resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
++ async@3.2.5:
++ resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
+
+- autoprefixer@10.4.21:
+- resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
++ autoprefixer@10.4.20:
++ resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+@@ -3715,8 +3543,8 @@ packages:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
+
+- b4a@1.6.7:
+- resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==}
++ b4a@1.6.6:
++ resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+@@ -3724,8 +3552,8 @@ packages:
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+- bare-events@2.6.0:
+- resolution: {integrity: sha512-EKZ5BTXYExaNqi3I3f9RtEsaI/xBSGjE0XZCZilPzFAV/goswFHuPd9jEZlPIZ/iNZJwDSao9qRiScySz7MbQg==}
++ bare-events@2.4.2:
++ resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==}
+
+ base-64@1.0.0:
+ resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==}
+@@ -3749,12 +3577,6 @@ packages:
+ birpc@0.2.19:
+ resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
+
+- birpc@2.5.0:
+- resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==}
+-
+- blob-to-buffer@1.2.9:
+- resolution: {integrity: sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==}
+-
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+@@ -3762,27 +3584,26 @@ packages:
+ resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==}
+ engines: {node: '>=18'}
+
+- brace-expansion@1.1.12:
+- resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
++ brace-expansion@1.1.11:
++ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+- brace-expansion@2.0.2:
+- resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
++ brace-expansion@2.0.1:
++ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+- brotli@1.3.3:
+- resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==}
++ browserslist@4.24.2:
++ resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
++ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
++ hasBin: true
+
+ browserslist@4.25.1:
+ resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+- buffer-crc32@0.2.13:
+- resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+-
+ buffer-crc32@1.0.0:
+ resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==}
+ engines: {node: '>=8.0.0'}
+@@ -3801,8 +3622,16 @@ packages:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
+- c12@3.2.0:
+- resolution: {integrity: sha512-ixkEtbYafL56E6HiFuonMm1ZjoKtIo7TH68/uiEq4DAwv9NcUX2nJ95F8TrbMeNjqIkZpruo3ojXQJ+MGG5gcQ==}
++ c12@2.0.1:
++ resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==}
++ peerDependencies:
++ magicast: ^0.3.5
++ peerDependenciesMeta:
++ magicast:
++ optional: true
++
++ c12@3.1.0:
++ resolution: {integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==}
+ peerDependencies:
+ magicast: ^0.3.5
+ peerDependenciesMeta:
+@@ -3817,8 +3646,8 @@ packages:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+- call-bind@1.0.8:
+- resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
++ call-bind@1.0.7:
++ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.4:
+@@ -3828,9 +3657,6 @@ packages:
+ call-me-maybe@1.0.2:
+ resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
+
+- callsite@1.0.0:
+- resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==}
+-
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+@@ -3854,8 +3680,11 @@ packages:
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
+- caniuse-lite@1.0.30001731:
+- resolution: {integrity: sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==}
++ caniuse-lite@1.0.30001687:
++ resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==}
++
++ caniuse-lite@1.0.30001727:
++ resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+@@ -3864,10 +3693,13 @@ packages:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+- chalk@5.5.0:
+- resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==}
++ chalk@5.3.0:
++ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
++ change-case@5.4.4:
++ resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==}
++
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+@@ -3887,19 +3719,31 @@ packages:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
++ chokidar@4.0.1:
++ resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
++ engines: {node: '>= 14.16.0'}
++
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+- chownr@3.0.0:
+- resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+- engines: {node: '>=18'}
++ chownr@2.0.0:
++ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
++ engines: {node: '>=10'}
++
++ chrome-trace-event@1.0.4:
++ resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
++ engines: {node: '>=6.0'}
+
+ ci-info@2.0.0:
+ resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
+
+- ci-info@4.3.0:
+- resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==}
++ ci-info@4.0.0:
++ resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
++ engines: {node: '>=8'}
++
++ ci-info@4.1.0:
++ resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==}
+ engines: {node: '>=8'}
+
+ citty@0.1.6:
+@@ -3913,6 +3757,9 @@ packages:
+ resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
+ engines: {node: '>=4'}
+
++ clear@0.1.0:
++ resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==}
++
+ cli-boxes@3.0.0:
+ resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
+ engines: {node: '>=10'}
+@@ -3925,10 +3772,6 @@ packages:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+- clone@2.1.2:
+- resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
+- engines: {node: '>=0.8'}
+-
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+@@ -3937,27 +3780,26 @@ packages:
+ resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==}
+ engines: {node: '>=0.10.0'}
+
++ code-error-fragment@0.0.230:
++ resolution: {integrity: sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==}
++ engines: {node: '>= 4'}
++
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+- color-convert@1.9.3:
+- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+-
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+- color-name@1.1.3:
+- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+-
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+
+- color@3.2.1:
+- resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
++ color-support@1.1.3:
++ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
++ hasBin: true
+
+ color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+@@ -3966,8 +3808,8 @@ packages:
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+- colorspace@1.1.4:
+- resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==}
++ colorette@1.4.0:
++ resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+@@ -3976,14 +3818,6 @@ packages:
+ resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
+ engines: {node: '>=14'}
+
+- commander@11.1.0:
+- resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+- engines: {node: '>=16'}
+-
+- commander@12.1.0:
+- resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+- engines: {node: '>=18'}
+-
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+@@ -3995,6 +3829,10 @@ packages:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
++ commander@8.3.0:
++ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
++ engines: {node: '>= 12'}
++
+ comment-parser@1.4.1:
+ resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
+ engines: {node: '>= 12.0.0'}
+@@ -4002,19 +3840,19 @@ packages:
+ common-ancestor-path@1.0.1:
+ resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
+
+- common-path-prefix@3.0.0:
+- resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
+-
+ commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+- compatx@0.2.0:
+- resolution: {integrity: sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA==}
++ compatx@0.1.8:
++ resolution: {integrity: sha512-jcbsEAR81Bt5s1qOFymBufmCbXCXbk0Ql+K5ouj6gCyx2yHlu6AgmGIi9HxfKixpUDO5bCFJUHQ5uM6ecbTebw==}
+
+ compress-commons@6.0.2:
+ resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==}
+ engines: {node: '>= 14'}
+
++ computeds@0.0.1:
++ resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
++
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+@@ -4027,36 +3865,33 @@ packages:
+ config-chain@1.1.13:
+ resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
+
++ consola@3.2.3:
++ resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
++ engines: {node: ^14.18.0 || >=16.10.0}
++
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
++ console-control-strings@1.1.0:
++ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
++
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie-es@1.2.2:
+ resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
+
+- cookie-es@2.0.0:
+- resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==}
+-
+- cookie@1.0.2:
+- resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==}
+- engines: {node: '>=18'}
++ cookie@0.7.2:
++ resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
++ engines: {node: '>= 0.6'}
+
+ copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+
+- copy-file@11.0.0:
+- resolution: {integrity: sha512-mFsNh/DIANLqFt5VHZoGirdg7bK5+oTWlhnGu6tgRhzBlnEKWaPX2xrFaLltii/6rmhqFMJqffUgknuRdpYlHw==}
+- engines: {node: '>=18'}
+-
+- core-js-compat@3.45.0:
+- resolution: {integrity: sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==}
+-
+- core-js@3.45.0:
+- resolution: {integrity: sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==}
++ core-js-compat@3.37.1:
++ resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+@@ -4070,34 +3905,37 @@ packages:
+ resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==}
+ engines: {node: '>= 14'}
+
++ create-require@1.1.1:
++ resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
++
+ crelt@1.0.6:
+ resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
+
+- cron-parser@4.9.0:
+- resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
+- engines: {node: '>=12.0.0'}
+-
+- croner@9.1.0:
+- resolution: {integrity: sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==}
++ croner@9.0.0:
++ resolution: {integrity: sha512-onMB0OkDjkXunhdW9htFjEhqrD54+M94i6ackoUkjHKbRnXdyEyKRelp4nJ1kAz32+s27jP1FsebpJCVl0BsvA==}
+ engines: {node: '>=18.0'}
+
+- cronstrue@2.59.0:
+- resolution: {integrity: sha512-YKGmAy84hKH+hHIIER07VCAHf9u0Ldelx1uU6EBxsRPDXIA1m5fsKmJfyC3xBhw6cVC/1i83VdbL4PvepTrt8A==}
++ cronstrue@2.52.0:
++ resolution: {integrity: sha512-NKgHbWkSZXJUcaBHSsyzC8eegD6bBd4O0oCI6XMIJ+y4Bq3v4w7sY3wfWoKPuVlq9pQHRB6od0lmKpIqi8TlKA==}
+ hasBin: true
+
+- cross-fetch@3.2.0:
+- resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==}
+-
+ cross-spawn@6.0.6:
+ resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==}
+ engines: {node: '>=4.8'}
+
++ cross-spawn@7.0.3:
++ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
++ engines: {node: '>= 8'}
++
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+- crossws@0.3.5:
+- resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==}
++ crossws@0.3.1:
++ resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==}
++
++ crossws@0.3.4:
++ resolution: {integrity: sha512-uj0O1ETYX1Bh6uSgktfPvwDiPYGQ3aI4qVsaC/LWpkIzGj1nUYm5FK3K+t11oOlpN01lGbprFCH4wBlKdJjVgw==}
+
+ css-declaration-sorter@7.2.0:
+ resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
+@@ -4105,11 +3943,11 @@ packages:
+ peerDependencies:
+ postcss: ^8.0.9
+
+- css-select@5.2.2:
+- resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
++ css-select@5.1.0:
++ resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
+
+- css-selector-parser@3.1.3:
+- resolution: {integrity: sha512-gJMigczVZqYAk0hPVzx/M4Hm1D9QOtqkdQk9005TNzDIUGzo5cnHEDiKUT7jGPximL/oYb+LIitcHFQ4aKupxg==}
++ css-selector-parser@3.0.5:
++ resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==}
+
+ css-tree@2.2.1:
+ resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
+@@ -4119,12 +3957,8 @@ packages:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+
+- css-tree@3.1.0:
+- resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
+- engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+-
+- css-what@6.2.2:
+- resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
++ css-what@6.1.0:
++ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+
+ cssesc@3.0.0:
+@@ -4135,23 +3969,23 @@ packages:
+ cssfilter@0.0.10:
+ resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==}
+
+- cssnano-preset-default@7.0.8:
+- resolution: {integrity: sha512-d+3R2qwrUV3g4LEMOjnndognKirBZISylDZAF/TPeCWVjEwlXS2e4eN4ICkoobRe7pD3H6lltinKVyS1AJhdjQ==}
++ cssnano-preset-default@7.0.6:
++ resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- cssnano-utils@5.0.1:
+- resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==}
++ cssnano-utils@5.0.0:
++ resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- cssnano@7.1.0:
+- resolution: {integrity: sha512-Pu3rlKkd0ZtlCUzBrKL1Z4YmhKppjC1H9jo7u1o4qaKqyhvixFgu5qLyNIAOjSTg9DjVPtUqdROq2EfpVMEe+w==}
++ cssnano@7.0.6:
++ resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+ csso@5.0.5:
+ resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
+@@ -4164,12 +3998,28 @@ packages:
+ resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==}
+ engines: {node: '>=0.10.0'}
+
+- data-uri-to-buffer@4.0.1:
+- resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+- engines: {node: '>= 12'}
++ dayjs@1.11.11:
++ resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
+
+- dayjs@1.11.13:
+- resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
++ db0@0.2.1:
++ resolution: {integrity: sha512-BWSFmLaCkfyqbSEZBQINMVNjCVfrogi7GQ2RSy1tmtfK9OXlsup6lUMwLsqSD7FbAjD04eWFdXowSHHUp6SE/Q==}
++ peerDependencies:
++ '@electric-sql/pglite': '*'
++ '@libsql/client': '*'
++ better-sqlite3: '*'
++ drizzle-orm: '*'
++ mysql2: '*'
++ peerDependenciesMeta:
++ '@electric-sql/pglite':
++ optional: true
++ '@libsql/client':
++ optional: true
++ better-sqlite3:
++ optional: true
++ drizzle-orm:
++ optional: true
++ mysql2:
++ optional: true
+
+ db0@0.3.2:
+ resolution: {integrity: sha512-xzWNQ6jk/+NtdfLyXEipbX55dmDSeteLFt/ayF+wZUU5bzKgmrDOxmInUTbyVRp46YwnJdkDA1KhB7WIXFofJw==}
+@@ -4200,6 +4050,14 @@ packages:
+ debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+
++ debug@2.6.9:
++ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
++ peerDependencies:
++ supports-color: '*'
++ peerDependenciesMeta:
++ supports-color:
++ optional: true
++
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+@@ -4208,8 +4066,8 @@ packages:
+ supports-color:
+ optional: true
+
+- debug@4.4.1:
+- resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
++ debug@4.4.0:
++ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+@@ -4217,14 +4075,8 @@ packages:
+ supports-color:
+ optional: true
+
+- decache@4.6.2:
+- resolution: {integrity: sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==}
+-
+- decimal.js@10.6.0:
+- resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
+-
+- decode-named-character-reference@1.2.0:
+- resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
++ decode-named-character-reference@1.0.2:
++ resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+@@ -4259,6 +4111,9 @@ packages:
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
++ delegates@1.0.0:
++ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
++
+ denque@2.1.0:
+ resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
+ engines: {node: '>=0.10'}
+@@ -4271,61 +4126,25 @@ packages:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
++ destr@2.0.3:
++ resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
++
+ destr@2.0.5:
+ resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==}
+
++ destroy@1.2.0:
++ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
++ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
++
+ detect-libc@1.0.3:
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+
+- detect-libc@2.0.4:
+- resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
++ detect-libc@2.0.3:
++ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ engines: {node: '>=8'}
+
+- detective-amd@6.0.1:
+- resolution: {integrity: sha512-TtyZ3OhwUoEEIhTFoc1C9IyJIud3y+xYkSRjmvCt65+ycQuc3VcBrPRTMWoO/AnuCyOB8T5gky+xf7Igxtjd3g==}
+- engines: {node: '>=18'}
+- hasBin: true
+-
+- detective-cjs@6.0.1:
+- resolution: {integrity: sha512-tLTQsWvd2WMcmn/60T2inEJNhJoi7a//PQ7DwRKEj1yEeiQs4mrONgsUtEJKnZmrGWBBmE0kJ1vqOG/NAxwaJw==}
+- engines: {node: '>=18'}
+-
+- detective-es6@5.0.1:
+- resolution: {integrity: sha512-XusTPuewnSUdoxRSx8OOI6xIA/uld/wMQwYsouvFN2LAg7HgP06NF1lHRV3x6BZxyL2Kkoih4ewcq8hcbGtwew==}
+- engines: {node: '>=18'}
+-
+- detective-postcss@7.0.1:
+- resolution: {integrity: sha512-bEOVpHU9picRZux5XnwGsmCN4+8oZo7vSW0O0/Enq/TO5R2pIAP2279NsszpJR7ocnQt4WXU0+nnh/0JuK4KHQ==}
+- engines: {node: ^14.0.0 || >=16.0.0}
+- peerDependencies:
+- postcss: ^8.4.47
+-
+- detective-sass@6.0.1:
+- resolution: {integrity: sha512-jSGPO8QDy7K7pztUmGC6aiHkexBQT4GIH+mBAL9ZyBmnUIOFbkfZnO8wPRRJFP/QP83irObgsZHCoDHZ173tRw==}
+- engines: {node: '>=18'}
+-
+- detective-scss@5.0.1:
+- resolution: {integrity: sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==}
+- engines: {node: '>=18'}
+-
+- detective-stylus@5.0.1:
+- resolution: {integrity: sha512-Dgn0bUqdGbE3oZJ+WCKf8Dmu7VWLcmRJGc6RCzBgG31DLIyai9WAoEhYRgIHpt/BCRMrnXLbGWGPQuBUrnF0TA==}
+- engines: {node: '>=18'}
+-
+- detective-typescript@14.0.0:
+- resolution: {integrity: sha512-pgN43/80MmWVSEi5LUuiVvO/0a9ss5V7fwVfrJ4QzAQRd3cwqU1SfWGXJFcNKUqoD5cS+uIovhw5t/0rSeC5Mw==}
+- engines: {node: '>=18'}
+- peerDependencies:
+- typescript: ^5.4.4
+-
+- detective-vue2@2.2.0:
+- resolution: {integrity: sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==}
+- engines: {node: '>=18'}
+- peerDependencies:
+- typescript: ^5.4.4
+-
+ deterministic-object-hash@2.0.2:
+ resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==}
+ engines: {node: '>=18'}
+@@ -4336,9 +4155,6 @@ packages:
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+- dfa@1.2.0:
+- resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==}
+-
+ didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+@@ -4350,10 +4166,6 @@ packages:
+ resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==}
+ engines: {node: '>=0.3.1'}
+
+- diff@8.0.2:
+- resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==}
+- engines: {node: '>=0.3.1'}
+-
+ direction@2.0.1:
+ resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==}
+ hasBin: true
+@@ -4375,11 +4187,11 @@ packages:
+ resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
+ engines: {node: '>= 4'}
+
+- dompurify@3.2.6:
+- resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==}
++ dompurify@3.1.7:
++ resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==}
+
+- domutils@3.2.2:
+- resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
++ domutils@3.1.0:
++ resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+@@ -4392,12 +4204,12 @@ packages:
+ resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
+ engines: {node: '>=12'}
+
+- dotenv@16.6.1:
+- resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
++ dotenv@16.4.5:
++ resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
+ engines: {node: '>=12'}
+
+- dotenv@17.2.1:
+- resolution: {integrity: sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==}
++ dotenv@16.6.1:
++ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
+ engines: {node: '>=12'}
+
+ draco3d@1.5.7:
+@@ -4425,11 +4237,14 @@ packages:
+ ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+- electron-to-chromium@1.5.198:
+- resolution: {integrity: sha512-G5COfnp3w+ydVu80yprgWSfmfQaYRh9DOxfhAxstLyetKaLyl55QrNjx8C38Pc/C+RaDmb1M0Lk8wPEMQ+bGgQ==}
++ electron-to-chromium@1.5.182:
++ resolution: {integrity: sha512-Lv65Btwv9W4J9pyODI6EWpdnhfvrve/us5h1WspW8B2Fb0366REPtY3hX7ounk1CkV/TBjWCEvCBBbYbmV0qCA==}
++
++ electron-to-chromium@1.5.71:
++ resolution: {integrity: sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==}
+
+- emmet@2.4.11:
+- resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==}
++ emmet@2.4.7:
++ resolution: {integrity: sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==}
+
+ emoji-regex-xs@1.0.0:
+ resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
+@@ -4443,18 +4258,23 @@ packages:
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+- enabled@2.0.0:
+- resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==}
++ encodeurl@1.0.2:
++ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
++ engines: {node: '>= 0.8'}
+
+ encodeurl@2.0.0:
+ resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
+ engines: {node: '>= 0.8'}
+
+- end-of-stream@1.4.5:
+- resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
++ end-of-stream@1.4.4:
++ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
++
++ enhanced-resolve@5.17.1:
++ resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
++ engines: {node: '>=10.13.0'}
+
+- enhanced-resolve@5.18.3:
+- resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
++ enhanced-resolve@5.18.2:
++ resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==}
+ engines: {node: '>=10.13.0'}
+
+ entities@2.2.0:
+@@ -4468,26 +4288,19 @@ packages:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+
+- entities@6.0.1:
+- resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
+- engines: {node: '>=0.12'}
+-
+- env-paths@3.0.0:
+- resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
+- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+-
+ error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+ error-stack-parser-es@0.1.5:
+ resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==}
+
+- error-stack-parser-es@1.0.5:
+- resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==}
+-
+ errx@0.1.0:
+ resolution: {integrity: sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==}
+
++ es-define-property@1.0.0:
++ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
++ engines: {node: '>= 0.4'}
++
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+@@ -4496,6 +4309,12 @@ packages:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
++ es-module-lexer@1.5.4:
++ resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
++
++ es-module-lexer@1.6.0:
++ resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
++
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
+@@ -4509,18 +4328,23 @@ packages:
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
++ esbuild@0.18.20:
++ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
++ engines: {node: '>=12'}
++ hasBin: true
++
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+- esbuild@0.25.5:
+- resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
++ esbuild@0.24.0:
++ resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+- esbuild@0.25.8:
+- resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==}
++ esbuild@0.25.0:
++ resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+@@ -4543,11 +4367,6 @@ packages:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+- escodegen@2.1.0:
+- resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+- engines: {node: '>=6.0'}
+- hasBin: true
+-
+ eslint-config-flat-gitignore@0.3.0:
+ resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==}
+ peerDependencies:
+@@ -4562,39 +4381,23 @@ packages:
+ eslint-flat-config-utils@0.4.0:
+ resolution: {integrity: sha512-kfd5kQZC+BMO0YwTol6zxjKX1zAsk8JfSAopbKjKqmENTJcew+yBejuvccAg37cvOrN0Mh+DVbeyznuNWEjt4A==}
+
+- eslint-import-context@0.1.9:
+- resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==}
+- engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+- peerDependencies:
+- unrs-resolver: ^1.0.0
+- peerDependenciesMeta:
+- unrs-resolver:
+- optional: true
+-
+ eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+
+- eslint-plugin-import-x@4.16.1:
+- resolution: {integrity: sha512-vPZZsiOKaBAIATpFE2uMI4w5IRwdv/FpQ+qZZMR4E+PeOcM4OeoEbqxRMnywdxP19TyB/3h6QBB0EWon7letSQ==}
++ eslint-plugin-import-x@4.3.1:
++ resolution: {integrity: sha512-5TriWkXulDl486XnYYRgsL+VQoS/7mhN/2ci02iLCuL7gdhbiWxnsuL/NTcaKY9fpMgsMFjWZBtIGW7pb+RX0g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+- '@typescript-eslint/utils': ^8.0.0
+ eslint: ^8.57.0 || ^9.0.0
+- eslint-import-resolver-node: '*'
+- peerDependenciesMeta:
+- '@typescript-eslint/utils':
+- optional: true
+- eslint-import-resolver-node:
+- optional: true
+
+- eslint-plugin-jsdoc@50.8.0:
+- resolution: {integrity: sha512-UyGb5755LMFWPrZTEqqvTJ3urLz1iqj+bYOHFNag+sw3NvaMWP9K2z+uIn37XfNALmQLQyrBlJ5mkiVPL7ADEg==}
++ eslint-plugin-jsdoc@50.4.3:
++ resolution: {integrity: sha512-uWtwFxGRv6B8sU63HZM5dAGDhgsatb+LONwmILZJhdRALLOkCX2HFZhdL/Kw2ls8SQMAVEfK+LmnEfxInRN8HA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
+
+- eslint-plugin-prettier@5.5.4:
+- resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==}
++ eslint-plugin-prettier@5.5.3:
++ resolution: {integrity: sha512-NAdMYww51ehKfDyDhv59/eIItUVzU0Io9H2E8nHNGKEeeqlnci+1gCvrHib6EmZdf6GxF+LCV5K7UC65Ezvw7w==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ '@types/eslint': '>=8.0.0'
+@@ -4607,8 +4410,8 @@ packages:
+ eslint-config-prettier:
+ optional: true
+
+- eslint-plugin-regexp@2.9.1:
+- resolution: {integrity: sha512-JwK6glV/aoYDxvXcrvMQbw/pByBewZwqXVSBzzjot3GxSbmjDYuWU4LWiLdBO8JKi4o8A1+rygO6JWRBg4qAQQ==}
++ eslint-plugin-regexp@2.6.0:
++ resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==}
+ engines: {node: ^18 || >=20}
+ peerDependencies:
+ eslint: '>=8.44.0'
+@@ -4618,8 +4421,8 @@ packages:
+ peerDependencies:
+ eslint: '>=5.0.0'
+
+- eslint-plugin-turbo@2.5.5:
+- resolution: {integrity: sha512-IlN65X6W7rgK88u5xl1xC+7FIGKA7eyaca0yxZQ9CBNV6keAaqtjZQLw8ZfXdv7T+MzTLYkYOeOHAv8yCRUx4Q==}
++ eslint-plugin-turbo@2.5.4:
++ resolution: {integrity: sha512-IZsW61DFj5mLMMaCJxhh1VE4HvNhfdnHnAaXajgne+LUzdyHk2NvYT0ECSa/1SssArcqgTvV74MrLL68hWLLFw==}
+ peerDependencies:
+ eslint: '>6.6.0'
+ turbo: '>2.0.0'
+@@ -4641,16 +4444,24 @@ packages:
+ '@typescript-eslint/parser':
+ optional: true
+
+- eslint-plugin-vue@9.33.0:
+- resolution: {integrity: sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==}
++ eslint-plugin-vue@9.29.0:
++ resolution: {integrity: sha512-hamyjrBhNH6Li6R1h1VF9KHfshJlKgKEg3ARbGTn72CMNDSMhWbgC7NdkRDEh25AFW+4SDATzyNM+3gWuZii8g==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
+
++ eslint-scope@5.1.1:
++ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
++ engines: {node: '>=8.0.0'}
++
+ eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
++ eslint-scope@8.1.0:
++ resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+@@ -4659,6 +4470,10 @@ packages:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
++ eslint-visitor-keys@4.1.0:
++ resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+@@ -4669,6 +4484,16 @@ packages:
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
+ hasBin: true
+
++ eslint@9.13.0:
++ resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++ hasBin: true
++ peerDependencies:
++ jiti: '*'
++ peerDependenciesMeta:
++ jiti:
++ optional: true
++
+ eslint@9.32.0:
+ resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+@@ -4679,6 +4504,10 @@ packages:
+ jiti:
+ optional: true
+
++ espree@10.2.0:
++ resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
++ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
++
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+@@ -4700,6 +4529,10 @@ packages:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
++ estraverse@4.3.0:
++ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
++ engines: {node: '>=4.0'}
++
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+@@ -4775,11 +4608,6 @@ packages:
+ externality@1.0.2:
+ resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==}
+
+- extract-zip@2.0.1:
+- resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
+- engines: {node: '>= 10.17.0'}
+- hasBin: true
+-
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+@@ -4789,8 +4617,8 @@ packages:
+ fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+
+- fast-glob@3.3.3:
+- resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
++ fast-glob@3.3.2:
++ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+@@ -4802,17 +4630,27 @@ packages:
+ fast-npm-meta@0.2.2:
+ resolution: {integrity: sha512-E+fdxeaOQGo/CMWc9f4uHFfgUPJRAu7N3uB8GBvB3SDPAIWJK4GKyYhkAGFq+GYrcbKNfQIz5VVQyJnDuPPCrg==}
+
+- fast-npm-meta@0.4.6:
+- resolution: {integrity: sha512-zbBBOAOlzxfrU4WSnbCHk/nR6Vf32lSEPxDEvNOR08Z5DSZ/A6qJu0rqrHVcexBTd1hc2gim998xnqF/R1PuEw==}
++ fast-uri@3.0.1:
++ resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==}
+
+- fast-uri@3.0.6:
+- resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
++ fastq@1.17.1:
++ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
+- fastq@1.19.1:
+- resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
++ fdir@6.4.2:
++ resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==}
++ peerDependencies:
++ picomatch: ^3 || ^4
++ peerDependenciesMeta:
++ picomatch:
++ optional: true
+
+- fd-slicer@1.1.0:
+- resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
++ fdir@6.4.3:
++ resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
++ peerDependencies:
++ picomatch: ^3 || ^4
++ peerDependenciesMeta:
++ picomatch:
++ optional: true
+
+ fdir@6.4.6:
+ resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
+@@ -4822,13 +4660,6 @@ packages:
+ picomatch:
+ optional: true
+
+- fecha@4.2.3:
+- resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==}
+-
+- fetch-blob@3.2.0:
+- resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+- engines: {node: ^12.20 || >= 14.13}
+-
+ fflate@0.4.8:
+ resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==}
+
+@@ -4853,12 +4684,8 @@ packages:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+- filter-obj@6.1.0:
+- resolution: {integrity: sha512-xdMtCAODmPloU9qtmPcdBV9Kd27NtMse+4ayThxqIHUES5Z2S6bGpap5PpdmNM56ub7y3i1eyr+vJJIIgWGKmA==}
+- engines: {node: '>=18'}
+-
+- find-up-simple@1.0.1:
+- resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==}
++ find-up-simple@1.0.0:
++ resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
+ engines: {node: '>=18'}
+
+ find-up@4.1.0:
+@@ -4869,9 +4696,8 @@ packages:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+- find-up@7.0.0:
+- resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
+- engines: {node: '>=18'}
++ find-yarn-workspace-root2@1.2.16:
++ resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
+
+ flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+@@ -4881,8 +4707,8 @@ packages:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+- flatted@3.3.3:
+- resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
++ flatted@3.3.2:
++ resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
+
+ flattie@1.1.1:
+ resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==}
+@@ -4897,34 +4723,29 @@ packages:
+ '@nuxt/kit':
+ optional: true
+
+- fn.name@1.1.0:
+- resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==}
+-
+- fontace@0.3.0:
+- resolution: {integrity: sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg==}
+-
+- fontkit@2.0.4:
+- resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==}
+-
+- foreground-child@3.3.1:
+- resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
++ foreground-child@3.2.1:
++ resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==}
+ engines: {node: '>=14'}
+
+- formdata-polyfill@4.0.10:
+- resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+- engines: {node: '>=12.20.0'}
+-
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
+- fresh@2.0.0:
+- resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
+- engines: {node: '>= 0.8'}
++ fresh@0.5.2:
++ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
++ engines: {node: '>= 0.6'}
++
++ fs-extra@10.1.0:
++ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
++ engines: {node: '>=12'}
+
+- fs-extra@11.3.1:
+- resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==}
++ fs-extra@11.2.0:
++ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
+
++ fs-minipass@2.1.0:
++ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
++ engines: {node: '>= 8'}
++
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+@@ -4940,32 +4761,33 @@ packages:
+ resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==}
+ engines: {node: '>=10'}
+
+- fuse.js@7.1.0:
+- resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==}
++ gauge@3.0.2:
++ resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ engines: {node: '>=10'}
++ deprecated: This package is no longer supported.
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+- get-amd-module-type@6.0.1:
+- resolution: {integrity: sha512-MtjsmYiCXcYDDrGqtNbeIYdAl85n+5mSv2r3FbzER/YV3ZILw4HNNIw34HuV5pyl0jzs6GFYU1VHVEefhgcNHQ==}
+- engines: {node: '>=18'}
+-
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+- get-east-asian-width@1.3.0:
+- resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
++ get-east-asian-width@1.2.0:
++ resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
+ engines: {node: '>=18'}
+
++ get-intrinsic@1.2.4:
++ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
++ engines: {node: '>= 0.4'}
++
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+- get-port-please@3.2.0:
+- resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==}
++ get-port-please@3.1.2:
++ resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+@@ -4975,10 +4797,6 @@ packages:
+ resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
+ engines: {node: '>=6'}
+
+- get-stream@5.2.0:
+- resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+- engines: {node: '>=8'}
+-
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+@@ -4987,18 +4805,26 @@ packages:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+
+- get-tsconfig@4.10.1:
+- resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
++ get-tsconfig@4.7.5:
++ resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
++
++ giget@1.2.3:
++ resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
++ hasBin: true
+
+ giget@2.0.0:
+ resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==}
+ hasBin: true
+
+- git-up@8.1.1:
+- resolution: {integrity: sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g==}
++ git-config-path@2.0.0:
++ resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==}
++ engines: {node: '>=4'}
++
++ git-up@7.0.0:
++ resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==}
+
+- git-url-parse@16.1.0:
+- resolution: {integrity: sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw==}
++ git-url-parse@15.0.0:
++ resolution: {integrity: sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ==}
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+@@ -5011,8 +4837,12 @@ packages:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+- glob@10.4.5:
+- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
++ glob-to-regexp@0.4.1:
++ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
++
++ glob@10.4.2:
++ resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==}
++ engines: {node: '>=16 || 14 >=14.18'}
+ hasBin: true
+
+ glob@7.2.3:
+@@ -5023,6 +4853,10 @@ packages:
+ resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
+ engines: {node: '>=18'}
+
++ globals@11.12.0:
++ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
++ engines: {node: '>=4'}
++
+ globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+@@ -5031,16 +4865,16 @@ packages:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+- globals@15.15.0:
+- resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
++ globals@15.11.0:
++ resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==}
+ engines: {node: '>=18'}
+
+ globals@16.3.0:
+ resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==}
+ engines: {node: '>=18'}
+
+- globby@14.1.0:
+- resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==}
++ globby@14.0.2:
++ resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==}
+ engines: {node: '>=18'}
+
+ glsl-token-functions@1.0.1:
+@@ -5052,10 +4886,8 @@ packages:
+ glsl-tokenizer@2.1.5:
+ resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
+
+- gonzales-pe@4.3.0:
+- resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==}
+- engines: {node: '>=0.6.0'}
+- hasBin: true
++ gopd@1.0.1:
++ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+@@ -5064,6 +4896,9 @@ packages:
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
++ grapheme-splitter@1.0.4:
++ resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
++
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+@@ -5075,8 +4910,11 @@ packages:
+ resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+- h3@1.15.4:
+- resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==}
++ h3@1.13.0:
++ resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==}
++
++ h3@1.15.1:
++ resolution: {integrity: sha512-+ORaOBttdUm1E2Uu/obAyCguiI7MbBvsLTndc3gyK3zU+SYLoZXlyCP9Xgy0gikkGufFLTZXCXD6+4BsufnmHA==}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+@@ -5085,10 +4923,21 @@ packages:
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
++ has-proto@1.0.3:
++ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
++ engines: {node: '>= 0.4'}
++
++ has-symbols@1.0.3:
++ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
++ engines: {node: '>= 0.4'}
++
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
++ has-unicode@2.0.1:
++ resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
++
+ hash-sum@2.0.0:
+ resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
+
+@@ -5099,53 +4948,53 @@ packages:
+ hast-util-embedded@3.0.0:
+ resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==}
+
+- hast-util-format@1.1.0:
+- resolution: {integrity: sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==}
++ hast-util-from-html@2.0.2:
++ resolution: {integrity: sha512-HwOHwxdt2zC5KQ/CNoybBntRook2zJvfZE/u5/Ap7aLPe22bDqen7KwGkOqOyzL5zIqKwiYX/OTtE0FWgr6XXA==}
+
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
+
+- hast-util-from-parse5@8.0.3:
+- resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
++ hast-util-from-parse5@8.0.1:
++ resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==}
+
+ hast-util-has-property@3.0.0:
+ resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==}
+
+- hast-util-is-body-ok-link@3.0.1:
+- resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==}
++ hast-util-is-body-ok-link@3.0.0:
++ resolution: {integrity: sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==}
+
+ hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+
+- hast-util-minify-whitespace@1.0.1:
+- resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==}
+-
+ hast-util-parse-selector@4.0.0:
+ resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
+
+ hast-util-phrasing@3.0.1:
+ resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==}
+
+- hast-util-raw@9.1.0:
+- resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
++ hast-util-raw@9.0.4:
++ resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==}
+
+- hast-util-select@6.0.4:
+- resolution: {integrity: sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==}
++ hast-util-select@6.0.2:
++ resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==}
+
+- hast-util-to-estree@3.1.3:
+- resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
++ hast-util-to-estree@3.1.0:
++ resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==}
++
++ hast-util-to-html@9.0.2:
++ resolution: {integrity: sha512-RP5wNpj5nm1Z8cloDv4Sl4RS8jH5HYa0v93YB6Wb4poEzgMo/dAAL0KcT4974dCjcNG5pkLqTImeFHHCwwfY3g==}
+
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
+- hast-util-to-jsx-runtime@2.3.6:
+- resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
++ hast-util-to-jsx-runtime@2.3.0:
++ resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
+
+ hast-util-to-parse5@8.0.0:
+ resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
+
+- hast-util-to-string@3.0.1:
+- resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
++ hast-util-to-string@3.0.0:
++ resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==}
+
+ hast-util-to-text@4.0.2:
+ resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
+@@ -5153,15 +5002,18 @@ packages:
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+- hastscript@9.0.1:
+- resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
++ hastscript@8.0.0:
++ resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==}
++
++ hastscript@9.0.0:
++ resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==}
+
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
+- highlight.js@11.11.1:
+- resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
++ highlight.js@11.9.0:
++ resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==}
+ engines: {node: '>=12.0.0'}
+
+ hookable@5.5.3:
+@@ -5170,10 +5022,6 @@ packages:
+ hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+
+- hosted-git-info@7.0.2:
+- resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
+- engines: {node: ^16.14.0 || >=18.0.0}
+-
+ html-escaper@3.0.3:
+ resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==}
+
+@@ -5182,6 +5030,10 @@ packages:
+ engines: {node: ^14.13.1 || >=16.0.0}
+ hasBin: true
+
++ html-tags@3.3.1:
++ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
++ engines: {node: '>=8'}
++
+ html-to-text@9.0.5:
+ resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
+ engines: {node: '>=14'}
+@@ -5189,14 +5041,14 @@ packages:
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+- html-whitespace-sensitive-tag-names@3.0.1:
+- resolution: {integrity: sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==}
++ html-whitespace-sensitive-tag-names@3.0.0:
++ resolution: {integrity: sha512-KlClZ3/Qy5UgvpvVvDomGhnQhNWH5INE8GwvSIQ9CWt1K0zbbXrl7eN5bWaafOZgtmO3jMPwUqmrmEwinhPq1w==}
+
+ htmlparser2@8.0.2:
+ resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
+
+- http-cache-semantics@4.2.0:
+- resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
++ http-cache-semantics@4.1.1:
++ resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
+
+ http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+@@ -5206,12 +5058,16 @@ packages:
+ resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
++ https-proxy-agent@5.0.1:
++ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
++ engines: {node: '>= 6'}
++
+ https-proxy-agent@7.0.6:
+ resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
+ engines: {node: '>= 14'}
+
+- httpxy@0.1.7:
+- resolution: {integrity: sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ==}
++ httpxy@0.1.5:
++ resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==}
+
+ human-signals@4.3.1:
+ resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
+@@ -5232,8 +5088,12 @@ packages:
+ engines: {node: '>=6'}
+ hasBin: true
+
+- ignore@5.3.2:
+- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
++ ignore@5.3.1:
++ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
++ engines: {node: '>= 4'}
++
++ ignore@6.0.2:
++ resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==}
+ engines: {node: '>= 4'}
+
+ ignore@7.0.5:
+@@ -5246,18 +5106,18 @@ packages:
+ immediate@3.0.6:
+ resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
+
+- immutable@5.1.3:
+- resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==}
++ immutable@4.3.6:
++ resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==}
+
+- import-fresh@3.3.1:
+- resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
++ import-fresh@3.3.0:
++ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ import-meta-resolve@4.1.0:
+ resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
+
+- impound@1.0.0:
+- resolution: {integrity: sha512-8lAJ+1Arw2sMaZ9HE2ZmL5zOcMnt18s6+7Xqgq2aUVy4P1nlzAyPtzCDxsk51KVFwHEEdc6OWvUyqwHwhRYaug==}
++ impound@0.2.0:
++ resolution: {integrity: sha512-gXgeSyp9Hf7qG2/PLKmywHXyQf2xFrw+mJGpoj9DsAB9L7/MIKn+DeEx98UryWXdmbv8wUUPdcQof6qXnZoCGg==}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+@@ -5267,8 +5127,8 @@ packages:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+
+- index-to-position@1.1.0:
+- resolution: {integrity: sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==}
++ index-to-position@0.1.2:
++ resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==}
+ engines: {node: '>=18'}
+
+ inflight@1.0.6:
+@@ -5285,17 +5145,17 @@ packages:
+ resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+
+- inline-style-parser@0.2.4:
+- resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
++ inline-style-parser@0.1.1:
++ resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
+
+- intl-messageformat@10.7.16:
+- resolution: {integrity: sha512-UmdmHUmp5CIKKjSoE10la5yfU+AYJAaiYLsodbjL4lji83JNvgOQUjGaGhGrpFCb0Uh7sl7qfP1IyILa8Z40ug==}
++ inline-style-parser@0.2.3:
++ resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==}
+
+- intl-messageformat@10.7.7:
+- resolution: {integrity: sha512-F134jIoeYMro/3I0h08D0Yt4N9o9pjddU/4IIxMMURqbAtI2wu70X8hvG1V48W49zXHXv3RKSF/po+0fDfsGjA==}
++ intl-messageformat@10.5.14:
++ resolution: {integrity: sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==}
+
+- ioredis@5.7.0:
+- resolution: {integrity: sha512-NUcA93i1lukyXU+riqEyPtSEkyFq8tX90uL659J+qpCZ3rEdViB/APC58oAhIh3+bJln2hzdlZbBZsGNrlsR8g==}
++ ioredis@5.4.1:
++ resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==}
+ engines: {node: '>=12.22.0'}
+
+ iron-webcrypto@1.2.1:
+@@ -5325,8 +5185,8 @@ packages:
+ resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==}
+ hasBin: true
+
+- is-core-module@2.16.1:
+- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
++ is-core-module@2.15.0:
++ resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==}
+ engines: {node: '>= 0.4'}
+
+ is-decimal@2.0.1:
+@@ -5385,10 +5245,6 @@ packages:
+ resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==}
+ engines: {node: '>=12'}
+
+- is-plain-obj@2.1.0:
+- resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
+- engines: {node: '>=8'}
+-
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+@@ -5396,8 +5252,8 @@ packages:
+ is-reference@1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+
+- is-ssh@1.4.1:
+- resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==}
++ is-ssh@1.4.0:
++ resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==}
+
+ is-stream@1.1.0:
+ resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+@@ -5411,17 +5267,6 @@ packages:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+- is-stream@4.0.1:
+- resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==}
+- engines: {node: '>=18'}
+-
+- is-url-superb@4.0.0:
+- resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==}
+- engines: {node: '>=10'}
+-
+- is-url@1.2.4:
+- resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==}
+-
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+@@ -5450,18 +5295,23 @@ packages:
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+- isexe@3.1.1:
+- resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
+- engines: {node: '>=16'}
+-
+ iso-3166-1@2.1.1:
+ resolution: {integrity: sha512-RZxXf8cw5Y8LyHZIwIRvKw8sWTIHh2/txBT+ehO0QroesVfnz3JNFFX4i/OC/Yuv2bDIVYrHna5PMvjtpefq5w==}
+
+- jackspeak@3.4.3:
+- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
++ jackspeak@3.4.0:
++ resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==}
++ engines: {node: '>=14'}
++
++ jest-worker@27.5.1:
++ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
++ engines: {node: '>= 10.13.0'}
++
++ jiti@1.21.6:
++ resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
++ hasBin: true
+
+- jiti@1.21.7:
+- resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
++ jiti@2.4.2:
++ resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
+ hasBin: true
+
+ jiti@2.5.1:
+@@ -5477,6 +5327,10 @@ packages:
+ resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
+ engines: {node: '>=14'}
+
++ js-levenshtein@1.1.6:
++ resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==}
++ engines: {node: '>=0.10.0'}
++
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+@@ -5499,8 +5353,8 @@ packages:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+
+- jsesc@3.1.0:
+- resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
++ jsesc@3.0.2:
++ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+@@ -5519,10 +5373,14 @@ packages:
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+- json-stable-stringify@1.3.0:
+- resolution: {integrity: sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==}
++ json-stable-stringify@1.1.1:
++ resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==}
+ engines: {node: '>= 0.4'}
+
++ json-to-ast@2.1.0:
++ resolution: {integrity: sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==}
++ engines: {node: '>= 4'}
++
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+@@ -5547,14 +5405,6 @@ packages:
+ jszip@3.10.1:
+ resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
+
+- junk@4.0.1:
+- resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==}
+- engines: {node: '>=12.20'}
+-
+- jwt-decode@4.0.0:
+- resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==}
+- engines: {node: '>=18'}
+-
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+@@ -5574,22 +5424,17 @@ packages:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+
++ knitwork@1.1.0:
++ resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==}
++
+ knitwork@1.2.0:
+ resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==}
+
+ kolorist@1.8.0:
+ resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
+
+- kuler@2.0.0:
+- resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==}
+-
+- lambda-local@2.2.0:
+- resolution: {integrity: sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg==}
+- engines: {node: '>=8'}
+- hasBin: true
+-
+- launch-editor@2.11.0:
+- resolution: {integrity: sha512-R/PIF14L6e2eHkhvQPu7jDRCr0msfCYCxbYiLgkkAGi0dVPWuM+RrsPu0a5dpuNe0KWGL3jpAkOlv53xGfPheQ==}
++ launch-editor@2.9.1:
++ resolution: {integrity: sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==}
+
+ lazystream@1.0.1:
+ resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==}
+@@ -5609,8 +5454,12 @@ packages:
+ lie@3.3.0:
+ resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
+
+- lilconfig@3.1.3:
+- resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
++ lilconfig@2.1.0:
++ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
++ engines: {node: '>=10'}
++
++ lilconfig@3.1.2:
++ resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+@@ -5626,6 +5475,14 @@ packages:
+ resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==}
+ hasBin: true
+
++ load-yaml-file@0.2.0:
++ resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
++ engines: {node: '>=6'}
++
++ loader-runner@4.3.0:
++ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
++ engines: {node: '>=6.11.5'}
++
+ local-pkg@0.5.1:
+ resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
+ engines: {node: '>=14'}
+@@ -5642,22 +5499,16 @@ packages:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+- locate-path@7.2.0:
+- resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
+- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+-
+- lodash-es@4.17.21:
+- resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
+-
+- lodash.debounce@4.0.8:
+- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+-
+ lodash.defaults@4.2.0:
+ resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
+
+ lodash.isarguments@3.1.0:
+ resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
+
++ lodash.isequal@4.5.0:
++ resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
++ deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead.
++
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+@@ -5670,10 +5521,6 @@ packages:
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+- logform@2.7.0:
+- resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==}
+- engines: {node: '>= 12.0.0'}
+-
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+@@ -5690,16 +5537,12 @@ packages:
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+- luxon@3.7.1:
+- resolution: {integrity: sha512-RkRWjA926cTvz5rAb1BqyWkKbbjzCGchDUIKMCUvNi17j6f6j8uHGDV82Aqcqtzd+icoYpELmG3ksgGiFNNcNg==}
+- engines: {node: '>=12'}
+-
+- magic-regexp@0.10.0:
+- resolution: {integrity: sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==}
++ magic-string-ast@0.6.2:
++ resolution: {integrity: sha512-oN3Bcd7ZVt+0VGEs7402qR/tjgjbM7kPlH/z7ufJnzTLVBzXJITRHOJiwMmmYMgZfdoWQsfQcY+iKlxiBppnMA==}
++ engines: {node: '>=16.14.0'}
+
+- magic-string-ast@1.0.0:
+- resolution: {integrity: sha512-8rbuNizut2gW94kv7pqgt0dvk+AHLPVIm0iJtpSgQJ9dx21eWx5SBel8z3jp1xtC0j6/iyK3AWGhAR1H61s7LA==}
+- engines: {node: '>=20.18.0'}
++ magic-string@0.30.14:
++ resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==}
+
+ magic-string@0.30.17:
+ resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+@@ -5707,6 +5550,10 @@ packages:
+ magicast@0.3.5:
+ resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
+
++ make-dir@3.1.0:
++ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
++ engines: {node: '>=8'}
++
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+@@ -5719,8 +5566,8 @@ packages:
+ resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
+ hasBin: true
+
+- markdown-table@3.0.4:
+- resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
++ markdown-table@3.0.3:
++ resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
+
+ marked@7.0.4:
+ resolution: {integrity: sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==}
+@@ -5734,20 +5581,20 @@ packages:
+ mdast-util-definitions@6.0.0:
+ resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==}
+
+- mdast-util-directive@3.1.0:
+- resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==}
++ mdast-util-directive@3.0.0:
++ resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==}
+
+- mdast-util-find-and-replace@3.0.2:
+- resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
++ mdast-util-find-and-replace@3.0.1:
++ resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
+
+- mdast-util-from-markdown@2.0.2:
+- resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
++ mdast-util-from-markdown@2.0.1:
++ resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+- mdast-util-gfm-footnote@2.1.0:
+- resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
++ mdast-util-gfm-footnote@2.0.0:
++ resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+@@ -5758,14 +5605,14 @@ packages:
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+- mdast-util-gfm@3.1.0:
+- resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
++ mdast-util-gfm@3.0.0:
++ resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
+
+- mdast-util-mdx-expression@2.0.1:
+- resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
++ mdast-util-mdx-expression@2.0.0:
++ resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==}
+
+- mdast-util-mdx-jsx@3.2.0:
+- resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
++ mdast-util-mdx-jsx@3.1.3:
++ resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+@@ -5779,8 +5626,8 @@ packages:
+ mdast-util-to-hast@13.2.0:
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
+
+- mdast-util-to-markdown@2.1.2:
+- resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
++ mdast-util-to-markdown@2.1.0:
++ resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+@@ -5791,19 +5638,12 @@ packages:
+ mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+
+- mdn-data@2.12.2:
+- resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+-
+ mdurl@1.0.1:
+ resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
+
+ mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
+
+- merge-options@3.0.4:
+- resolution: {integrity: sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==}
+- engines: {node: '>=10'}
+-
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+@@ -5814,14 +5654,11 @@ packages:
+ meshoptimizer@0.18.1:
+ resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
+
+- micro-api-client@3.3.0:
+- resolution: {integrity: sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==}
++ micromark-core-commonmark@2.0.1:
++ resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==}
+
+- micromark-core-commonmark@2.0.3:
+- resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+-
+- micromark-extension-directive@3.0.2:
+- resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==}
++ micromark-extension-directive@3.0.1:
++ resolution: {integrity: sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+@@ -5832,8 +5669,8 @@ packages:
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+- micromark-extension-gfm-table@2.1.1:
+- resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
++ micromark-extension-gfm-table@2.1.0:
++ resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+@@ -5844,11 +5681,11 @@ packages:
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+- micromark-extension-mdx-expression@3.0.1:
+- resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
++ micromark-extension-mdx-expression@3.0.0:
++ resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
+
+- micromark-extension-mdx-jsx@3.0.2:
+- resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
++ micromark-extension-mdx-jsx@3.0.1:
++ resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+@@ -5859,71 +5696,83 @@ packages:
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+- micromark-factory-destination@2.0.1:
+- resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
++ micromark-factory-destination@2.0.0:
++ resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
++
++ micromark-factory-label@2.0.0:
++ resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
+
+- micromark-factory-label@2.0.1:
+- resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
++ micromark-factory-mdx-expression@2.0.2:
++ resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==}
+
+- micromark-factory-mdx-expression@2.0.3:
+- resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
++ micromark-factory-space@2.0.0:
++ resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
+
+- micromark-factory-space@2.0.1:
+- resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
++ micromark-factory-title@2.0.0:
++ resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
+
+- micromark-factory-title@2.0.1:
+- resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
++ micromark-factory-whitespace@2.0.0:
++ resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
+
+- micromark-factory-whitespace@2.0.1:
+- resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
++ micromark-util-character@2.1.0:
++ resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
++ micromark-util-chunked@2.0.0:
++ resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
++
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+- micromark-util-classify-character@2.0.1:
+- resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
++ micromark-util-classify-character@2.0.0:
++ resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
++
++ micromark-util-combine-extensions@2.0.0:
++ resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
+
+- micromark-util-combine-extensions@2.0.1:
+- resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
++ micromark-util-decode-numeric-character-reference@2.0.1:
++ resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
+
+- micromark-util-decode-numeric-character-reference@2.0.2:
+- resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
++ micromark-util-decode-string@2.0.0:
++ resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
+
+- micromark-util-decode-string@2.0.1:
+- resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
++ micromark-util-encode@2.0.0:
++ resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
+
+- micromark-util-encode@2.0.1:
+- resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
++ micromark-util-events-to-acorn@2.0.2:
++ resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==}
+
+- micromark-util-events-to-acorn@2.0.3:
+- resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
++ micromark-util-html-tag-name@2.0.0:
++ resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
+
+- micromark-util-html-tag-name@2.0.1:
+- resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
++ micromark-util-normalize-identifier@2.0.0:
++ resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
+
+- micromark-util-normalize-identifier@2.0.1:
+- resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
++ micromark-util-resolve-all@2.0.0:
++ resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
++ micromark-util-sanitize-uri@2.0.0:
++ resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
++
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+- micromark-util-subtokenize@2.1.0:
+- resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
++ micromark-util-subtokenize@2.0.1:
++ resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==}
+
+- micromark-util-symbol@2.0.1:
+- resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
++ micromark-util-symbol@2.0.0:
++ resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
+
+- micromark-util-types@2.0.2:
+- resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
++ micromark-util-types@2.0.0:
++ resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
+
+- micromark@4.0.2:
+- resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
++ micromark@4.0.0:
++ resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+@@ -5933,25 +5782,30 @@ packages:
+ resolution: {integrity: sha512-5k547tI4Cy+Lddr/hdjNbBEWBwSl8EBc5aSdKvedav8DReADgWJzcYiktaRIw3GtGC1jjwldXtTzvqJZmtvC7w==}
+ engines: {node: '>= 0.6'}
+
+- mime-db@1.54.0:
+- resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
++ mime-db@1.52.0:
++ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.13:
+ resolution: {integrity: sha512-ryBDp1Z/6X90UvjUK3RksH0IBPM137T7cmg4OgD5wQBojlAiUwuok0QeELkim/72EtcYuNlmbkrcGuxj3Kl0YQ==}
+ engines: {node: '>= 0.6'}
+
+- mime-types@3.0.1:
+- resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==}
++ mime-types@2.1.35:
++ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
++ mime@1.6.0:
++ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
++ engines: {node: '>=4'}
++ hasBin: true
++
+ mime@3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+- mime@4.0.7:
+- resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==}
++ mime@4.0.4:
++ resolution: {integrity: sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==}
+ engines: {node: '>=16'}
+ hasBin: true
+
+@@ -5963,10 +5817,6 @@ packages:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+
+- minimatch@10.0.3:
+- resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
+- engines: {node: 20 || >=22}
+-
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+@@ -5982,16 +5832,21 @@ packages:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+- minimist@1.2.8:
+- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
++ minipass@3.3.6:
++ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
++ engines: {node: '>=8'}
++
++ minipass@5.0.0:
++ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
++ engines: {node: '>=8'}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+- minizlib@3.0.2:
+- resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
+- engines: {node: '>= 18'}
++ minizlib@2.1.2:
++ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
++ engines: {node: '>= 8'}
+
+ mitt@2.1.0:
+ resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==}
+@@ -5999,26 +5854,28 @@ packages:
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
+- mkdirp@3.0.1:
+- resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
++ mkdirp@1.0.4:
++ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
++ mlly@1.7.3:
++ resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==}
++
+ mlly@1.7.4:
+ resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
+
+- mocked-exports@0.1.1:
+- resolution: {integrity: sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==}
+-
+- module-definition@6.0.1:
+- resolution: {integrity: sha512-FeVc50FTfVVQnolk/WQT8MX+2WVcDnTGiq6Wo+/+lJ2ET1bRVi3HG3YlJUfqagNMc/kUlFSoR96AJkxGpKz13g==}
+- engines: {node: '>=18'}
+- hasBin: true
++ mri@1.2.0:
++ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
++ engines: {node: '>=4'}
+
+- mrmime@2.0.1:
+- resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
++ mrmime@2.0.0:
++ resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
+ engines: {node: '>=10'}
+
++ ms@2.0.0:
++ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
++
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+@@ -6033,35 +5890,39 @@ packages:
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+- nanoid@5.1.5:
+- resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==}
+- engines: {node: ^18 || >=20}
++ nanoid@3.3.7:
++ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
++ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+- nanotar@0.2.0:
+- resolution: {integrity: sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==}
++ nanoid@3.3.8:
++ resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
++ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
++ hasBin: true
+
+- napi-postinstall@0.3.2:
+- resolution: {integrity: sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw==}
+- engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
++ nanoid@5.0.7:
++ resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==}
++ engines: {node: ^18 || >=20}
+ hasBin: true
+
++ nanotar@0.1.1:
++ resolution: {integrity: sha512-AiJsGsSF3O0havL1BydvI4+wR76sKT+okKRwWIaK96cZUnXqH0uNBOsHlbwZq3+m2BR1VKqHDVudl3gO4mYjpQ==}
++
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
++ neo-async@2.6.2:
++ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
++
+ neotraverse@0.6.18:
+ resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==}
+ engines: {node: '>= 10'}
+
+- netlify@13.3.5:
+- resolution: {integrity: sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==}
+- engines: {node: ^14.16.0 || >=16.0.0}
+-
+ nice-try@1.0.5:
+ resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+
+- nitropack@2.12.4:
+- resolution: {integrity: sha512-MPmPRJWTeH03f/NmpN4q3iI3Woik4uaaWIoX34W3gMJiW06Vm1te/lPzuu5EXpXOK7Q2m3FymGMPXcExqih96Q==}
++ nitropack@2.10.4:
++ resolution: {integrity: sha512-sJiG/MIQlZCVSw2cQrFG1H6mLeSqHlYfFerRjLKz69vUfdu0EL2l0WdOxlQbzJr3mMv/l4cOlCCLzVRzjzzF/g==}
+ engines: {node: ^16.11.0 || >=17.0.0}
+ hasBin: true
+ peerDependencies:
+@@ -6076,16 +5937,15 @@ packages:
+ no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+
+- node-addon-api@7.1.1:
+- resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
++ node-addon-api@7.1.0:
++ resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==}
++ engines: {node: ^16 || ^18 || >= 20}
+
+- node-domexception@1.0.0:
+- resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+- engines: {node: '>=10.5.0'}
+- deprecated: Use your platform's native DOMException instead
++ node-fetch-native@1.6.4:
++ resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+
+- node-fetch-native@1.6.7:
+- resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
++ node-fetch-native@1.6.6:
++ resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==}
+
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+@@ -6096,49 +5956,36 @@ packages:
+ encoding:
+ optional: true
+
+- node-fetch@3.3.2:
+- resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
+- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+-
+ node-forge@1.3.1:
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
+ engines: {node: '>= 6.13.0'}
+
+- node-gyp-build@4.8.4:
+- resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==}
++ node-gyp-build@4.8.1:
++ resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==}
+ hasBin: true
+
+- node-mock-http@1.0.2:
+- resolution: {integrity: sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==}
++ node-mock-http@1.0.0:
++ resolution: {integrity: sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==}
++
++ node-releases@2.0.18:
++ resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+
+ node-releases@2.0.19:
+ resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+
+- node-source-walk@7.0.1:
+- resolution: {integrity: sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==}
+- engines: {node: '>=18'}
++ nopt@5.0.0:
++ resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
++ engines: {node: '>=6'}
++ hasBin: true
+
+ nopt@7.2.1:
+ resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+- nopt@8.1.0:
+- resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==}
+- engines: {node: ^18.17.0 || >=20.5.0}
+- hasBin: true
+-
+ normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+
+- normalize-package-data@6.0.2:
+- resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==}
+- engines: {node: ^16.14.0 || >=18.0.0}
+-
+- normalize-path@2.1.1:
+- resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
+- engines: {node: '>=0.10.0'}
+-
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+@@ -6147,41 +5994,58 @@ packages:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
++ not@0.1.0:
++ resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==}
++
+ npm-run-path@2.0.2:
+ resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
+ engines: {node: '>=4'}
+
++ npm-run-path@4.0.1:
++ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
++ engines: {node: '>=8'}
++
+ npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+- npm-run-path@6.0.0:
+- resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
+- engines: {node: '>=18'}
++ npmlog@5.0.1:
++ resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
++ deprecated: This package is no longer supported.
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+- nuxt@3.18.1:
+- resolution: {integrity: sha512-y2pLKty6R8MCCFlAUsJNJcOuT6M3EovzEpi7/U3WXQsnzf2MzP+5I67ScfmwSqZ3UUMgXvfc9H4+KC4Ifnq5wg==}
+- engines: {node: ^20.19.0 || >=22.12.0}
++ nuxi@3.16.0:
++ resolution: {integrity: sha512-t9m4zTq44R0/icuzQXJHEyPRM3YbgTPMpytyb6YW2LOL/3mwZ3Bmte1FIlCoigzDvxBJRbcchZGc689+Syyu8w==}
++ engines: {node: ^16.10.0 || >=18.0.0}
++ hasBin: true
++
++ nuxt@3.14.1592:
++ resolution: {integrity: sha512-roWAQH4Mb6WY72cNos+YVw0DgTCNAhNygiAMCedM7hbX6ESTR2n3VH7tU0yIWDPe/hfFdii4M4wWTTNHOtS44g==}
++ engines: {node: ^14.18.0 || >=16.10.0}
+ hasBin: true
+ peerDependencies:
+ '@parcel/watcher': ^2.1.0
+- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
++ '@types/node': ^14.18.0 || >=16.10.0
+ peerDependenciesMeta:
+ '@parcel/watcher':
+ optional: true
+ '@types/node':
+ optional: true
+
++ nypm@0.3.12:
++ resolution: {integrity: sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==}
++ engines: {node: ^14.16.0 || >=16.10.0}
++ hasBin: true
++
+ nypm@0.4.1:
+ resolution: {integrity: sha512-1b9mihliBh8UCcKtcGRu//G50iHpjxIQVUqkdhPT/SDVE7KdJKoHXLS0heuYTQCx95dFqiyUbXZB9r8ikn+93g==}
+ engines: {node: ^14.16.0 || >=16.10.0}
+ hasBin: true
+
+- nypm@0.6.1:
+- resolution: {integrity: sha512-hlacBiRiv1k9hZFiphPUkfSQ/ZfQzZDzC+8z0wL3lvDAOUu/2NnChkKuMoMjNur/9OpKuz2QsIeiPVN0xM5Q0w==}
++ nypm@0.6.0:
++ resolution: {integrity: sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==}
+ engines: {node: ^14.16.0 || >=16.10.0}
+ hasBin: true
+
+@@ -6204,16 +6068,12 @@ packages:
+ ofetch@1.4.1:
+ resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
+
+- ohash@1.1.6:
+- resolution: {integrity: sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==}
++ ohash@1.1.4:
++ resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==}
+
+ ohash@2.0.11:
+ resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
+
+- on-change@5.0.1:
+- resolution: {integrity: sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==}
+- engines: {node: '>=18'}
+-
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+@@ -6221,24 +6081,15 @@ packages:
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+- one-time@1.0.0:
+- resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==}
+-
+ onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+
+- oniguruma-parser@0.12.1:
+- resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
+-
+ oniguruma-to-es@2.3.0:
+ resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==}
+
+- oniguruma-to-es@4.3.3:
+- resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
+-
+- open@10.2.0:
+- resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
++ open@10.1.0:
++ resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
+ engines: {node: '>=18'}
+
+ open@8.4.2:
+@@ -6248,31 +6099,16 @@ packages:
+ openapi-types@12.1.3:
+ resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
+
++ openapi-typescript@7.4.4:
++ resolution: {integrity: sha512-7j3nktnRzlQdlHnHsrcr6Gqz8f80/RhfA2I8s1clPI+jkY0hLNmnYVKBfuUEli5EEgK1B6M+ibdS5REasPlsUw==}
++ hasBin: true
++ peerDependencies:
++ typescript: ^5.x
++
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+- oxc-minify@0.80.0:
+- resolution: {integrity: sha512-kMMb3dC8KlQ+Bzf/UhepYsq1ukorCOJu038rSxF7kTbsCLx1Ojet9Hc9gKqKR/Wpih5GWnOA2DvLe20ZtxbJ2Q==}
+- engines: {node: '>=14.0.0'}
+-
+- oxc-parser@0.80.0:
+- resolution: {integrity: sha512-lTEUQs+WBOXPUzMR/tWY4yT9D7xXwnENtRR7Epw/QcuYpV4fRveEA+zq8IGUwyyuWecl8jHrddCCuadw+kZOSA==}
+- engines: {node: '>=20.0.0'}
+-
+- oxc-transform@0.80.0:
+- resolution: {integrity: sha512-hWusSpynsn4MZP1KJa7e254xyVmowTUshvttpk7JfTt055YEJ+ad6memMJ9GJqPeeyydfnwwKkLy6eiwDn12xA==}
+- engines: {node: '>=14.0.0'}
+-
+- oxc-walker@0.4.0:
+- resolution: {integrity: sha512-x5TJAZQD3kRnRBGZ+8uryMZUwkTYddwzBftkqyJIcmpBOXmoK/fwriRKATjZroR2d+aS7+2w1B0oz189bBTwfw==}
+- peerDependencies:
+- oxc-parser: '>=0.72.0'
+-
+- p-event@6.0.1:
+- resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==}
+- engines: {node: '>=16.17'}
+-
+ p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+@@ -6285,10 +6121,6 @@ packages:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+- p-limit@4.0.0:
+- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+-
+ p-limit@6.2.0:
+ resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==}
+ engines: {node: '>=18'}
+@@ -6301,43 +6133,28 @@ packages:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+- p-locate@6.0.0:
+- resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+-
+- p-map@7.0.3:
+- resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==}
+- engines: {node: '>=18'}
+-
+ p-queue@8.1.0:
+ resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==}
+ engines: {node: '>=18'}
+
+- p-timeout@6.1.4:
+- resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==}
++ p-timeout@6.1.2:
++ resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==}
+ engines: {node: '>=14.16'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+- p-wait-for@5.0.2:
+- resolution: {integrity: sha512-lwx6u1CotQYPVju77R+D0vFomni/AqRfqLmqQ8hekklqZ6gAY9rONh7lBQ0uxWMkC2AuX9b2DVAl8To0NyP1JA==}
+- engines: {node: '>=12'}
+-
+- package-json-from-dist@1.0.1:
+- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
++ package-json-from-dist@1.0.0:
++ resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
+
+- package-manager-detector@1.3.0:
+- resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==}
++ package-manager-detector@0.2.7:
++ resolution: {integrity: sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==}
+
+ pagefind@1.3.0:
+ resolution: {integrity: sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==}
+ hasBin: true
+
+- pako@0.2.9:
+- resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
+-
+ pako@1.0.11:
+ resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+
+@@ -6348,39 +6165,36 @@ packages:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+- parse-entities@4.0.2:
+- resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
++ parse-entities@4.0.1:
++ resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==}
+
+- parse-gitignore@2.0.0:
+- resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
+- engines: {node: '>=14'}
++ parse-git-config@3.0.0:
++ resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==}
++ engines: {node: '>=8'}
+
+- parse-imports-exports@0.2.4:
+- resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==}
++ parse-imports@2.2.1:
++ resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==}
++ engines: {node: '>= 18'}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+- parse-json@8.3.0:
+- resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==}
++ parse-json@8.1.0:
++ resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==}
+ engines: {node: '>=18'}
+
+ parse-latin@7.0.0:
+ resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
+
+- parse-path@7.1.0:
+- resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==}
++ parse-path@7.0.0:
++ resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==}
+
+- parse-statements@1.0.11:
+- resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==}
++ parse-url@8.1.0:
++ resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==}
+
+- parse-url@9.2.0:
+- resolution: {integrity: sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==}
+- engines: {node: '>=14.13.0'}
+-
+- parse5@7.3.0:
+- resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
++ parse5@7.1.2:
++ resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
+
+ parseley@0.12.1:
+ resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==}
+@@ -6399,10 +6213,6 @@ packages:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+- path-exists@5.0.0:
+- resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+-
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+@@ -6426,9 +6236,9 @@ packages:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
+- path-type@6.0.0:
+- resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==}
+- engines: {node: '>=18'}
++ path-type@5.0.0:
++ resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
++ engines: {node: '>=12'}
+
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+@@ -6439,9 +6249,6 @@ packages:
+ peberminta@0.9.0:
+ resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==}
+
+- pend@1.2.0:
+- resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
+-
+ perfect-debounce@1.0.0:
+ resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+
+@@ -6452,6 +6259,10 @@ packages:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
++ picomatch@4.0.2:
++ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
++ engines: {node: '>=12'}
++
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+@@ -6460,6 +6271,10 @@ packages:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
++ pify@4.0.1:
++ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
++ engines: {node: '>=6'}
++
+ pinia-plugin-persistedstate@4.4.1:
+ resolution: {integrity: sha512-lmuMPpXla2zJKjxEq34e1E9P9jxkWEhcVwwioCCE0izG45kkTOvQfCzvwhW3i38cvnaWC7T1eRdkd15Re59ldw==}
+ peerDependencies:
+@@ -6474,19 +6289,29 @@ packages:
+ pinia:
+ optional: true
+
+- pinia@2.3.1:
+- resolution: {integrity: sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==}
++ pinia@2.1.7:
++ resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==}
+ peerDependencies:
++ '@vue/composition-api': ^1.4.0
+ typescript: '>=4.4.4'
+- vue: ^2.7.0 || ^3.5.11
++ vue: ^2.6.14 || ^3.3.0
+ peerDependenciesMeta:
++ '@vue/composition-api':
++ optional: true
+ typescript:
+ optional: true
+
+- pirates@4.0.7:
+- resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
++ pirates@4.0.6:
++ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+
++ pkg-dir@4.2.0:
++ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
++ engines: {node: '>=8'}
++
++ pkg-types@1.2.1:
++ resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==}
++
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+@@ -6497,47 +6322,47 @@ packages:
+ resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
+ engines: {node: '>=4'}
+
+- postcss-calc@10.1.1:
+- resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==}
++ postcss-calc@10.0.2:
++ resolution: {integrity: sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==}
+ engines: {node: ^18.12 || ^20.9 || >=22.0}
+ peerDependencies:
+ postcss: ^8.4.38
+
+- postcss-colormin@7.0.4:
+- resolution: {integrity: sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==}
++ postcss-colormin@7.0.2:
++ resolution: {integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-convert-values@7.0.6:
+- resolution: {integrity: sha512-MD/eb39Mr60hvgrqpXsgbiqluawYg/8K4nKsqRsuDX9f+xN1j6awZCUv/5tLH8ak3vYp/EMXwdcnXvfZYiejCQ==}
++ postcss-convert-values@7.0.4:
++ resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-discard-comments@7.0.4:
+- resolution: {integrity: sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==}
++ postcss-discard-comments@7.0.3:
++ resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-discard-duplicates@7.0.2:
+- resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==}
++ postcss-discard-duplicates@7.0.1:
++ resolution: {integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-discard-empty@7.0.1:
+- resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==}
++ postcss-discard-empty@7.0.0:
++ resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-discard-overridden@7.0.1:
+- resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==}
++ postcss-discard-overridden@7.0.0:
++ resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+ postcss-import@15.1.0:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+@@ -6563,179 +6388,168 @@ packages:
+ ts-node:
+ optional: true
+
+- postcss-merge-longhand@7.0.5:
+- resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==}
++ postcss-merge-longhand@7.0.4:
++ resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-merge-rules@7.0.6:
+- resolution: {integrity: sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==}
++ postcss-merge-rules@7.0.4:
++ resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-minify-font-values@7.0.1:
+- resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==}
++ postcss-minify-font-values@7.0.0:
++ resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-minify-gradients@7.0.1:
+- resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==}
++ postcss-minify-gradients@7.0.0:
++ resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-minify-params@7.0.4:
+- resolution: {integrity: sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==}
++ postcss-minify-params@7.0.2:
++ resolution: {integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-minify-selectors@7.0.5:
+- resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==}
++ postcss-minify-selectors@7.0.4:
++ resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-nested@6.2.0:
+- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
++ postcss-nested@6.0.1:
++ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+
+- postcss-normalize-charset@7.0.1:
+- resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==}
++ postcss-normalize-charset@7.0.0:
++ resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-display-values@7.0.1:
+- resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==}
++ postcss-normalize-display-values@7.0.0:
++ resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-positions@7.0.1:
+- resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==}
++ postcss-normalize-positions@7.0.0:
++ resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-repeat-style@7.0.1:
+- resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==}
++ postcss-normalize-repeat-style@7.0.0:
++ resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-string@7.0.1:
+- resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==}
++ postcss-normalize-string@7.0.0:
++ resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-timing-functions@7.0.1:
+- resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==}
++ postcss-normalize-timing-functions@7.0.0:
++ resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-unicode@7.0.4:
+- resolution: {integrity: sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==}
++ postcss-normalize-unicode@7.0.2:
++ resolution: {integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-url@7.0.1:
+- resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==}
++ postcss-normalize-url@7.0.0:
++ resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-normalize-whitespace@7.0.1:
+- resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==}
++ postcss-normalize-whitespace@7.0.0:
++ resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-ordered-values@7.0.2:
+- resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==}
++ postcss-ordered-values@7.0.1:
++ resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-reduce-initial@7.0.4:
+- resolution: {integrity: sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==}
++ postcss-reduce-initial@7.0.2:
++ resolution: {integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-reduce-transforms@7.0.1:
+- resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==}
++ postcss-reduce-transforms@7.0.0:
++ resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+ postcss-selector-parser@6.1.2:
+ resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
+ engines: {node: '>=4'}
+
+- postcss-selector-parser@7.1.0:
+- resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
+- engines: {node: '>=4'}
+-
+- postcss-svgo@7.1.0:
+- resolution: {integrity: sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==}
++ postcss-svgo@7.0.1:
++ resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >= 18}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+- postcss-unique-selectors@7.0.4:
+- resolution: {integrity: sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==}
++ postcss-unique-selectors@7.0.3:
++ resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+- postcss-values-parser@6.0.2:
+- resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==}
+- engines: {node: '>=10'}
+- peerDependencies:
+- postcss: ^8.2.9
++ postcss@8.4.49:
++ resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
++ engines: {node: ^10 || ^12 || >=14}
++
++ postcss@8.5.3:
++ resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
++ engines: {node: ^10 || ^12 || >=14}
+
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+- posthog-js@1.258.6:
+- resolution: {integrity: sha512-vL5AGG+rOoRg3LGquMfBPO55jD4bGl0CiV44SHdHAoBnOVDDAqxczRGDqMdxor+VLx3/ofTFOJ2FNprfAHp70Q==}
+- peerDependencies:
+- '@rrweb/types': 2.0.0-alpha.17
+- rrweb-snapshot: 2.0.0-alpha.17
+- peerDependenciesMeta:
+- '@rrweb/types':
+- optional: true
+- rrweb-snapshot:
+- optional: true
++ posthog-js@1.158.2:
++ resolution: {integrity: sha512-ovb7GHHRNDf6vmuL+8lbDukewzDzQlLZXg3d475hrfHSBgidYeTxtLGtoBcUz4x6558BLDFjnSip+f3m4rV9LA==}
+
+- postprocessing@6.37.7:
+- resolution: {integrity: sha512-3mXzCyhHQvw6cMQKzvHUzQVsy21yC3PZMIeH7KUjx+EVqLWRFPnARh4DEnnFJ+tE08mmIHrrN7UtxVR1Gxbokw==}
++ postprocessing@6.37.6:
++ resolution: {integrity: sha512-KrdKLf1257RkoIk3z3nhRS0aToKrX2xJgtR0lbnOQUjd+1I4GVNv1gQYsQlfRglvEXjpzrwqOA5fXfoDBimadg==}
+ peerDependencies:
+- three: '>= 0.157.0 < 0.180.0'
++ three: '>= 0.157.0 < 0.179.0'
+
+ potpack@1.0.2:
+ resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
+
+- preact@10.27.0:
+- resolution: {integrity: sha512-/DTYoB6mwwgPytiqQTh/7SFRL98ZdiD8Sk8zIUVOxtwq4oWcwrcd1uno9fE/zZmUaUrFNYzbH14CPebOz9tZQw==}
++ preact@10.23.2:
++ resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==}
+
+- precinct@12.2.0:
+- resolution: {integrity: sha512-NFBMuwIfaJ4SocE9YXPU/n4AcNSoFMVFjP72nvl3cx69j/ke61/hPOWFREVxLkFhhEGnA8ZuVfTqJBa+PK3b5w==}
+- engines: {node: '>=18'}
+- hasBin: true
++ preferred-pm@4.1.1:
++ resolution: {integrity: sha512-rU+ZAv1Ur9jAUZtGPebQVQPzdGhNzaEiQ7VL9+cjsAWPHFYOccNXPNiev1CCDSOg/2j7UujM7ojNhpkuILEVNQ==}
++ engines: {node: '>=18.12'}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+@@ -6748,24 +6562,21 @@ packages:
+ prettier-plugin-sql-cst@0.13.0:
+ resolution: {integrity: sha512-F2NMvK/yD4BooQsNce8yyOjY5wWxJCpwaMfQEQCqkwFUmsvRsH5STGIgQILjbA1iwOsvYsJzRAEEl4hqp0aDRQ==}
+
+- prettier-plugin-tailwindcss@0.6.14:
+- resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==}
++ prettier-plugin-tailwindcss@0.6.5:
++ resolution: {integrity: sha512-axfeOArc/RiGHjOIy9HytehlC0ZLeMaqY09mm8YCkMzznKiDkwFzOpBvtuhuv3xG5qB73+Mj7OCe2j/L1ryfuQ==}
+ engines: {node: '>=14.21.3'}
+ peerDependencies:
+ '@ianvs/prettier-plugin-sort-imports': '*'
+- '@prettier/plugin-hermes': '*'
+- '@prettier/plugin-oxc': '*'
+ '@prettier/plugin-pug': '*'
+ '@shopify/prettier-plugin-liquid': '*'
+ '@trivago/prettier-plugin-sort-imports': '*'
+- '@zackad/prettier-plugin-twig': '*'
++ '@zackad/prettier-plugin-twig-melody': '*'
+ prettier: ^3.0
+ prettier-plugin-astro: '*'
+ prettier-plugin-css-order: '*'
+ prettier-plugin-import-sort: '*'
+ prettier-plugin-jsdoc: '*'
+ prettier-plugin-marko: '*'
+- prettier-plugin-multiline-arrays: '*'
+ prettier-plugin-organize-attributes: '*'
+ prettier-plugin-organize-imports: '*'
+ prettier-plugin-sort-imports: '*'
+@@ -6774,17 +6585,13 @@ packages:
+ peerDependenciesMeta:
+ '@ianvs/prettier-plugin-sort-imports':
+ optional: true
+- '@prettier/plugin-hermes':
+- optional: true
+- '@prettier/plugin-oxc':
+- optional: true
+ '@prettier/plugin-pug':
+ optional: true
+ '@shopify/prettier-plugin-liquid':
+ optional: true
+ '@trivago/prettier-plugin-sort-imports':
+ optional: true
+- '@zackad/prettier-plugin-twig':
++ '@zackad/prettier-plugin-twig-melody':
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+@@ -6796,8 +6603,6 @@ packages:
+ optional: true
+ prettier-plugin-marko:
+ optional: true
+- prettier-plugin-multiline-arrays:
+- optional: true
+ prettier-plugin-organize-attributes:
+ optional: true
+ prettier-plugin-organize-imports:
+@@ -6820,6 +6625,11 @@ packages:
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
++ prettier@3.3.2:
++ resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==}
++ engines: {node: '>=14'}
++ hasBin: true
++
+ prettier@3.6.2:
+ resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
+ engines: {node: '>=14'}
+@@ -6829,8 +6639,8 @@ packages:
+ resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+
+- prismjs@1.30.0:
+- resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
++ prismjs@1.29.0:
++ resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ engines: {node: '>=6'}
+
+ process-nextick-args@2.0.1:
+@@ -6847,17 +6657,17 @@ packages:
+ property-information@6.5.0:
+ resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+
+- property-information@7.1.0:
+- resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
++ property-information@7.0.0:
++ resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
+
+ proto-list@1.2.4:
+ resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
+
+- protocols@2.0.2:
+- resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==}
++ protocols@2.0.1:
++ resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
+
+- pump@3.0.3:
+- resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
++ pump@3.0.2:
++ resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==}
+
+ punycode.js@2.3.1:
+ resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
+@@ -6867,8 +6677,8 @@ packages:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+- qrcode.vue@3.6.0:
+- resolution: {integrity: sha512-vQcl2fyHYHMjDO1GguCldJxepq2izQjBkDEEu9NENgfVKP6mv/e2SU62WbqYHGwTgWXLhxZ1NCD1dAZKHQq1fg==}
++ qrcode.vue@3.4.1:
++ resolution: {integrity: sha512-wq/zHsifH4FJ1GXQi8/wNxD1KfQkckIpjK1KPTc/qwYU5/Bkd4me0w4xZSg6EXk6xLBkVDE0zxVagewv5EMAVA==}
+ peerDependencies:
+ vue: ^3.0.0
+
+@@ -6882,8 +6692,8 @@ packages:
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+- quote-unquote@1.0.0:
+- resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==}
++ queue-tick@1.0.1:
++ resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
+
+ radix3@1.1.2:
+ resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
+@@ -6898,13 +6708,13 @@ packages:
+ rc9@2.1.2:
+ resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
+
++ react@19.1.1:
++ resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==}
++ engines: {node: '>=0.10.0'}
++
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+
+- read-package-up@11.0.0:
+- resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==}
+- engines: {node: '>=18'}
+-
+ read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+@@ -6913,10 +6723,6 @@ packages:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+
+- read-pkg@9.0.1:
+- resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==}
+- engines: {node: '>=18'}
+-
+ readable-stream@1.0.34:
+ resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
+
+@@ -6927,8 +6733,8 @@ packages:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+- readable-stream@4.7.0:
+- resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==}
++ readable-stream@4.5.2:
++ resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ readdir-glob@1.1.3:
+@@ -6938,17 +6744,15 @@ packages:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+- readdirp@4.1.2:
+- resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+- engines: {node: '>= 14.18.0'}
++ readdirp@4.0.2:
++ resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
++ engines: {node: '>= 14.16.0'}
+
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+- recma-jsx@1.0.1:
+- resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+- peerDependencies:
+- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
++ recma-jsx@1.0.0:
++ resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==}
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+@@ -6968,21 +6772,18 @@ packages:
+ resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
++ regenerator-runtime@0.14.1:
++ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
++
+ regex-recursion@5.1.1:
+ resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==}
+
+- regex-recursion@6.0.2:
+- resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+-
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@5.1.1:
+ resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==}
+
+- regex@6.0.1:
+- resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+-
+ regexp-ast-analysis@0.7.1:
+ resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+@@ -7001,11 +6802,14 @@ packages:
+ rehype-expressive-code@0.40.2:
+ resolution: {integrity: sha512-+kn+AMGCrGzvtH8Q5lC6Y5lnmTV/r33fdmi5QU/IH1KPHKobKr5UnLwJuqHv5jBTSN/0v2wLDS7RTM73FVzqmQ==}
+
+- rehype-format@5.0.1:
+- resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==}
++ rehype-format@5.0.0:
++ resolution: {integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==}
++
++ rehype-minify-whitespace@6.0.0:
++ resolution: {integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==}
+
+- rehype-parse@9.0.1:
+- resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
++ rehype-parse@9.0.0:
++ resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==}
+
+ rehype-raw@7.0.0:
+ resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
+@@ -7013,9 +6817,15 @@ packages:
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
++ rehype-stringify@10.0.0:
++ resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==}
++
+ rehype-stringify@10.0.1:
+ resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
+
++ rehype@13.0.1:
++ resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==}
++
+ rehype@13.0.2:
+ resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==}
+
+@@ -7023,20 +6833,23 @@ packages:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+
+- remark-directive@3.0.1:
+- resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==}
++ remark-directive@3.0.0:
++ resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==}
+
+- remark-gfm@4.0.1:
+- resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
++ remark-gfm@4.0.0:
++ resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
+
+- remark-mdx@3.1.0:
+- resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
++ remark-mdx@3.0.1:
++ resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+- remark-rehype@11.1.2:
+- resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
++ remark-rehype@11.1.0:
++ resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==}
++
++ remark-rehype@11.1.1:
++ resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
+
+ remark-smartypants@3.0.2:
+ resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==}
+@@ -7045,9 +6858,6 @@ packages:
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+- remove-trailing-separator@1.1.0:
+- resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
+-
+ request-light@0.5.8:
+ resolution: {integrity: sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==}
+
+@@ -7062,9 +6872,6 @@ packages:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+- require-package-name@2.0.1:
+- resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==}
+-
+ resize-observer-polyfill@1.5.1:
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
+
+@@ -7079,23 +6886,15 @@ packages:
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+- resolve@1.22.10:
+- resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+- engines: {node: '>= 0.4'}
+- hasBin: true
+-
+- resolve@2.0.0-next.5:
+- resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
++ resolve@1.22.8:
++ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+
+- restructure@3.0.2:
+- resolution: {integrity: sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==}
+-
+ retext-latin@4.0.0:
+ resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
+
+- retext-smartypants@6.2.0:
+- resolution: {integrity: sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==}
++ retext-smartypants@6.1.1:
++ resolution: {integrity: sha512-onsHf34i/GzgElJgtT1K2V+31yEhWs7NJboKNxXJcmVMMPxLpgxZ9iADoMdydd6j/bHic5F/aNq0CGqElEtu2g==}
+
+ retext-stringify@4.0.0:
+ resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==}
+@@ -7103,8 +6902,8 @@ packages:
+ retext@9.0.0:
+ resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==}
+
+- reusify@1.1.0:
+- resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
++ reusify@1.0.4:
++ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rfdc@1.4.1:
+@@ -7115,21 +6914,28 @@ packages:
+ deprecated: Rimraf versions prior to v4 are no longer supported
+ hasBin: true
+
+- rollup-plugin-visualizer@6.0.3:
+- resolution: {integrity: sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw==}
+- engines: {node: '>=18'}
++ rollup-plugin-visualizer@5.12.0:
++ resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
++ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+- rolldown: 1.x || ^1.0.0-beta
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+- rolldown:
+- optional: true
+ rollup:
+ optional: true
+
+- rollup@4.46.2:
+- resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==}
++ rollup@3.29.4:
++ resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
++ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
++ hasBin: true
++
++ rollup@4.28.1:
++ resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==}
++ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
++ hasBin: true
++
++ rollup@4.34.9:
++ resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+@@ -7149,18 +6955,22 @@ packages:
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+- safe-stable-stringify@2.5.0:
+- resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
+- engines: {node: '>=10'}
+-
+- sass@1.90.0:
+- resolution: {integrity: sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==}
++ sass@1.77.6:
++ resolution: {integrity: sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ sax@1.4.1:
+ resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
+
++ schema-utils@3.3.0:
++ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
++ engines: {node: '>= 10.13.0'}
++
++ schema-utils@4.3.2:
++ resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==}
++ engines: {node: '>= 10.13.0'}
++
+ scslre@0.3.0:
+ resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
+ engines: {node: ^14.0.0 || >=16.0.0}
+@@ -7183,14 +6993,24 @@ packages:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
++ semver@7.6.3:
++ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
++ engines: {node: '>=10'}
++ hasBin: true
++
++ semver@7.7.1:
++ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
++ engines: {node: '>=10'}
++ hasBin: true
++
+ semver@7.7.2:
+ resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+- send@1.2.0:
+- resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
+- engines: {node: '>= 18'}
++ send@0.19.0:
++ resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
++ engines: {node: '>= 0.8.0'}
+
+ serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+@@ -7198,9 +7018,12 @@ packages:
+ serve-placeholder@2.0.2:
+ resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==}
+
+- serve-static@2.2.0:
+- resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==}
+- engines: {node: '>= 18'}
++ serve-static@1.16.2:
++ resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
++ engines: {node: '>= 0.8.0'}
++
++ set-blocking@2.0.0:
++ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+@@ -7232,16 +7055,12 @@ packages:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+- shell-quote@1.8.3:
+- resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
+- engines: {node: '>= 0.4'}
++ shell-quote@1.8.1:
++ resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+
+ shiki@1.29.2:
+ resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==}
+
+- shiki@3.9.2:
+- resolution: {integrity: sha512-t6NKl5e/zGTvw/IyftLcumolgOczhuroqwXngDeMqJ3h3EQiTY/7wmfgPlsmloD8oYfqkEDqxiaH37Pjm1zUhQ==}
+-
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+@@ -7265,14 +7084,14 @@ packages:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+- simple-git@3.28.0:
+- resolution: {integrity: sha512-Rs/vQRwsn1ILH1oBUy8NucJlXmnnLeLCfcvbSehkPzbv3wwoFWIdtfd6Ndo6ZPhlPsCZ60CPI4rxurnwAa+a2w==}
++ simple-git@3.27.0:
++ resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==}
+
+ simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+
+- sirv@3.0.1:
+- resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
++ sirv@3.0.0:
++ resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==}
+ engines: {node: '>=18'}
+
+ sisteransi@1.0.5:
+@@ -7287,11 +7106,14 @@ packages:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
+
++ slashes@3.0.12:
++ resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==}
++
+ smob@1.5.0:
+ resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
+
+- smol-toml@1.4.1:
+- resolution: {integrity: sha512-CxdwHXyYTONGHThDbq5XdwbFsuY4wlClRGejfE2NtwUtiHYsP1QtNsHb/hnj31jKYSchztJsaA8pSQoVzkfCFg==}
++ smol-toml@1.3.1:
++ resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==}
+ engines: {node: '>= 18'}
+
+ source-map-js@1.2.1:
+@@ -7305,9 +7127,9 @@ packages:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+- source-map@0.7.6:
+- resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+- engines: {node: '>= 12'}
++ source-map@0.7.4:
++ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
++ engines: {node: '>= 8'}
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+@@ -7324,8 +7146,8 @@ packages:
+ spdx-expression-parse@4.0.0:
+ resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
+
+- spdx-license-ids@3.0.22:
+- resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==}
++ spdx-license-ids@3.0.18:
++ resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==}
+
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+@@ -7337,18 +7159,14 @@ packages:
+ sql-parser-cst@0.33.1:
+ resolution: {integrity: sha512-7PHLI98bo86S740GQWlerh9GHu10dbMqDo1jBCXVlGB/nc55WgIAeoVrp0jzgK+WikycE9iGUUKkSuFNxj8w3Q==}
+
+- stable-hash-x@0.2.0:
+- resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==}
+- engines: {node: '>=12.0.0'}
+-
+- stack-trace@0.0.10:
+- resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==}
++ stable-hash@0.0.4:
++ resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==}
+
+ standard-as-callback@2.1.0:
+ resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==}
+
+- starlight-openapi@0.14.4:
+- resolution: {integrity: sha512-aTcvDGLmCfrWs6TZhU5GUi86Yli7SIe9T1WCb70ARj06/M+1hx1t4PkIzRtD7uLewC5NWLqWLnO1ZZCJUL0cXA==}
++ starlight-openapi@0.14.0:
++ resolution: {integrity: sha512-th8SXIw68x5h3zjgB0d55PqUfWPreauJcU17WW/qJF8dDOUuGERG1mnZ673AvGzY8/nrNtn/yR1n3Pz6RbwN7Q==}
+ engines: {node: '>=18.17.1'}
+ peerDependencies:
+ '@astrojs/markdown-remark': '>=6.0.1'
+@@ -7368,9 +7186,8 @@ packages:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
+- statuses@2.0.2:
+- resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
+- engines: {node: '>= 0.8'}
++ std-env@3.8.0:
++ resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
+
+ std-env@3.9.0:
+ resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+@@ -7378,8 +7195,8 @@ packages:
+ stream-replace-string@2.0.0:
+ resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==}
+
+- streamx@2.22.1:
+- resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==}
++ streamx@2.18.0:
++ resolution: {integrity: sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+@@ -7417,6 +7234,10 @@ packages:
+ resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
+ engines: {node: '>=0.10.0'}
+
++ strip-bom@3.0.0:
++ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
++ engines: {node: '>=4'}
++
+ strip-eof@1.0.0:
+ resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
+ engines: {node: '>=0.10.0'}
+@@ -7439,8 +7260,8 @@ packages:
+ strip-literal@3.0.0:
+ resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
+
+- stripe@18.4.0:
+- resolution: {integrity: sha512-LKFeDnDYo4U/YzNgx2Lc9PT9XgKN0JNF1iQwZxgkS4lOw5NunWCnzyH5RhTlD3clIZnf54h7nyMWkS8VXPmtTQ==}
++ stripe@18.1.1:
++ resolution: {integrity: sha512-hlF0ripc2nJrihpsJZQDl3xirS7tpdpS7DlmSNLEDRW8j7Qr215y5DHOI3+aEY/lq6PG8y4GR1RZPtEoIoAs/g==}
+ engines: {node: '>=12.*'}
+ peerDependencies:
+ '@types/node': '>=12.x.x'
+@@ -7448,45 +7269,49 @@ packages:
+ '@types/node':
+ optional: true
+
+- structured-clone-es@1.0.0:
+- resolution: {integrity: sha512-FL8EeKFFyNQv5cMnXI31CIMCsFarSVI2bF0U0ImeNE3g/F1IvJQyqzOXxPBRXiwQfyBTlbNe88jh1jFW0O/jiQ==}
+-
+ style-mod@4.1.2:
+ resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==}
+
+- style-to-js@1.1.17:
+- resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==}
++ style-to-object@0.4.4:
++ resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
+
+- style-to-object@1.0.9:
+- resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==}
++ style-to-object@1.0.7:
++ resolution: {integrity: sha512-uSjr59G5u6fbxUfKbb8GcqMGT3Xs9v5IbPkjb0S16GyOeBLAzSRK0CixBv5YrYvzO6TDLzIS6QCn78tkqWngPw==}
+
+- stylehacks@7.0.6:
+- resolution: {integrity: sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==}
++ stylehacks@7.0.4:
++ resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==}
+ engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
+ peerDependencies:
+- postcss: ^8.4.32
++ postcss: ^8.4.31
+
+ sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+- superjson@2.2.2:
+- resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
++ superjson@2.2.1:
++ resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==}
+ engines: {node: '>=16'}
+
+- supports-color@10.1.0:
+- resolution: {integrity: sha512-GBuewsPrhJPftT+fqDa9oI/zc5HNsG9nREqwzoSFDOIqf0NggOZbHQj2TE1P1CDJK8ZogFnlZY9hWoUiur7I/A==}
+- engines: {node: '>=18'}
+-
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
++ supports-color@8.1.1:
++ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
++ engines: {node: '>=10'}
++
++ supports-color@9.4.0:
++ resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==}
++ engines: {node: '>=12'}
++
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
++ svg-tags@1.0.0:
++ resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
++
+ svg.draggable.js@2.2.2:
+ resolution: {integrity: sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==}
+ engines: {node: '>= 0.8.0'}
+@@ -7523,24 +7348,27 @@ packages:
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+- svgo@4.0.0:
+- resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==}
+- engines: {node: '>=16'}
+- hasBin: true
+-
+ synckit@0.11.11:
+ resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+
++ synckit@0.9.1:
++ resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==}
++ engines: {node: ^14.18.0 || >=16.0.0}
++
+ system-architecture@0.1.0:
+ resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==}
+ engines: {node: '>=18'}
+
+- tailwindcss@3.4.17:
+- resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
++ tailwindcss@3.4.4:
++ resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
++ tapable@2.2.1:
++ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
++ engines: {node: '>=6'}
++
+ tapable@2.2.2:
+ resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
+ engines: {node: '>=6'}
+@@ -7548,20 +7376,38 @@ packages:
+ tar-stream@3.1.7:
+ resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
+
+- tar@7.4.3:
+- resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
+- engines: {node: '>=18'}
++ tar@6.2.1:
++ resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
++ engines: {node: '>=10'}
++
++ terser-webpack-plugin@5.3.14:
++ resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
++ engines: {node: '>= 10.13.0'}
++ peerDependencies:
++ '@swc/core': '*'
++ esbuild: '*'
++ uglify-js: '*'
++ webpack: ^5.1.0
++ peerDependenciesMeta:
++ '@swc/core':
++ optional: true
++ esbuild:
++ optional: true
++ uglify-js:
++ optional: true
++
++ terser@5.42.0:
++ resolution: {integrity: sha512-UYCvU9YQW2f/Vwl+P0GfhxJxbUGLwd+5QrrGgLajzWAtC/23AX0vcise32kkP7Eu0Wu9VlzzHAXkLObgjQfFlQ==}
++ engines: {node: '>=10'}
++ hasBin: true
+
+ terser@5.43.1:
+ resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+- text-decoder@1.2.3:
+- resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
+-
+- text-hex@1.0.0:
+- resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==}
++ text-decoder@1.1.0:
++ resolution: {integrity: sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw==}
+
+ text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+@@ -7596,29 +7442,27 @@ packages:
+ through2@0.6.5:
+ resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
+
+- tiny-inflate@1.0.3:
+- resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
+-
+ tiny-invariant@1.3.3:
+ resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+
++ tinyexec@0.3.1:
++ resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==}
++
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
+- tinyexec@1.0.1:
+- resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
++ tinyglobby@0.2.10:
++ resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
++ engines: {node: '>=12.0.0'}
++
++ tinyglobby@0.2.12:
++ resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==}
++ engines: {node: '>=12.0.0'}
+
+ tinyglobby@0.2.14:
+ resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
+ engines: {node: '>=12.0.0'}
+
+- tmp-promise@3.0.3:
+- resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==}
+-
+- tmp@0.2.4:
+- resolution: {integrity: sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==}
+- engines: {node: '>=14.14'}
+-
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+@@ -7627,9 +7471,6 @@ packages:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
+- toml@3.0.0:
+- resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==}
+-
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+@@ -7640,13 +7481,15 @@ packages:
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+- triple-beam@1.4.1:
+- resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==}
+- engines: {node: '>= 14.0.0'}
+-
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
++ ts-api-utils@1.3.0:
++ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
++ engines: {node: '>=16'}
++ peerDependencies:
++ typescript: '>=4.2.0'
++
+ ts-api-utils@2.1.0:
+ resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ engines: {node: '>=18.12'}
+@@ -7656,8 +7499,8 @@ packages:
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
+- tsconfck@3.1.6:
+- resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==}
++ tsconfck@3.1.5:
++ resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ peerDependencies:
+@@ -7666,41 +7509,41 @@ packages:
+ typescript:
+ optional: true
+
+- tslib@2.8.1:
+- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
++ tslib@2.6.3:
++ resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
+
+- turbo-darwin-64@2.5.5:
+- resolution: {integrity: sha512-RYnTz49u4F5tDD2SUwwtlynABNBAfbyT2uU/brJcyh5k6lDLyNfYKdKmqd3K2ls4AaiALWrFKVSBsiVwhdFNzQ==}
++ turbo-darwin-64@2.5.4:
++ resolution: {integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==}
+ cpu: [x64]
+ os: [darwin]
+
+- turbo-darwin-arm64@2.5.5:
+- resolution: {integrity: sha512-Tk+ZeSNdBobZiMw9aFypQt0DlLsWSFWu1ymqsAdJLuPoAH05qCfYtRxE1pJuYHcJB5pqI+/HOxtJoQ40726Btw==}
++ turbo-darwin-arm64@2.5.4:
++ resolution: {integrity: sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==}
+ cpu: [arm64]
+ os: [darwin]
+
+- turbo-linux-64@2.5.5:
+- resolution: {integrity: sha512-2/XvMGykD7VgsvWesZZYIIVXMlgBcQy+ZAryjugoTcvJv8TZzSU/B1nShcA7IAjZ0q7OsZ45uP2cOb8EgKT30w==}
++ turbo-linux-64@2.5.4:
++ resolution: {integrity: sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==}
+ cpu: [x64]
+ os: [linux]
+
+- turbo-linux-arm64@2.5.5:
+- resolution: {integrity: sha512-DW+8CjCjybu0d7TFm9dovTTVg1VRnlkZ1rceO4zqsaLrit3DgHnN4to4uwyuf9s2V/BwS3IYcRy+HG9BL596Iw==}
++ turbo-linux-arm64@2.5.4:
++ resolution: {integrity: sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==}
+ cpu: [arm64]
+ os: [linux]
+
+- turbo-windows-64@2.5.5:
+- resolution: {integrity: sha512-q5p1BOy8ChtSZfULuF1BhFMYIx6bevXu4fJ+TE/hyNfyHJIfjl90Z6jWdqAlyaFLmn99X/uw+7d6T/Y/dr5JwQ==}
++ turbo-windows-64@2.5.4:
++ resolution: {integrity: sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==}
+ cpu: [x64]
+ os: [win32]
+
+- turbo-windows-arm64@2.5.5:
+- resolution: {integrity: sha512-AXbF1KmpHUq3PKQwddMGoKMYhHsy5t1YBQO8HZ04HLMR0rWv9adYlQ8kaeQJTko1Ay1anOBFTqaxfVOOsu7+1Q==}
++ turbo-windows-arm64@2.5.4:
++ resolution: {integrity: sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==}
+ cpu: [arm64]
+ os: [win32]
+
+- turbo@2.5.5:
+- resolution: {integrity: sha512-eZ7wI6KjtT1eBqCnh2JPXWNUAxtoxxfi6VdBdZFvil0ychCOTxbm7YLRBi1JSt7U3c+u3CLxpoPxLdvr/Npr3A==}
++ turbo@2.5.4:
++ resolution: {integrity: sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==}
+ hasBin: true
+
+ type-check@0.4.0:
+@@ -7711,6 +7554,10 @@ packages:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
++ type-fest@0.21.3:
++ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
++ engines: {node: '>=10'}
++
+ type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+@@ -7719,28 +7566,35 @@ packages:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
+
+- type-fest@4.41.0:
+- resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
++ type-fest@4.30.0:
++ resolution: {integrity: sha512-G6zXWS1dLj6eagy6sVhOMQiLtJdxQBHIA9Z6HFUNLOlr6MFOgzV8wvmidtPONfPtEUv0uZsy77XJNzTAfwPDaA==}
+ engines: {node: '>=16'}
+
+- type-level-regexp@0.1.17:
+- resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==}
+-
+ typesafe-path@0.2.2:
+ resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==}
+
+- typescript-auto-import-cache@0.3.6:
+- resolution: {integrity: sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==}
++ typescript-auto-import-cache@0.3.3:
++ resolution: {integrity: sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==}
+
+- typescript-eslint@8.39.1:
+- resolution: {integrity: sha512-GDUv6/NDYngUlNvwaHM1RamYftxf782IyEDbdj3SeaIHHv8fNQVRC++fITT7kUJV/5rIA/tkoRSSskt6osEfqg==}
++ typescript-eslint@8.38.0:
++ resolution: {integrity: sha512-FsZlrYK6bPDGoLeZRuvx2v6qrM03I0U0SnfCLPs/XCCPCFD80xU9Pg09H/K+XFa68uJuZo7l/Xhs+eDRg2l3hg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+- typescript: '>=4.8.4 <6.0.0'
++ typescript: '>=4.8.4 <5.9.0'
++
++ typescript@5.5.4:
++ resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
++ engines: {node: '>=14.17'}
++ hasBin: true
++
++ typescript@5.8.2:
++ resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
++ engines: {node: '>=14.17'}
++ hasBin: true
+
+- typescript@5.9.2:
+- resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
++ typescript@5.8.3:
++ resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+@@ -7750,49 +7604,45 @@ packages:
+ uc.micro@2.1.0:
+ resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+
++ ufo@1.5.4:
++ resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
++
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+- ultrahtml@1.6.0:
+- resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==}
++ ultrahtml@1.5.3:
++ resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==}
+
+ uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+
++ unctx@2.3.1:
++ resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==}
++
+ unctx@2.4.1:
+ resolution: {integrity: sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==}
+
+- undici-types@6.21.0:
+- resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+-
+- unenv@2.0.0-rc.19:
+- resolution: {integrity: sha512-t/OMHBNAkknVCI7bVB9OWjUUAwhVv9vsPIAGnNUxnu3FxPQN11rjh0sksLMzc3g7IlTgvHmOTl4JM7JHpcv5wA==}
++ undici-types@5.26.5:
++ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
+- unhead@2.0.14:
+- resolution: {integrity: sha512-dRP6OCqtShhMVZQe1F4wdt/WsYl2MskxKK+cvfSo0lQnrPJ4oAUQEkxRg7pPP+vJENabhlir31HwAyHUv7wfMg==}
++ undici-types@6.19.8:
++ resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+
+- unicode-properties@1.4.1:
+- resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==}
++ unenv@1.10.0:
++ resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==}
+
+- unicode-trie@2.0.0:
+- resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==}
++ unhead@1.11.13:
++ resolution: {integrity: sha512-I7yyvqRfpPPzXuCG7HKZkgAWJDbzXDDEVyib4C/78HREqhNGHVSyo4TqX1h1xB5cx7WYc21HHDRT2/8YkqOy2w==}
+
+ unicorn-magic@0.1.0:
+ resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
+ engines: {node: '>=18'}
+
+- unicorn-magic@0.3.0:
+- resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
+- engines: {node: '>=18'}
+-
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
+- unifont@0.5.2:
+- resolution: {integrity: sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg==}
+-
+- unimport@3.14.6:
+- resolution: {integrity: sha512-CYvbDaTT04Rh8bmD8jz3WPmHYZRG/NnvYVzwD6V1YAlvvKROlAeNDUBhkBGzNav2RKaeuXvlWYaa1V4Lfi/O0g==}
++ unimport@3.14.4:
++ resolution: {integrity: sha512-90jQsiS2D0vIrWg4U58do7B5Hr4q0qt9o/rS0TrDMzrvNuAQ7XF1sQ47Pe2zjVlvFWNkoPBb/2l2GJFy5XjqDg==}
+
+ unimport@5.2.0:
+ resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==}
+@@ -7832,36 +7682,76 @@ packages:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+- unixify@1.0.0:
+- resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==}
+- engines: {node: '>=0.10.0'}
+-
+- unplugin-utils@0.2.5:
+- resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==}
++ unplugin-utils@0.2.4:
++ resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==}
+ engines: {node: '>=18.12.0'}
+
+- unplugin-vue-router@0.15.0:
+- resolution: {integrity: sha512-PyGehCjd9Ny9h+Uer4McbBjjib3lHihcyUEILa7pHKl6+rh8N7sFyw4ZkV+N30Oq2zmIUG7iKs3qpL0r+gXAaQ==}
++ unplugin-vue-router@0.10.9:
++ resolution: {integrity: sha512-DXmC0GMcROOnCmN56GRvi1bkkG1BnVs4xJqNvucBUeZkmB245URvtxOfbo3H6q4SOUQQbLPYWd6InzvjRh363A==}
+ peerDependencies:
+- '@vue/compiler-sfc': ^3.5.17
+- vue-router: ^4.5.1
++ vue-router: ^4.4.0
+ peerDependenciesMeta:
+ vue-router:
+ optional: true
+
+- unplugin@1.16.1:
+- resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
++ unplugin@1.16.0:
++ resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==}
+ engines: {node: '>=14.0.0'}
+
++ unplugin@2.0.0-beta.1:
++ resolution: {integrity: sha512-2qzQo5LN2DmUZXkWDHvGKLF5BP0WN+KthD6aPnPJ8plRBIjv4lh5O07eYcSxgO2znNw9s4MNhEO1sB+JDllDbQ==}
++ engines: {node: '>=18.12.0'}
++
+ unplugin@2.3.5:
+ resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==}
+ engines: {node: '>=18.12.0'}
+
+- unrs-resolver@1.11.1:
+- resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==}
++ unstorage@1.13.1:
++ resolution: {integrity: sha512-ELexQHUrG05QVIM/iUeQNdl9FXDZhqLJ4yP59fnmn2jGUh0TEulwOgov1ubOb3Gt2ZGK/VMchJwPDNVEGWQpRg==}
++ peerDependencies:
++ '@azure/app-configuration': ^1.7.0
++ '@azure/cosmos': ^4.1.1
++ '@azure/data-tables': ^13.2.2
++ '@azure/identity': ^4.5.0
++ '@azure/keyvault-secrets': ^4.9.0
++ '@azure/storage-blob': ^12.25.0
++ '@capacitor/preferences': ^6.0.2
++ '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0
++ '@planetscale/database': ^1.19.0
++ '@upstash/redis': ^1.34.3
++ '@vercel/kv': ^1.0.1
++ idb-keyval: ^6.2.1
++ ioredis: ^5.4.1
++ peerDependenciesMeta:
++ '@azure/app-configuration':
++ optional: true
++ '@azure/cosmos':
++ optional: true
++ '@azure/data-tables':
++ optional: true
++ '@azure/identity':
++ optional: true
++ '@azure/keyvault-secrets':
++ optional: true
++ '@azure/storage-blob':
++ optional: true
++ '@capacitor/preferences':
++ optional: true
++ '@netlify/blobs':
++ optional: true
++ '@planetscale/database':
++ optional: true
++ '@upstash/redis':
++ optional: true
++ '@vercel/kv':
++ optional: true
++ idb-keyval:
++ optional: true
++ ioredis:
++ optional: true
+
+- unstorage@1.16.1:
+- resolution: {integrity: sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==}
++ unstorage@1.15.0:
++ resolution: {integrity: sha512-m40eHdGY/gA6xAPqo8eaxqXgBuzQTlAKfmB1iF7oCKXE1HfwHwzDJBywK+qQGn52dta+bPlZluPF7++yR3p/bg==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.8.0
+ '@azure/cosmos': ^4.2.0
+@@ -7869,9 +7759,9 @@ packages:
+ '@azure/identity': ^4.6.0
+ '@azure/keyvault-secrets': ^4.9.0
+ '@azure/storage-blob': ^12.26.0
+- '@capacitor/preferences': ^6.0.3 || ^7.0.0
++ '@capacitor/preferences': ^6.0.3
+ '@deno/kv': '>=0.9.0'
+- '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0
++ '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0
+ '@planetscale/database': ^1.19.0
+ '@upstash/redis': ^1.34.3
+ '@vercel/blob': '>=0.27.1'
+@@ -7923,6 +7813,10 @@ packages:
+ resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==}
+ hasBin: true
+
++ untyped@1.5.1:
++ resolution: {integrity: sha512-reBOnkJBFfBZ8pCKaeHgfZLcehXtM6UTxc+vqs1JvCps0c4amLNp3fhdGBZwYp+VLyoY9n3X5KOP7lCyWBUX9A==}
++ hasBin: true
++
+ untyped@2.0.0:
+ resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==}
+ hasBin: true
+@@ -7930,6 +7824,12 @@ packages:
+ unwasm@0.3.9:
+ resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==}
+
++ update-browserslist-db@1.1.1:
++ resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
++ hasBin: true
++ peerDependencies:
++ browserslist: '>= 4.21.0'
++
+ update-browserslist-db@1.1.3:
+ resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ hasBin: true
+@@ -7939,6 +7839,9 @@ packages:
+ uqr@0.1.2:
+ resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==}
+
++ uri-js-replace@1.0.1:
++ resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==}
++
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+@@ -7946,65 +7849,48 @@ packages:
+ resolution: {integrity: sha512-4oszoaEKE/mQOtAmdMWqIRHmkxWkUZMnXFnjQ5i01CuRSK3uluxcH1MRVVVWmhlnzT1SCDfKxxficm2G37qzCA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+- urlpattern-polyfill@10.1.0:
+- resolution: {integrity: sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==}
+-
+ urlpattern-polyfill@8.0.2:
+ resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==}
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+- uuid@11.1.0:
+- resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
+- hasBin: true
+-
+ validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+
+ vfile-location@5.0.3:
+ resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
+
+- vfile-message@4.0.3:
+- resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
++ vfile-message@4.0.2:
++ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+- vite-dev-rpc@1.1.0:
+- resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==}
+- peerDependencies:
+- vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0
+-
+- vite-hot-client@0.2.4:
+- resolution: {integrity: sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==}
++ vite-hot-client@0.2.3:
++ resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==}
+ peerDependencies:
+- vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0
++ vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0
+
+- vite-hot-client@2.1.0:
+- resolution: {integrity: sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==}
+- peerDependencies:
+- vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0
+-
+- vite-node@3.2.4:
+- resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
+- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
++ vite-node@2.1.8:
++ resolution: {integrity: sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==}
++ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+
+- vite-plugin-checker@0.10.2:
+- resolution: {integrity: sha512-FX9U8TnIS6AGOlqmC6O2YmkJzcZJRrjA03UF7FOhcUJ7it3HmCoxcIPMcoHliBP6EFOuNzle9K4c0JL4suRPow==}
++ vite-plugin-checker@0.8.0:
++ resolution: {integrity: sha512-UA5uzOGm97UvZRTdZHiQVYFnd86AVn8EVaD4L3PoVzxH+IZSfaAw14WGFwX9QS23UW3lV/5bVKZn6l0w+q9P0g==}
+ engines: {node: '>=14.16'}
+ peerDependencies:
+ '@biomejs/biome': '>=1.7'
+ eslint: '>=7'
+- meow: ^13.2.0
+- optionator: ^0.9.4
+- stylelint: '>=16'
++ meow: ^9.0.0
++ optionator: ^0.9.1
++ stylelint: '>=13'
+ typescript: '*'
+ vite: '>=2.0.0'
+ vls: '*'
+ vti: '*'
+- vue-tsc: ~2.2.10 || ^3.0.0
++ vue-tsc: ~2.1.6
+ peerDependenciesMeta:
+ '@biomejs/biome':
+ optional: true
+@@ -8035,42 +7921,25 @@ packages:
+ '@nuxt/kit':
+ optional: true
+
+- vite-plugin-inspect@11.3.2:
+- resolution: {integrity: sha512-nzwvyFQg58XSMAmKVLr2uekAxNYvAbz1lyPmCAFVIBncCgN9S/HPM+2UM9Q9cvc4JEbC5ZBgwLAdaE2onmQuKg==}
+- engines: {node: '>=14'}
+- peerDependencies:
+- '@nuxt/kit': '*'
+- vite: ^6.0.0 || ^7.0.0-0
+- peerDependenciesMeta:
+- '@nuxt/kit':
+- optional: true
+-
+- vite-plugin-vue-inspector@5.3.2:
+- resolution: {integrity: sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==}
+- peerDependencies:
+- vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0
+-
+- vite-plugin-vue-tracer@1.0.0:
+- resolution: {integrity: sha512-a+UB9IwGx5uwS4uG/a9kM6fCMnxONDkOTbgCUbhFpiGhqfxrrC1+9BibV7sWwUnwj1Dg6MnRxG0trLgUZslDXA==}
++ vite-plugin-vue-inspector@5.1.3:
++ resolution: {integrity: sha512-pMrseXIDP1Gb38mOevY+BvtNGNqiqmqa2pKB99lnLsADQww9w9xMbAfT4GB6RUoaOkSPrtlXqpq2Fq+Dj2AgFg==}
+ peerDependencies:
+- vite: ^6.0.0 || ^7.0.0
+- vue: ^3.5.0
++ vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0
+
+ vite-svg-loader@5.1.0:
+ resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==}
+ peerDependencies:
+ vue: '>=3.2.13'
+
+- vite@5.4.19:
+- resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==}
+- engines: {node: ^18.0.0 || >=20.0.0}
++ vite@4.5.3:
++ resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==}
++ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+- '@types/node': ^18.0.0 || >=20.0.0
++ '@types/node': '>= 14'
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+- sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+@@ -8083,8 +7952,6 @@ packages:
+ optional: true
+ sass:
+ optional: true
+- sass-embedded:
+- optional: true
+ stylus:
+ optional: true
+ sugarss:
+@@ -8092,27 +7959,22 @@ packages:
+ terser:
+ optional: true
+
+- vite@6.3.5:
+- resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
+- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
++ vite@5.4.11:
++ resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==}
++ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+- '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+- jiti: '>=1.21.0'
++ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+- terser: ^5.16.0
+- tsx: ^4.8.1
+- yaml: ^2.4.2
++ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+- jiti:
+- optional: true
+ less:
+ optional: true
+ lightningcss:
+@@ -8127,24 +7989,20 @@ packages:
+ optional: true
+ terser:
+ optional: true
+- tsx:
+- optional: true
+- yaml:
+- optional: true
+
+- vite@7.1.0:
+- resolution: {integrity: sha512-3jdAy3NhBJYsa/lCFcnRfbK4kNkO/bhijFCnv5ByUQk/eekYagoV2yQSISUrhpV+5JiY5hmwOh7jNnQ68dFMuQ==}
+- engines: {node: ^20.19.0 || >=22.12.0}
++ vite@6.2.0:
++ resolution: {integrity: sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==}
++ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+- '@types/node': ^20.19.0 || >=22.12.0
++ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ jiti: '>=1.21.0'
+- less: ^4.0.0
++ less: '*'
+ lightningcss: ^1.21.0
+- sass: ^1.70.0
+- sass-embedded: ^1.70.0
+- stylus: '>=0.54.8'
+- sugarss: ^5.0.0
++ sass: '*'
++ sass-embedded: '*'
++ stylus: '*'
++ sugarss: '*'
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+@@ -8172,10 +8030,10 @@ packages:
+ yaml:
+ optional: true
+
+- vitefu@1.1.1:
+- resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==}
++ vitefu@1.0.6:
++ resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==}
+ peerDependencies:
+- vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0
++ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
+ peerDependenciesMeta:
+ vite:
+ optional: true
+@@ -8239,11 +8097,11 @@ packages:
+ '@volar/language-service':
+ optional: true
+
+- vscode-css-languageservice@6.3.7:
+- resolution: {integrity: sha512-5TmXHKllPzfkPhW4UE9sODV3E0bIOJPOk+EERKllf2SmAczjfTmYeq5txco+N3jpF8KIZ6loj/JptpHBQuVQRA==}
++ vscode-css-languageservice@6.3.1:
++ resolution: {integrity: sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==}
+
+- vscode-html-languageservice@5.5.1:
+- resolution: {integrity: sha512-/ZdEtsZ3OiFSyL00kmmu7crFV9KwWR+MgpzjsxO60DQH7sIfHZM892C/E4iDd11EKocr+NYuvOA4Y7uc3QzLEA==}
++ vscode-html-languageservice@5.3.1:
++ resolution: {integrity: sha512-ysUh4hFeW/WOWz/TO9gm08xigiSsV/FOAZ+DolgJfeLftna54YdmZ4A+lIn46RbdO3/Qv5QHTn1ZGqmrXQhZyA==}
+
+ vscode-json-languageservice@4.1.8:
+ resolution: {integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==}
+@@ -8257,6 +8115,10 @@ packages:
+ resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
+ engines: {node: '>=14.0.0'}
+
++ vscode-languageclient@7.0.0:
++ resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==}
++ engines: {vscode: ^1.52.0}
++
+ vscode-languageserver-protocol@3.16.0:
+ resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==}
+
+@@ -8283,11 +8145,14 @@ packages:
+ vscode-nls@5.2.0:
+ resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
+
+- vscode-uri@3.1.0:
+- resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
++ vscode-uri@2.1.2:
++ resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==}
+
+- vue-bundle-renderer@2.1.2:
+- resolution: {integrity: sha512-M4WRBO/O/7G9phGaGH9AOwOnYtY9ZpPoDVpBpRzR2jO5rFL9mgIlQIgums2ljCTC2HL1jDXFQc//CzWcAQHgAw==}
++ vscode-uri@3.0.8:
++ resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
++
++ vue-bundle-renderer@2.1.1:
++ resolution: {integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==}
+
+ vue-confetti-explosion@1.0.2:
+ resolution: {integrity: sha512-80OboM3/6BItIoZ6DpNcZFqGpF607kjIVc5af56oKgtFmt5yWehvJeoYhkzYlqxrqdBe0Ko4Ie3bWrmLau+dJw==}
+@@ -8338,8 +8203,8 @@ packages:
+ peerDependencies:
+ vue: ^3.2.0
+
+- vue-router@4.5.1:
+- resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==}
++ vue-router@4.5.0:
++ resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==}
+ peerDependencies:
+ vue: ^3.2.0
+
+@@ -8348,8 +8213,8 @@ packages:
+ peerDependencies:
+ vue: 3.x
+
+- vue-tsc@2.2.12:
+- resolution: {integrity: sha512-P7OP77b2h/Pmk+lZdJ0YWs+5tJ6J2+uOQPo7tlBnY44QqQSPYvS0qVT4wqDJgwrZaLe47etJLLQRFia71GYITw==}
++ vue-tsc@2.1.6:
++ resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==}
+ hasBin: true
+ peerDependencies:
+ typescript: '>=5.0.0'
+@@ -8370,14 +8235,14 @@ packages:
+ ace-builds: '*'
+ vue: ^3
+
+- vue3-apexcharts@1.8.0:
+- resolution: {integrity: sha512-5tSD4mXTBbIJ9ir+58qHE6oNtIe0RNgqIRYMKpcsIaxkKtwUww4JhvPkpUFlmiW4OJbbdklgjleXq1lfcM4gdA==}
++ vue3-apexcharts@1.5.3:
++ resolution: {integrity: sha512-yaHTPoj0iVKAtEVg8wEwIwwvf0VG+lPYNufCf3txRzYQOqdKPoZaZ9P3Dj3X+2A1XY9O1kcTk9HVqvLo+rppvQ==}
+ peerDependencies:
+- apexcharts: '>=4.0.0'
+- vue: '>=3.0.0'
++ apexcharts: '> 3.0.0'
++ vue: '> 3.0.0'
+
+- vue@3.5.18:
+- resolution: {integrity: sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==}
++ vue@3.5.13:
++ resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+@@ -8387,22 +8252,36 @@ packages:
+ w3c-keyname@2.2.8:
+ resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
+
++ watchpack@2.4.4:
++ resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==}
++ engines: {node: '>=10.13.0'}
++
+ web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+
+- web-streams-polyfill@3.3.3:
+- resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
+- engines: {node: '>= 8'}
+-
+- web-vitals@4.2.4:
+- resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==}
++ web-vitals@4.2.3:
++ resolution: {integrity: sha512-/CFAm1mNxSmOj6i0Co+iGFJ58OS4NRGVP+AWS/l509uIK5a1bSoIVaHz/ZumpHTfHSZBpgrJ+wjfpAOrTHok5Q==}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
++ webpack-sources@3.3.3:
++ resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==}
++ engines: {node: '>=10.13.0'}
++
+ webpack-virtual-modules@0.6.2:
+ resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
+
++ webpack@5.92.1:
++ resolution: {integrity: sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==}
++ engines: {node: '>=10.13.0'}
++ hasBin: true
++ peerDependencies:
++ webpack-cli: '*'
++ peerDependenciesMeta:
++ webpack-cli:
++ optional: true
++
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+@@ -8410,6 +8289,10 @@ packages:
+ resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==}
+ engines: {node: '>=4'}
+
++ which-pm@3.0.1:
++ resolution: {integrity: sha512-v2JrMq0waAI4ju1xU5x3blsxBBMgdgZve580iYMN5frDaLGjbA24fok7wKCsya8KLVO19Ju4XDc5+zTZCJkQfg==}
++ engines: {node: '>=18.12'}
++
+ which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+@@ -8424,23 +8307,13 @@ packages:
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
+- which@5.0.0:
+- resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==}
+- engines: {node: ^18.17.0 || >=20.5.0}
+- hasBin: true
++ wide-align@1.1.5:
++ resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+
+ widest-line@5.0.0:
+ resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==}
+ engines: {node: '>=18'}
+
+- winston-transport@4.9.0:
+- resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==}
+- engines: {node: '>= 12.0.0'}
+-
+- winston@3.17.0:
+- resolution: {integrity: sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==}
+- engines: {node: '>= 12.0.0'}
+-
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+@@ -8460,12 +8333,8 @@ packages:
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+- write-file-atomic@6.0.0:
+- resolution: {integrity: sha512-GmqrO8WJ1NuzJ2DrziEI2o57jKAVIQNf8a18W3nCYU3H7PNWqCCVTeH6/NQE93CIllIgQS98rrmVkYgTX9fFJQ==}
+- engines: {node: ^18.17.0 || >=20.5.0}
+-
+- ws@8.18.3:
+- resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
++ ws@8.18.0:
++ resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+@@ -8476,10 +8345,6 @@ packages:
+ utf-8-validate:
+ optional: true
+
+- wsl-utils@0.1.0:
+- resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
+- engines: {node: '>=18'}
+-
+ xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+@@ -8514,9 +8379,11 @@ packages:
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+- yallist@5.0.0:
+- resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+- engines: {node: '>=18'}
++ yallist@4.0.0:
++ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
++
++ yaml-ast-parser@0.0.43:
++ resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==}
+
+ yaml-language-server@1.15.0:
+ resolution: {integrity: sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==}
+@@ -8526,8 +8393,13 @@ packages:
+ resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==}
+ engines: {node: '>= 14'}
+
+- yaml@2.8.1:
+- resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==}
++ yaml@2.6.1:
++ resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==}
++ engines: {node: '>= 14'}
++ hasBin: true
++
++ yaml@2.8.0:
++ resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
+@@ -8539,41 +8411,31 @@ packages:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+
+- yauzl@2.10.0:
+- resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
+-
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+- yocto-queue@1.2.1:
+- resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
++ yocto-queue@1.1.1:
++ resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==}
+ engines: {node: '>=12.20'}
+
+- yocto-spinner@0.2.3:
+- resolution: {integrity: sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==}
++ yocto-spinner@0.2.1:
++ resolution: {integrity: sha512-lHHxjh0bXaLgdJy3cNnVb/F9myx3CkhrvSOEVTkaUgNMXnYFa2xYPVhtGnqhh3jErY2gParBOHallCbc7NrlZQ==}
+ engines: {node: '>=18.19'}
+
+ yoctocolors@2.1.1:
+ resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
+ engines: {node: '>=18'}
+
+- youch-core@0.3.3:
+- resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==}
+-
+- youch@4.1.0-beta.11:
+- resolution: {integrity: sha512-sQi6PERyO/mT8w564ojOVeAlYTtVQmC2GaktQAf+IdI75/GKIggosBuvyVXvEV+FATAT6RbLdIjFoiIId4ozoQ==}
+-
+- youch@4.1.0-beta.8:
+- resolution: {integrity: sha512-rY2A2lSF7zC+l7HH9Mq+83D1dLlsPnEvy8jTouzaptDZM6geqZ3aJe/b7ULCwRURPtWV3vbDjA2DDMdoBol0HQ==}
+- engines: {node: '>=18'}
++ zhead@2.2.4:
++ resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==}
+
+ zip-stream@6.0.1:
+ resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
+ engines: {node: '>= 14'}
+
+- zod-to-json-schema@3.24.6:
+- resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==}
++ zod-to-json-schema@3.24.3:
++ resolution: {integrity: sha512-HIAfWdYIt1sssHfYZFCXp4rU1w2r8hVVXYIlmoa0r0gABLs5di3RCqPU5DDROogVz1pAdYBaz7HK5n9pSUNs3A==}
+ peerDependencies:
+ zod: ^3.24.1
+
+@@ -8583,8 +8445,11 @@ packages:
+ typescript: ^4.9.4 || ^5.0.2
+ zod: ^3
+
+- zod@3.25.76:
+- resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
++ zod@3.23.8:
++ resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
++
++ zod@3.24.2:
++ resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+@@ -8597,57 +8462,61 @@ snapshots:
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+- '@jridgewell/gen-mapping': 0.3.12
+- '@jridgewell/trace-mapping': 0.3.29
++ '@jridgewell/gen-mapping': 0.3.5
++ '@jridgewell/trace-mapping': 0.3.25
+
+ '@antfu/utils@0.7.10': {}
+
++ '@apidevtools/openapi-schemas@2.1.0': {}
++
+ '@apidevtools/swagger-methods@3.0.2': {}
+
+- '@astrojs/check@0.9.4(prettier@3.6.2)(typescript@5.9.2)':
++ '@astrojs/check@0.9.4(prettier@3.6.2)(typescript@5.8.2)':
+ dependencies:
+- '@astrojs/language-server': 2.15.4(prettier@3.6.2)(typescript@5.9.2)
+- chokidar: 4.0.3
++ '@astrojs/language-server': 2.15.4(prettier@3.6.2)(typescript@5.8.2)
++ chokidar: 4.0.1
+ kleur: 4.1.5
+- typescript: 5.9.2
++ typescript: 5.8.2
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - prettier
+ - prettier-plugin-astro
+
+- '@astrojs/compiler@2.12.2': {}
++ '@astrojs/compiler@2.10.3': {}
++
++ '@astrojs/compiler@2.10.4': {}
+
+- '@astrojs/internal-helpers@0.7.1': {}
++ '@astrojs/internal-helpers@0.6.0': {}
+
+- '@astrojs/language-server@2.15.4(prettier@3.6.2)(typescript@5.9.2)':
++ '@astrojs/language-server@2.15.4(prettier@3.6.2)(typescript@5.8.2)':
+ dependencies:
+- '@astrojs/compiler': 2.12.2
++ '@astrojs/compiler': 2.10.3
+ '@astrojs/yaml2ts': 0.2.2
+- '@jridgewell/sourcemap-codec': 1.5.4
+- '@volar/kit': 2.4.22(typescript@5.9.2)
+- '@volar/language-core': 2.4.22
+- '@volar/language-server': 2.4.22
+- '@volar/language-service': 2.4.22
+- fast-glob: 3.3.3
++ '@jridgewell/sourcemap-codec': 1.5.0
++ '@volar/kit': 2.4.11(typescript@5.8.2)
++ '@volar/language-core': 2.4.11
++ '@volar/language-server': 2.4.11
++ '@volar/language-service': 2.4.11
++ fast-glob: 3.3.2
+ muggle-string: 0.4.1
+- volar-service-css: 0.0.62(@volar/language-service@2.4.22)
+- volar-service-emmet: 0.0.62(@volar/language-service@2.4.22)
+- volar-service-html: 0.0.62(@volar/language-service@2.4.22)
+- volar-service-prettier: 0.0.62(@volar/language-service@2.4.22)(prettier@3.6.2)
+- volar-service-typescript: 0.0.62(@volar/language-service@2.4.22)
+- volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.22)
+- volar-service-yaml: 0.0.62(@volar/language-service@2.4.22)
+- vscode-html-languageservice: 5.5.1
+- vscode-uri: 3.1.0
++ volar-service-css: 0.0.62(@volar/language-service@2.4.11)
++ volar-service-emmet: 0.0.62(@volar/language-service@2.4.11)
++ volar-service-html: 0.0.62(@volar/language-service@2.4.11)
++ volar-service-prettier: 0.0.62(@volar/language-service@2.4.11)(prettier@3.6.2)
++ volar-service-typescript: 0.0.62(@volar/language-service@2.4.11)
++ volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.11)
++ volar-service-yaml: 0.0.62(@volar/language-service@2.4.11)
++ vscode-html-languageservice: 5.3.1
++ vscode-uri: 3.0.8
+ optionalDependencies:
+ prettier: 3.6.2
+ transitivePeerDependencies:
+ - typescript
+
+- '@astrojs/markdown-remark@6.3.5':
++ '@astrojs/markdown-remark@6.2.0':
+ dependencies:
+- '@astrojs/internal-helpers': 0.7.1
+- '@astrojs/prism': 3.3.0
++ '@astrojs/internal-helpers': 0.6.0
++ '@astrojs/prism': 3.2.0
+ github-slugger: 2.0.0
+ hast-util-from-html: 2.0.3
+ hast-util-to-text: 4.0.2
+@@ -8656,12 +8525,12 @@ snapshots:
+ mdast-util-definitions: 6.0.0
+ rehype-raw: 7.0.0
+ rehype-stringify: 10.0.1
+- remark-gfm: 4.0.1
++ remark-gfm: 4.0.0
+ remark-parse: 11.0.0
+- remark-rehype: 11.1.2
++ remark-rehype: 11.1.1
+ remark-smartypants: 3.0.2
+- shiki: 3.9.2
+- smol-toml: 1.4.1
++ shiki: 1.29.2
++ smol-toml: 1.3.1
+ unified: 11.0.5
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.0.0
+@@ -8670,70 +8539,70 @@ snapshots:
+ transitivePeerDependencies:
+ - supports-color
+
+- '@astrojs/mdx@4.3.3(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))':
++ '@astrojs/mdx@4.1.0(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))':
+ dependencies:
+- '@astrojs/markdown-remark': 6.3.5
+- '@mdx-js/mdx': 3.1.0(acorn@8.15.0)
+- acorn: 8.15.0
+- astro: 5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)
+- es-module-lexer: 1.7.0
++ '@astrojs/markdown-remark': 6.2.0
++ '@mdx-js/mdx': 3.1.0(acorn@8.14.0)
++ acorn: 8.14.0
++ astro: 5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)
++ es-module-lexer: 1.6.0
+ estree-util-visit: 2.0.0
+ hast-util-to-html: 9.0.5
+ kleur: 4.1.5
+ rehype-raw: 7.0.0
+- remark-gfm: 4.0.1
++ remark-gfm: 4.0.0
+ remark-smartypants: 3.0.2
+- source-map: 0.7.6
++ source-map: 0.7.4
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@astrojs/prism@3.3.0':
++ '@astrojs/prism@3.2.0':
+ dependencies:
+- prismjs: 1.30.0
++ prismjs: 1.29.0
+
+- '@astrojs/sitemap@3.4.2':
++ '@astrojs/sitemap@3.2.1':
+ dependencies:
+ sitemap: 8.0.0
+ stream-replace-string: 2.0.0
+- zod: 3.25.76
++ zod: 3.23.8
+
+- '@astrojs/starlight@0.32.6(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))':
++ '@astrojs/starlight@0.32.2(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))':
+ dependencies:
+- '@astrojs/mdx': 4.3.3(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))
+- '@astrojs/sitemap': 3.4.2
++ '@astrojs/mdx': 4.1.0(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))
++ '@astrojs/sitemap': 3.2.1
+ '@pagefind/default-ui': 1.3.0
+ '@types/hast': 3.0.4
+ '@types/js-yaml': 4.0.9
+ '@types/mdast': 4.0.4
+- astro: 5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)
+- astro-expressive-code: 0.40.2(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))
++ astro: 5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)
++ astro-expressive-code: 0.40.2(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))
+ bcp-47: 2.1.0
+- hast-util-from-html: 2.0.3
+- hast-util-select: 6.0.4
+- hast-util-to-string: 3.0.1
+- hastscript: 9.0.1
++ hast-util-from-html: 2.0.2
++ hast-util-select: 6.0.2
++ hast-util-to-string: 3.0.0
++ hastscript: 9.0.0
+ i18next: 23.16.8
+ js-yaml: 4.1.0
+ klona: 2.0.6
+- mdast-util-directive: 3.1.0
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-directive: 3.0.0
++ mdast-util-to-markdown: 2.1.0
+ mdast-util-to-string: 4.0.0
+ pagefind: 1.3.0
+- rehype: 13.0.2
+- rehype-format: 5.0.1
+- remark-directive: 3.0.1
++ rehype: 13.0.1
++ rehype-format: 5.0.0
++ remark-directive: 3.0.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@astrojs/telemetry@3.3.0':
++ '@astrojs/telemetry@3.2.0':
+ dependencies:
+- ci-info: 4.3.0
+- debug: 4.4.1
++ ci-info: 4.1.0
++ debug: 4.4.0(supports-color@9.4.0)
+ dlv: 1.1.3
+ dset: 3.1.4
+ is-docker: 3.0.0
+@@ -8744,317 +8613,296 @@ snapshots:
+
+ '@astrojs/yaml2ts@0.2.2':
+ dependencies:
+- yaml: 2.8.1
++ yaml: 2.6.1
+
+- '@babel/code-frame@7.27.1':
++ '@babel/code-frame@7.26.2':
+ dependencies:
+- '@babel/helper-validator-identifier': 7.27.1
++ '@babel/helper-validator-identifier': 7.25.9
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+- '@babel/compat-data@7.28.0': {}
++ '@babel/compat-data@7.26.3': {}
+
+- '@babel/core@7.28.0':
++ '@babel/core@7.26.0':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+- '@babel/code-frame': 7.27.1
+- '@babel/generator': 7.28.0
+- '@babel/helper-compilation-targets': 7.27.2
+- '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0)
+- '@babel/helpers': 7.28.2
+- '@babel/parser': 7.28.0
+- '@babel/template': 7.27.2
+- '@babel/traverse': 7.28.0
+- '@babel/types': 7.28.2
++ '@babel/code-frame': 7.26.2
++ '@babel/generator': 7.26.3
++ '@babel/helper-compilation-targets': 7.25.9
++ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
++ '@babel/helpers': 7.26.0
++ '@babel/parser': 7.26.3
++ '@babel/template': 7.25.9
++ '@babel/traverse': 7.26.4
++ '@babel/types': 7.26.3
+ convert-source-map: 2.0.0
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/generator@7.28.0':
++ '@babel/generator@7.26.3':
+ dependencies:
+- '@babel/parser': 7.28.0
+- '@babel/types': 7.28.2
+- '@jridgewell/gen-mapping': 0.3.12
+- '@jridgewell/trace-mapping': 0.3.29
+- jsesc: 3.1.0
++ '@babel/parser': 7.26.3
++ '@babel/types': 7.26.3
++ '@jridgewell/gen-mapping': 0.3.5
++ '@jridgewell/trace-mapping': 0.3.25
++ jsesc: 3.0.2
+
+- '@babel/helper-annotate-as-pure@7.27.3':
++ '@babel/helper-annotate-as-pure@7.25.9':
+ dependencies:
+- '@babel/types': 7.28.2
++ '@babel/types': 7.26.3
+
+- '@babel/helper-compilation-targets@7.27.2':
++ '@babel/helper-compilation-targets@7.25.9':
+ dependencies:
+- '@babel/compat-data': 7.28.0
+- '@babel/helper-validator-option': 7.27.1
+- browserslist: 4.25.1
++ '@babel/compat-data': 7.26.3
++ '@babel/helper-validator-option': 7.25.9
++ browserslist: 4.24.2
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+- '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0)':
++ '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-annotate-as-pure': 7.27.3
+- '@babel/helper-member-expression-to-functions': 7.27.1
+- '@babel/helper-optimise-call-expression': 7.27.1
+- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0)
+- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+- '@babel/traverse': 7.28.0
++ '@babel/core': 7.26.0
++ '@babel/helper-annotate-as-pure': 7.25.9
++ '@babel/helper-member-expression-to-functions': 7.25.9
++ '@babel/helper-optimise-call-expression': 7.25.9
++ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
++ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
++ '@babel/traverse': 7.26.4
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/helper-globals@7.28.0': {}
+-
+- '@babel/helper-member-expression-to-functions@7.27.1':
++ '@babel/helper-member-expression-to-functions@7.25.9':
+ dependencies:
+- '@babel/traverse': 7.28.0
+- '@babel/types': 7.28.2
++ '@babel/traverse': 7.26.4
++ '@babel/types': 7.26.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/helper-module-imports@7.27.1':
++ '@babel/helper-module-imports@7.25.9':
+ dependencies:
+- '@babel/traverse': 7.28.0
+- '@babel/types': 7.28.2
++ '@babel/traverse': 7.26.4
++ '@babel/types': 7.26.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)':
++ '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-module-imports': 7.27.1
+- '@babel/helper-validator-identifier': 7.27.1
+- '@babel/traverse': 7.28.0
++ '@babel/core': 7.26.0
++ '@babel/helper-module-imports': 7.25.9
++ '@babel/helper-validator-identifier': 7.25.9
++ '@babel/traverse': 7.26.4
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/helper-optimise-call-expression@7.27.1':
++ '@babel/helper-optimise-call-expression@7.25.9':
+ dependencies:
+- '@babel/types': 7.28.2
++ '@babel/types': 7.26.3
+
+- '@babel/helper-plugin-utils@7.27.1': {}
++ '@babel/helper-plugin-utils@7.25.9': {}
+
+- '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)':
++ '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-member-expression-to-functions': 7.27.1
+- '@babel/helper-optimise-call-expression': 7.27.1
+- '@babel/traverse': 7.28.0
++ '@babel/core': 7.26.0
++ '@babel/helper-member-expression-to-functions': 7.25.9
++ '@babel/helper-optimise-call-expression': 7.25.9
++ '@babel/traverse': 7.26.4
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
++ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
+ dependencies:
+- '@babel/traverse': 7.28.0
+- '@babel/types': 7.28.2
++ '@babel/traverse': 7.26.4
++ '@babel/types': 7.26.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/helper-string-parser@7.27.1': {}
++ '@babel/helper-string-parser@7.25.9': {}
+
+- '@babel/helper-validator-identifier@7.27.1': {}
++ '@babel/helper-validator-identifier@7.25.9': {}
+
+- '@babel/helper-validator-option@7.27.1': {}
++ '@babel/helper-validator-option@7.25.9': {}
+
+- '@babel/helpers@7.28.2':
++ '@babel/helpers@7.26.0':
+ dependencies:
+- '@babel/template': 7.27.2
+- '@babel/types': 7.28.2
++ '@babel/template': 7.25.9
++ '@babel/types': 7.26.3
+
+- '@babel/parser@7.28.0':
++ '@babel/parser@7.26.3':
+ dependencies:
+- '@babel/types': 7.28.2
++ '@babel/types': 7.26.3
+
+- '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.0)':
++ '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0)
+- '@babel/helper-plugin-utils': 7.27.1
+- '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.0)
++ '@babel/core': 7.26.0
++ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
++ '@babel/helper-plugin-utils': 7.25.9
++ '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.0)':
++ '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-plugin-utils': 7.27.1
++ '@babel/core': 7.26.0
++ '@babel/helper-plugin-utils': 7.25.9
+
+- '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0)':
++ '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-plugin-utils': 7.27.1
++ '@babel/core': 7.26.0
++ '@babel/helper-plugin-utils': 7.25.9
+
+- '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.0)':
++ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-plugin-utils': 7.27.1
++ '@babel/core': 7.26.0
++ '@babel/helper-plugin-utils': 7.25.9
+
+- '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)':
++ '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-plugin-utils': 7.27.1
++ '@babel/core': 7.26.0
++ '@babel/helper-plugin-utils': 7.25.9
+
+- '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)':
++ '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-plugin-utils': 7.27.1
++ '@babel/core': 7.26.0
++ '@babel/helper-plugin-utils': 7.25.9
+
+- '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)':
++ '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/helper-annotate-as-pure': 7.27.3
+- '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0)
+- '@babel/helper-plugin-utils': 7.27.1
+- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+- '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0)
++ '@babel/core': 7.26.0
++ '@babel/helper-annotate-as-pure': 7.25.9
++ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
++ '@babel/helper-plugin-utils': 7.25.9
++ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
++ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/runtime@7.28.2': {}
++ '@babel/runtime@7.25.6':
++ dependencies:
++ regenerator-runtime: 0.14.1
++
++ '@babel/standalone@7.26.4': {}
+
+- '@babel/template@7.27.2':
++ '@babel/template@7.25.9':
+ dependencies:
+- '@babel/code-frame': 7.27.1
+- '@babel/parser': 7.28.0
+- '@babel/types': 7.28.2
++ '@babel/code-frame': 7.26.2
++ '@babel/parser': 7.26.3
++ '@babel/types': 7.26.3
+
+- '@babel/traverse@7.28.0':
++ '@babel/traverse@7.26.4':
+ dependencies:
+- '@babel/code-frame': 7.27.1
+- '@babel/generator': 7.28.0
+- '@babel/helper-globals': 7.28.0
+- '@babel/parser': 7.28.0
+- '@babel/template': 7.27.2
+- '@babel/types': 7.28.2
+- debug: 4.4.1
++ '@babel/code-frame': 7.26.2
++ '@babel/generator': 7.26.3
++ '@babel/parser': 7.26.3
++ '@babel/template': 7.25.9
++ '@babel/types': 7.26.3
++ debug: 4.4.0(supports-color@9.4.0)
++ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+- '@babel/types@7.28.0':
++ '@babel/types@7.26.3':
+ dependencies:
+- '@babel/helper-string-parser': 7.27.1
+- '@babel/helper-validator-identifier': 7.27.1
++ '@babel/helper-string-parser': 7.25.9
++ '@babel/helper-validator-identifier': 7.25.9
+
+- '@babel/types@7.28.2':
++ '@braw/async-computed@5.0.2(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@babel/helper-string-parser': 7.27.1
+- '@babel/helper-validator-identifier': 7.27.1
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@braw/async-computed@5.0.2(vue@3.5.18(typescript@5.9.2))':
++ '@braw/async-computed@5.0.2(vue@3.5.13(typescript@5.8.3))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.8.3)
+
+- '@capsizecss/unpack@2.4.0':
+- dependencies:
+- blob-to-buffer: 1.2.9
+- cross-fetch: 3.2.0
+- fontkit: 2.0.4
+- transitivePeerDependencies:
+- - encoding
+-
+- '@cloudflare/kv-asset-handler@0.4.0':
++ '@cloudflare/kv-asset-handler@0.3.4':
+ dependencies:
+ mime: 3.0.0
+
+- '@codemirror/autocomplete@6.18.6':
++ '@codemirror/autocomplete@6.17.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1)':
+ dependencies:
+- '@codemirror/language': 6.11.2
+- '@codemirror/state': 6.5.2
+- '@codemirror/view': 6.38.1
+- '@lezer/common': 1.2.3
++ '@codemirror/language': 6.10.2
++ '@codemirror/state': 6.4.1
++ '@codemirror/view': 6.28.4
++ '@lezer/common': 1.2.1
+
+- '@codemirror/commands@6.8.1':
++ '@codemirror/commands@6.6.0':
+ dependencies:
+- '@codemirror/language': 6.11.2
+- '@codemirror/state': 6.5.2
+- '@codemirror/view': 6.38.1
+- '@lezer/common': 1.2.3
++ '@codemirror/language': 6.10.2
++ '@codemirror/state': 6.4.1
++ '@codemirror/view': 6.28.4
++ '@lezer/common': 1.2.1
+
+- '@codemirror/lang-css@6.3.1':
++ '@codemirror/lang-css@6.2.1(@codemirror/view@6.28.4)':
+ dependencies:
+- '@codemirror/autocomplete': 6.18.6
+- '@codemirror/language': 6.11.2
+- '@codemirror/state': 6.5.2
+- '@lezer/common': 1.2.3
+- '@lezer/css': 1.3.0
++ '@codemirror/autocomplete': 6.17.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1)
++ '@codemirror/language': 6.10.2
++ '@codemirror/state': 6.4.1
++ '@lezer/common': 1.2.1
++ '@lezer/css': 1.1.8
++ transitivePeerDependencies:
++ - '@codemirror/view'
+
+ '@codemirror/lang-html@6.4.9':
+ dependencies:
+- '@codemirror/autocomplete': 6.18.6
+- '@codemirror/lang-css': 6.3.1
+- '@codemirror/lang-javascript': 6.2.4
+- '@codemirror/language': 6.11.2
+- '@codemirror/state': 6.5.2
+- '@codemirror/view': 6.38.1
+- '@lezer/common': 1.2.3
+- '@lezer/css': 1.3.0
++ '@codemirror/autocomplete': 6.17.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1)
++ '@codemirror/lang-css': 6.2.1(@codemirror/view@6.28.4)
++ '@codemirror/lang-javascript': 6.2.2
++ '@codemirror/language': 6.10.2
++ '@codemirror/state': 6.4.1
++ '@codemirror/view': 6.28.4
++ '@lezer/common': 1.2.1
++ '@lezer/css': 1.1.8
+ '@lezer/html': 1.3.10
+
+- '@codemirror/lang-javascript@6.2.4':
++ '@codemirror/lang-javascript@6.2.2':
+ dependencies:
+- '@codemirror/autocomplete': 6.18.6
+- '@codemirror/language': 6.11.2
+- '@codemirror/lint': 6.8.5
+- '@codemirror/state': 6.5.2
+- '@codemirror/view': 6.38.1
+- '@lezer/common': 1.2.3
+- '@lezer/javascript': 1.5.1
++ '@codemirror/autocomplete': 6.17.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1)
++ '@codemirror/language': 6.10.2
++ '@codemirror/lint': 6.8.1
++ '@codemirror/state': 6.4.1
++ '@codemirror/view': 6.28.4
++ '@lezer/common': 1.2.1
++ '@lezer/javascript': 1.4.17
+
+- '@codemirror/lang-markdown@6.3.4':
++ '@codemirror/lang-markdown@6.2.5':
+ dependencies:
+- '@codemirror/autocomplete': 6.18.6
++ '@codemirror/autocomplete': 6.17.0(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.4)(@lezer/common@1.2.1)
+ '@codemirror/lang-html': 6.4.9
+- '@codemirror/language': 6.11.2
+- '@codemirror/state': 6.5.2
+- '@codemirror/view': 6.38.1
+- '@lezer/common': 1.2.3
+- '@lezer/markdown': 1.4.3
+-
+- '@codemirror/language@6.11.2':
+- dependencies:
+- '@codemirror/state': 6.5.2
+- '@codemirror/view': 6.38.1
+- '@lezer/common': 1.2.3
+- '@lezer/highlight': 1.2.1
+- '@lezer/lr': 1.4.2
++ '@codemirror/language': 6.10.2
++ '@codemirror/state': 6.4.1
++ '@codemirror/view': 6.28.4
++ '@lezer/common': 1.2.1
++ '@lezer/markdown': 1.3.0
++
++ '@codemirror/language@6.10.2':
++ dependencies:
++ '@codemirror/state': 6.4.1
++ '@codemirror/view': 6.28.4
++ '@lezer/common': 1.2.1
++ '@lezer/highlight': 1.2.0
++ '@lezer/lr': 1.4.1
+ style-mod: 4.1.2
+
+- '@codemirror/lint@6.8.5':
++ '@codemirror/lint@6.8.1':
+ dependencies:
+- '@codemirror/state': 6.5.2
+- '@codemirror/view': 6.38.1
++ '@codemirror/state': 6.4.1
++ '@codemirror/view': 6.28.4
+ crelt: 1.0.6
+
+- '@codemirror/state@6.5.2':
+- dependencies:
+- '@marijn/find-cluster-break': 1.0.2
++ '@codemirror/state@6.4.1': {}
+
+- '@codemirror/view@6.38.1':
++ '@codemirror/view@6.28.4':
+ dependencies:
+- '@codemirror/state': 6.5.2
+- crelt: 1.0.6
++ '@codemirror/state': 6.4.1
+ style-mod: 4.1.2
+ w3c-keyname: 2.2.8
+
+- '@colors/colors@1.6.0': {}
+-
+ '@ctrl/tinycolor@4.1.0': {}
+
+- '@dabh/diagnostics@2.0.3':
+- dependencies:
+- colorspace: 1.1.4
+- enabled: 2.0.0
+- kuler: 2.0.0
+-
+- '@dependents/detective-less@5.0.1':
+- dependencies:
+- gonzales-pe: 4.3.0
+- node-source-walk: 7.0.1
+-
+ '@emmetio/abbreviation@2.3.3':
+ dependencies:
+ '@emmetio/scanner': 1.0.4
+@@ -9078,26 +8926,13 @@ snapshots:
+
+ '@emmetio/stream-reader@2.2.0': {}
+
+- '@emnapi/core@1.4.5':
++ '@emnapi/runtime@1.2.0':
+ dependencies:
+- '@emnapi/wasi-threads': 1.0.4
+- tslib: 2.8.1
++ tslib: 2.6.3
+ optional: true
+
+- '@emnapi/runtime@1.4.5':
++ '@es-joy/jsdoccomment@0.49.0':
+ dependencies:
+- tslib: 2.8.1
+- optional: true
+-
+- '@emnapi/wasi-threads@1.0.4':
+- dependencies:
+- tslib: 2.8.1
+- optional: true
+-
+- '@es-joy/jsdoccomment@0.50.2':
+- dependencies:
+- '@types/estree': 1.0.8
+- '@typescript-eslint/types': 8.39.0
+ comment-parser: 1.4.1
+ esquery: 1.6.0
+ jsdoc-type-pratt-parser: 4.1.0
+@@ -9105,225 +8940,295 @@ snapshots:
+ '@esbuild/aix-ppc64@0.21.5':
+ optional: true
+
+- '@esbuild/aix-ppc64@0.25.5':
++ '@esbuild/aix-ppc64@0.24.0':
+ optional: true
+
+- '@esbuild/aix-ppc64@0.25.8':
++ '@esbuild/aix-ppc64@0.25.0':
++ optional: true
++
++ '@esbuild/android-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/android-arm64@0.21.5':
+ optional: true
+
+- '@esbuild/android-arm64@0.25.5':
++ '@esbuild/android-arm64@0.24.0':
++ optional: true
++
++ '@esbuild/android-arm64@0.25.0':
+ optional: true
+
+- '@esbuild/android-arm64@0.25.8':
++ '@esbuild/android-arm@0.18.20':
+ optional: true
+
+ '@esbuild/android-arm@0.21.5':
+ optional: true
+
+- '@esbuild/android-arm@0.25.5':
++ '@esbuild/android-arm@0.24.0':
+ optional: true
+
+- '@esbuild/android-arm@0.25.8':
++ '@esbuild/android-arm@0.25.0':
++ optional: true
++
++ '@esbuild/android-x64@0.18.20':
+ optional: true
+
+ '@esbuild/android-x64@0.21.5':
+ optional: true
+
+- '@esbuild/android-x64@0.25.5':
++ '@esbuild/android-x64@0.24.0':
++ optional: true
++
++ '@esbuild/android-x64@0.25.0':
+ optional: true
+
+- '@esbuild/android-x64@0.25.8':
++ '@esbuild/darwin-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.21.5':
+ optional: true
+
+- '@esbuild/darwin-arm64@0.25.5':
++ '@esbuild/darwin-arm64@0.24.0':
+ optional: true
+
+- '@esbuild/darwin-arm64@0.25.8':
++ '@esbuild/darwin-arm64@0.25.0':
++ optional: true
++
++ '@esbuild/darwin-x64@0.18.20':
+ optional: true
+
+ '@esbuild/darwin-x64@0.21.5':
+ optional: true
+
+- '@esbuild/darwin-x64@0.25.5':
++ '@esbuild/darwin-x64@0.24.0':
++ optional: true
++
++ '@esbuild/darwin-x64@0.25.0':
+ optional: true
+
+- '@esbuild/darwin-x64@0.25.8':
++ '@esbuild/freebsd-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.21.5':
+ optional: true
+
+- '@esbuild/freebsd-arm64@0.25.5':
++ '@esbuild/freebsd-arm64@0.24.0':
+ optional: true
+
+- '@esbuild/freebsd-arm64@0.25.8':
++ '@esbuild/freebsd-arm64@0.25.0':
++ optional: true
++
++ '@esbuild/freebsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.21.5':
+ optional: true
+
+- '@esbuild/freebsd-x64@0.25.5':
++ '@esbuild/freebsd-x64@0.24.0':
++ optional: true
++
++ '@esbuild/freebsd-x64@0.25.0':
+ optional: true
+
+- '@esbuild/freebsd-x64@0.25.8':
++ '@esbuild/linux-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-arm64@0.21.5':
+ optional: true
+
+- '@esbuild/linux-arm64@0.25.5':
++ '@esbuild/linux-arm64@0.24.0':
+ optional: true
+
+- '@esbuild/linux-arm64@0.25.8':
++ '@esbuild/linux-arm64@0.25.0':
++ optional: true
++
++ '@esbuild/linux-arm@0.18.20':
+ optional: true
+
+ '@esbuild/linux-arm@0.21.5':
+ optional: true
+
+- '@esbuild/linux-arm@0.25.5':
++ '@esbuild/linux-arm@0.24.0':
++ optional: true
++
++ '@esbuild/linux-arm@0.25.0':
+ optional: true
+
+- '@esbuild/linux-arm@0.25.8':
++ '@esbuild/linux-ia32@0.18.20':
+ optional: true
+
+ '@esbuild/linux-ia32@0.21.5':
+ optional: true
+
+- '@esbuild/linux-ia32@0.25.5':
++ '@esbuild/linux-ia32@0.24.0':
++ optional: true
++
++ '@esbuild/linux-ia32@0.25.0':
+ optional: true
+
+- '@esbuild/linux-ia32@0.25.8':
++ '@esbuild/linux-loong64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-loong64@0.21.5':
+ optional: true
+
+- '@esbuild/linux-loong64@0.25.5':
++ '@esbuild/linux-loong64@0.24.0':
++ optional: true
++
++ '@esbuild/linux-loong64@0.25.0':
+ optional: true
+
+- '@esbuild/linux-loong64@0.25.8':
++ '@esbuild/linux-mips64el@0.18.20':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.21.5':
+ optional: true
+
+- '@esbuild/linux-mips64el@0.25.5':
++ '@esbuild/linux-mips64el@0.24.0':
++ optional: true
++
++ '@esbuild/linux-mips64el@0.25.0':
+ optional: true
+
+- '@esbuild/linux-mips64el@0.25.8':
++ '@esbuild/linux-ppc64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.21.5':
+ optional: true
+
+- '@esbuild/linux-ppc64@0.25.5':
++ '@esbuild/linux-ppc64@0.24.0':
+ optional: true
+
+- '@esbuild/linux-ppc64@0.25.8':
++ '@esbuild/linux-ppc64@0.25.0':
++ optional: true
++
++ '@esbuild/linux-riscv64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.21.5':
+ optional: true
+
+- '@esbuild/linux-riscv64@0.25.5':
++ '@esbuild/linux-riscv64@0.24.0':
++ optional: true
++
++ '@esbuild/linux-riscv64@0.25.0':
+ optional: true
+
+- '@esbuild/linux-riscv64@0.25.8':
++ '@esbuild/linux-s390x@0.18.20':
+ optional: true
+
+ '@esbuild/linux-s390x@0.21.5':
+ optional: true
+
+- '@esbuild/linux-s390x@0.25.5':
++ '@esbuild/linux-s390x@0.24.0':
+ optional: true
+
+- '@esbuild/linux-s390x@0.25.8':
++ '@esbuild/linux-s390x@0.25.0':
++ optional: true
++
++ '@esbuild/linux-x64@0.18.20':
+ optional: true
+
+ '@esbuild/linux-x64@0.21.5':
+ optional: true
+
+- '@esbuild/linux-x64@0.25.5':
++ '@esbuild/linux-x64@0.24.0':
+ optional: true
+
+- '@esbuild/linux-x64@0.25.8':
++ '@esbuild/linux-x64@0.25.0':
+ optional: true
+
+- '@esbuild/netbsd-arm64@0.25.5':
++ '@esbuild/netbsd-arm64@0.25.0':
+ optional: true
+
+- '@esbuild/netbsd-arm64@0.25.8':
++ '@esbuild/netbsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.21.5':
+ optional: true
+
+- '@esbuild/netbsd-x64@0.25.5':
++ '@esbuild/netbsd-x64@0.24.0':
++ optional: true
++
++ '@esbuild/netbsd-x64@0.25.0':
+ optional: true
+
+- '@esbuild/netbsd-x64@0.25.8':
++ '@esbuild/openbsd-arm64@0.24.0':
+ optional: true
+
+- '@esbuild/openbsd-arm64@0.25.5':
++ '@esbuild/openbsd-arm64@0.25.0':
+ optional: true
+
+- '@esbuild/openbsd-arm64@0.25.8':
++ '@esbuild/openbsd-x64@0.18.20':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.21.5':
+ optional: true
+
+- '@esbuild/openbsd-x64@0.25.5':
++ '@esbuild/openbsd-x64@0.24.0':
+ optional: true
+
+- '@esbuild/openbsd-x64@0.25.8':
++ '@esbuild/openbsd-x64@0.25.0':
+ optional: true
+
+- '@esbuild/openharmony-arm64@0.25.8':
++ '@esbuild/sunos-x64@0.18.20':
+ optional: true
+
+ '@esbuild/sunos-x64@0.21.5':
+ optional: true
+
+- '@esbuild/sunos-x64@0.25.5':
++ '@esbuild/sunos-x64@0.24.0':
+ optional: true
+
+- '@esbuild/sunos-x64@0.25.8':
++ '@esbuild/sunos-x64@0.25.0':
++ optional: true
++
++ '@esbuild/win32-arm64@0.18.20':
+ optional: true
+
+ '@esbuild/win32-arm64@0.21.5':
+ optional: true
+
+- '@esbuild/win32-arm64@0.25.5':
++ '@esbuild/win32-arm64@0.24.0':
++ optional: true
++
++ '@esbuild/win32-arm64@0.25.0':
+ optional: true
+
+- '@esbuild/win32-arm64@0.25.8':
++ '@esbuild/win32-ia32@0.18.20':
+ optional: true
+
+ '@esbuild/win32-ia32@0.21.5':
+ optional: true
+
+- '@esbuild/win32-ia32@0.25.5':
++ '@esbuild/win32-ia32@0.24.0':
+ optional: true
+
+- '@esbuild/win32-ia32@0.25.8':
++ '@esbuild/win32-ia32@0.25.0':
++ optional: true
++
++ '@esbuild/win32-x64@0.18.20':
+ optional: true
+
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
+
+- '@esbuild/win32-x64@0.25.5':
++ '@esbuild/win32-x64@0.24.0':
+ optional: true
+
+- '@esbuild/win32-x64@0.25.8':
++ '@esbuild/win32-x64@0.25.0':
+ optional: true
+
++ '@eslint-community/eslint-utils@4.4.0(eslint@9.13.0(jiti@2.5.1))':
++ dependencies:
++ eslint: 9.13.0(jiti@2.5.1)
++ eslint-visitor-keys: 3.4.3
++
++ '@eslint-community/eslint-utils@4.4.0(eslint@9.32.0(jiti@2.5.1))':
++ dependencies:
++ eslint: 9.32.0(jiti@2.5.1)
++ eslint-visitor-keys: 3.4.3
++
+ '@eslint-community/eslint-utils@4.7.0(eslint@8.57.1)':
+ dependencies:
+ eslint: 8.57.1
+@@ -9334,16 +9239,26 @@ snapshots:
+ eslint: 9.32.0(jiti@2.5.1)
+ eslint-visitor-keys: 3.4.3
+
++ '@eslint-community/regexpp@4.11.0': {}
++
+ '@eslint-community/regexpp@4.12.1': {}
+
+- '@eslint/compat@1.3.1(eslint@9.32.0(jiti@2.5.1))':
++ '@eslint/compat@1.2.1(eslint@9.13.0(jiti@2.5.1))':
+ optionalDependencies:
+- eslint: 9.32.0(jiti@2.5.1)
++ eslint: 9.13.0(jiti@2.5.1)
++
++ '@eslint/config-array@0.18.0':
++ dependencies:
++ '@eslint/object-schema': 2.1.4
++ debug: 4.4.0(supports-color@9.4.0)
++ minimatch: 3.1.2
++ transitivePeerDependencies:
++ - supports-color
+
+ '@eslint/config-array@0.21.0':
+ dependencies:
+ '@eslint/object-schema': 2.1.6
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+@@ -9354,14 +9269,30 @@ snapshots:
+ dependencies:
+ '@types/json-schema': 7.0.15
+
++ '@eslint/core@0.7.0': {}
++
+ '@eslint/eslintrc@2.1.4':
+ dependencies:
+ ajv: 6.12.6
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ espree: 9.6.1
+ globals: 13.24.0
+- ignore: 5.3.2
+- import-fresh: 3.3.1
++ ignore: 5.3.1
++ import-fresh: 3.3.0
++ js-yaml: 4.1.0
++ minimatch: 3.1.2
++ strip-json-comments: 3.1.1
++ transitivePeerDependencies:
++ - supports-color
++
++ '@eslint/eslintrc@3.1.0':
++ dependencies:
++ ajv: 6.12.6
++ debug: 4.4.0(supports-color@9.4.0)
++ espree: 10.2.0
++ globals: 14.0.0
++ ignore: 5.3.1
++ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+@@ -9371,11 +9302,11 @@ snapshots:
+ '@eslint/eslintrc@3.3.1':
+ dependencies:
+ ajv: 6.12.6
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ espree: 10.4.0
+ globals: 14.0.0
+- ignore: 5.3.2
+- import-fresh: 3.3.1
++ ignore: 5.3.1
++ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+@@ -9384,10 +9315,18 @@ snapshots:
+
+ '@eslint/js@8.57.1': {}
+
++ '@eslint/js@9.13.0': {}
++
+ '@eslint/js@9.32.0': {}
+
++ '@eslint/object-schema@2.1.4': {}
++
+ '@eslint/object-schema@2.1.6': {}
+
++ '@eslint/plugin-kit@0.2.1':
++ dependencies:
++ levn: 0.4.1
++
+ '@eslint/plugin-kit@0.3.4':
+ dependencies:
+ '@eslint/core': 0.15.1
+@@ -9396,12 +9335,12 @@ snapshots:
+ '@expressive-code/core@0.40.2':
+ dependencies:
+ '@ctrl/tinycolor': 4.1.0
+- hast-util-select: 6.0.4
++ hast-util-select: 6.0.2
+ hast-util-to-html: 9.0.5
+ hast-util-to-text: 4.0.2
+- hastscript: 9.0.1
+- postcss: 8.5.6
+- postcss-nested: 6.2.0(postcss@8.5.6)
++ hastscript: 9.0.0
++ postcss: 8.4.49
++ postcss-nested: 6.0.1(postcss@8.4.49)
+ unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.1
+
+@@ -9418,150 +9357,136 @@ snapshots:
+ dependencies:
+ '@expressive-code/core': 0.40.2
+
+- '@fastify/busboy@3.1.1': {}
+-
+- '@floating-ui/core@1.7.3':
++ '@floating-ui/core@1.6.4':
+ dependencies:
+- '@floating-ui/utils': 0.2.10
++ '@floating-ui/utils': 0.2.4
+
+ '@floating-ui/dom@1.1.1':
+ dependencies:
+- '@floating-ui/core': 1.7.3
++ '@floating-ui/core': 1.6.4
+
+- '@floating-ui/utils@0.2.10': {}
++ '@floating-ui/utils@0.2.4': {}
+
+- '@formatjs/cli-lib@6.6.6(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))':
++ '@formatjs/cli-lib@6.4.2(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@formatjs/icu-messageformat-parser': 2.9.4
+- '@formatjs/icu-skeleton-parser': 1.8.8
+- '@formatjs/ts-transformer': 3.13.23
+- '@types/estree': 1.0.8
+- '@types/fs-extra': 11.0.4
+- '@types/json-stable-stringify': 1.2.0
+- '@types/node': 20.19.9
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@formatjs/ts-transformer': 3.13.14
++ '@types/estree': 1.0.6
++ '@types/fs-extra': 9.0.13
++ '@types/json-stable-stringify': 1.0.36
++ '@types/node': 17.0.45
+ chalk: 4.1.2
+- commander: 12.1.0
+- fast-glob: 3.3.3
+- fs-extra: 11.3.1
+- json-stable-stringify: 1.3.0
++ commander: 8.3.0
++ fast-glob: 3.3.2
++ fs-extra: 10.1.0
++ json-stable-stringify: 1.1.1
+ loud-rejection: 2.2.0
+- tslib: 2.8.1
+- typescript: 5.9.2
++ tslib: 2.6.3
++ typescript: 5.8.3
+ optionalDependencies:
+- '@vue/compiler-core': 3.5.18
+- vue: 3.5.18(typescript@5.9.2)
++ '@vue/compiler-core': 3.5.13
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - ts-jest
+
+- '@formatjs/cli@6.7.2(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))':
++ '@formatjs/cli@6.2.12(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.5.4))':
++ optionalDependencies:
++ '@vue/compiler-core': 3.5.13
++ vue: 3.5.13(typescript@5.5.4)
++
++ '@formatjs/cli@6.2.12(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.8.3))':
+ optionalDependencies:
+- '@vue/compiler-core': 3.5.18
+- vue: 3.5.18(typescript@5.9.2)
++ '@vue/compiler-core': 3.5.13
++ vue: 3.5.13(typescript@5.8.3)
+
+ '@formatjs/ecma402-abstract@1.18.3':
+ dependencies:
+ '@formatjs/intl-localematcher': 0.5.4
+- tslib: 2.8.1
+-
+- '@formatjs/ecma402-abstract@2.2.4':
+- dependencies:
+- '@formatjs/fast-memoize': 2.2.3
+- '@formatjs/intl-localematcher': 0.5.8
+- tslib: 2.8.1
+-
+- '@formatjs/ecma402-abstract@2.3.4':
+- dependencies:
+- '@formatjs/fast-memoize': 2.2.7
+- '@formatjs/intl-localematcher': 0.6.1
+- decimal.js: 10.6.0
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+- '@formatjs/fast-memoize@2.2.3':
++ '@formatjs/ecma402-abstract@2.0.0':
+ dependencies:
+- tslib: 2.8.1
+-
+- '@formatjs/fast-memoize@2.2.7':
+- dependencies:
+- tslib: 2.8.1
+-
+- '@formatjs/icu-messageformat-parser@2.11.2':
+- dependencies:
+- '@formatjs/ecma402-abstract': 2.3.4
+- '@formatjs/icu-skeleton-parser': 1.8.14
+- tslib: 2.8.1
++ '@formatjs/intl-localematcher': 0.5.4
++ tslib: 2.6.3
+
+- '@formatjs/icu-messageformat-parser@2.9.4':
++ '@formatjs/fast-memoize@2.2.0':
+ dependencies:
+- '@formatjs/ecma402-abstract': 2.2.4
+- '@formatjs/icu-skeleton-parser': 1.8.8
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+- '@formatjs/icu-skeleton-parser@1.8.14':
++ '@formatjs/icu-messageformat-parser@2.7.8':
+ dependencies:
+- '@formatjs/ecma402-abstract': 2.3.4
+- tslib: 2.8.1
++ '@formatjs/ecma402-abstract': 2.0.0
++ '@formatjs/icu-skeleton-parser': 1.8.2
++ tslib: 2.6.3
+
+- '@formatjs/icu-skeleton-parser@1.8.8':
++ '@formatjs/icu-skeleton-parser@1.8.2':
+ dependencies:
+- '@formatjs/ecma402-abstract': 2.2.4
+- tslib: 2.8.1
++ '@formatjs/ecma402-abstract': 2.0.0
++ tslib: 2.6.3
+
+- '@formatjs/intl-displaynames@6.8.5':
++ '@formatjs/intl-displaynames@6.6.8':
+ dependencies:
+- '@formatjs/ecma402-abstract': 2.2.4
+- '@formatjs/intl-localematcher': 0.5.8
+- tslib: 2.8.1
++ '@formatjs/ecma402-abstract': 2.0.0
++ '@formatjs/intl-localematcher': 0.5.4
++ tslib: 2.6.3
+
+- '@formatjs/intl-listformat@7.7.5':
++ '@formatjs/intl-listformat@7.5.7':
+ dependencies:
+- '@formatjs/ecma402-abstract': 2.2.4
+- '@formatjs/intl-localematcher': 0.5.8
+- tslib: 2.8.1
++ '@formatjs/ecma402-abstract': 2.0.0
++ '@formatjs/intl-localematcher': 0.5.4
++ tslib: 2.6.3
+
+ '@formatjs/intl-localematcher@0.4.2':
+ dependencies:
+- tslib: 2.8.1
+-
+- '@formatjs/intl-localematcher@0.5.10':
+- dependencies:
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+ '@formatjs/intl-localematcher@0.5.4':
+ dependencies:
+- tslib: 2.8.1
+-
+- '@formatjs/intl-localematcher@0.5.8':
+- dependencies:
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+- '@formatjs/intl-localematcher@0.6.1':
++ '@formatjs/intl@2.10.4(typescript@5.5.4)':
+ dependencies:
+- tslib: 2.8.1
++ '@formatjs/ecma402-abstract': 2.0.0
++ '@formatjs/fast-memoize': 2.2.0
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@formatjs/intl-displaynames': 6.6.8
++ '@formatjs/intl-listformat': 7.5.7
++ intl-messageformat: 10.5.14
++ tslib: 2.6.3
++ optionalDependencies:
++ typescript: 5.5.4
+
+- '@formatjs/intl@2.10.15(typescript@5.9.2)':
++ '@formatjs/intl@2.10.4(typescript@5.8.3)':
+ dependencies:
+- '@formatjs/ecma402-abstract': 2.2.4
+- '@formatjs/fast-memoize': 2.2.3
+- '@formatjs/icu-messageformat-parser': 2.9.4
+- '@formatjs/intl-displaynames': 6.8.5
+- '@formatjs/intl-listformat': 7.7.5
+- intl-messageformat: 10.7.7
+- tslib: 2.8.1
++ '@formatjs/ecma402-abstract': 2.0.0
++ '@formatjs/fast-memoize': 2.2.0
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@formatjs/intl-displaynames': 6.6.8
++ '@formatjs/intl-listformat': 7.5.7
++ intl-messageformat: 10.5.14
++ tslib: 2.6.3
+ optionalDependencies:
+- typescript: 5.9.2
++ typescript: 5.8.3
+
+- '@formatjs/ts-transformer@3.13.23':
++ '@formatjs/ts-transformer@3.13.14':
+ dependencies:
+- '@formatjs/icu-messageformat-parser': 2.9.4
+- '@types/json-stable-stringify': 1.2.0
+- '@types/node': 20.19.9
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@types/json-stable-stringify': 1.0.36
++ '@types/node': 17.0.45
+ chalk: 4.1.2
+- json-stable-stringify: 1.3.0
+- tslib: 2.8.1
+- typescript: 5.9.2
++ json-stable-stringify: 1.1.1
++ tslib: 2.6.3
++ typescript: 5.8.3
++
++ '@humanfs/core@0.19.0': {}
+
+ '@humanfs/core@0.19.1': {}
+
++ '@humanfs/node@0.16.5':
++ dependencies:
++ '@humanfs/core': 0.19.0
++ '@humanwhocodes/retry': 0.3.1
++
+ '@humanfs/node@0.16.6':
+ dependencies:
+ '@humanfs/core': 0.19.1
+@@ -9570,7 +9495,7 @@ snapshots:
+ '@humanwhocodes/config-array@0.13.0':
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.3
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+@@ -9651,7 +9576,7 @@ snapshots:
+
+ '@img/sharp-wasm32@0.33.5':
+ dependencies:
+- '@emnapi/runtime': 1.4.5
++ '@emnapi/runtime': 1.2.0
+ optional: true
+
+ '@img/sharp-win32-ia32@0.33.5':
+@@ -9662,13 +9587,7 @@ snapshots:
+
+ '@intercom/messenger-js-sdk@0.0.14': {}
+
+- '@ioredis/commands@1.3.0': {}
+-
+- '@isaacs/balanced-match@4.0.1': {}
+-
+- '@isaacs/brace-expansion@5.0.0':
+- dependencies:
+- '@isaacs/balanced-match': 4.0.1
++ '@ioredis/commands@1.2.0': {}
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+@@ -9679,92 +9598,112 @@ snapshots:
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+- '@isaacs/fs-minipass@4.0.1':
+- dependencies:
+- minipass: 7.1.2
+-
+ '@jridgewell/gen-mapping@0.3.12':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.4
+ '@jridgewell/trace-mapping': 0.3.29
++ optional: true
++
++ '@jridgewell/gen-mapping@0.3.5':
++ dependencies:
++ '@jridgewell/set-array': 1.2.1
++ '@jridgewell/sourcemap-codec': 1.5.0
++ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
++ '@jridgewell/set-array@1.2.1': {}
++
+ '@jridgewell/source-map@0.3.10':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
++ optional: true
++
++ '@jridgewell/source-map@0.3.6':
++ dependencies:
++ '@jridgewell/gen-mapping': 0.3.5
++ '@jridgewell/trace-mapping': 0.3.25
+
+- '@jridgewell/sourcemap-codec@1.5.4': {}
++ '@jridgewell/sourcemap-codec@1.5.0': {}
++
++ '@jridgewell/sourcemap-codec@1.5.4':
++ optional: true
++
++ '@jridgewell/trace-mapping@0.3.25':
++ dependencies:
++ '@jridgewell/resolve-uri': 3.1.2
++ '@jridgewell/sourcemap-codec': 1.5.0
+
+ '@jridgewell/trace-mapping@0.3.29':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.4
++ optional: true
+
+ '@jsdevtools/ono@7.1.3': {}
+
+ '@kwsites/file-exists@1.1.1':
+ dependencies:
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@kwsites/promise-deferred@1.1.1': {}
+
+- '@lezer/common@1.2.3': {}
++ '@lezer/common@1.2.1': {}
+
+- '@lezer/css@1.3.0':
++ '@lezer/css@1.1.8':
+ dependencies:
+- '@lezer/common': 1.2.3
+- '@lezer/highlight': 1.2.1
+- '@lezer/lr': 1.4.2
++ '@lezer/common': 1.2.1
++ '@lezer/highlight': 1.2.0
++ '@lezer/lr': 1.4.1
+
+- '@lezer/highlight@1.2.1':
++ '@lezer/highlight@1.2.0':
+ dependencies:
+- '@lezer/common': 1.2.3
++ '@lezer/common': 1.2.1
+
+ '@lezer/html@1.3.10':
+ dependencies:
+- '@lezer/common': 1.2.3
+- '@lezer/highlight': 1.2.1
+- '@lezer/lr': 1.4.2
++ '@lezer/common': 1.2.1
++ '@lezer/highlight': 1.2.0
++ '@lezer/lr': 1.4.1
+
+- '@lezer/javascript@1.5.1':
++ '@lezer/javascript@1.4.17':
+ dependencies:
+- '@lezer/common': 1.2.3
+- '@lezer/highlight': 1.2.1
+- '@lezer/lr': 1.4.2
++ '@lezer/common': 1.2.1
++ '@lezer/highlight': 1.2.0
++ '@lezer/lr': 1.4.1
+
+- '@lezer/lr@1.4.2':
++ '@lezer/lr@1.4.1':
+ dependencies:
+- '@lezer/common': 1.2.3
++ '@lezer/common': 1.2.1
+
+- '@lezer/markdown@1.4.3':
++ '@lezer/markdown@1.3.0':
+ dependencies:
+- '@lezer/common': 1.2.3
+- '@lezer/highlight': 1.2.1
++ '@lezer/common': 1.2.1
++ '@lezer/highlight': 1.2.0
+
+ '@ltd/j-toml@1.38.0': {}
+
+- '@mapbox/node-pre-gyp@2.0.0':
++ '@mapbox/node-pre-gyp@1.0.11':
+ dependencies:
+- consola: 3.4.2
+- detect-libc: 2.0.4
+- https-proxy-agent: 7.0.6
++ detect-libc: 2.0.3
++ https-proxy-agent: 5.0.1
++ make-dir: 3.1.0
+ node-fetch: 2.7.0
+- nopt: 8.1.0
++ nopt: 5.0.0
++ npmlog: 5.0.1
++ rimraf: 3.0.2
+ semver: 7.7.2
+- tar: 7.4.3
++ tar: 6.2.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+
+- '@marijn/find-cluster-break@1.0.2': {}
+-
+- '@mdx-js/mdx@3.1.0(acorn@8.15.0)':
++ '@mdx-js/mdx@3.1.0(acorn@8.14.0)':
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+@@ -9773,16 +9712,16 @@ snapshots:
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+- hast-util-to-jsx-runtime: 2.3.6
++ hast-util-to-jsx-runtime: 2.3.0
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+- recma-jsx: 1.0.1(acorn@8.15.0)
++ recma-jsx: 1.0.0(acorn@8.14.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+- remark-mdx: 3.1.0
++ remark-mdx: 3.0.1
+ remark-parse: 11.0.0
+- remark-rehype: 11.1.2
+- source-map: 0.7.6
++ remark-rehype: 11.1.0
++ source-map: 0.7.4
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+@@ -9792,107 +9731,16 @@ snapshots:
+ - acorn
+ - supports-color
+
+- '@napi-rs/wasm-runtime@0.2.12':
+- dependencies:
+- '@emnapi/core': 1.4.5
+- '@emnapi/runtime': 1.4.5
+- '@tybys/wasm-util': 0.10.0
+- optional: true
+-
+- '@napi-rs/wasm-runtime@1.0.1':
+- dependencies:
+- '@emnapi/core': 1.4.5
+- '@emnapi/runtime': 1.4.5
+- '@tybys/wasm-util': 0.10.0
+- optional: true
+-
+- '@netlify/binary-info@1.0.0': {}
+-
+- '@netlify/blobs@9.1.2':
+- dependencies:
+- '@netlify/dev-utils': 2.2.0
+- '@netlify/runtime-utils': 1.3.1
+-
+- '@netlify/dev-utils@2.2.0':
++ '@netlify/functions@2.8.2':
+ dependencies:
+- '@whatwg-node/server': 0.9.71
+- chokidar: 4.0.3
+- decache: 4.6.2
+- dot-prop: 9.0.0
+- env-paths: 3.0.0
+- find-up: 7.0.0
+- lodash.debounce: 4.0.8
+- netlify: 13.3.5
+- parse-gitignore: 2.0.0
+- uuid: 11.1.0
+- write-file-atomic: 6.0.0
+-
+- '@netlify/functions@3.1.10(rollup@4.46.2)':
+- dependencies:
+- '@netlify/blobs': 9.1.2
+- '@netlify/dev-utils': 2.2.0
+- '@netlify/serverless-functions-api': 1.41.2
+- '@netlify/zip-it-and-ship-it': 12.2.1(rollup@4.46.2)
+- cron-parser: 4.9.0
+- decache: 4.6.2
+- extract-zip: 2.0.1
+- is-stream: 4.0.1
+- jwt-decode: 4.0.0
+- lambda-local: 2.2.0
+- read-package-up: 11.0.0
+- source-map-support: 0.5.21
+- transitivePeerDependencies:
+- - encoding
+- - rollup
+- - supports-color
+-
+- '@netlify/open-api@2.37.0': {}
+-
+- '@netlify/runtime-utils@1.3.1': {}
+-
+- '@netlify/serverless-functions-api@1.41.2': {}
++ '@netlify/serverless-functions-api': 1.26.1
+
+- '@netlify/serverless-functions-api@2.1.3': {}
++ '@netlify/node-cookies@0.1.0': {}
+
+- '@netlify/zip-it-and-ship-it@12.2.1(rollup@4.46.2)':
++ '@netlify/serverless-functions-api@1.26.1':
+ dependencies:
+- '@babel/parser': 7.28.0
+- '@babel/types': 7.28.0
+- '@netlify/binary-info': 1.0.0
+- '@netlify/serverless-functions-api': 2.1.3
+- '@vercel/nft': 0.29.4(rollup@4.46.2)
+- archiver: 7.0.1
+- common-path-prefix: 3.0.0
+- copy-file: 11.0.0
+- es-module-lexer: 1.7.0
+- esbuild: 0.25.5
+- execa: 8.0.1
+- fast-glob: 3.3.3
+- filter-obj: 6.1.0
+- find-up: 7.0.0
+- is-builtin-module: 3.2.1
+- is-path-inside: 4.0.0
+- junk: 4.0.1
+- locate-path: 7.2.0
+- merge-options: 3.0.4
+- minimatch: 9.0.5
+- normalize-path: 3.0.0
+- p-map: 7.0.3
+- path-exists: 5.0.0
+- precinct: 12.2.0
+- require-package-name: 2.0.1
+- resolve: 2.0.0-next.5
+- semver: 7.7.2
+- tmp-promise: 3.0.3
+- toml: 3.0.0
+- unixify: 1.0.0
++ '@netlify/node-cookies': 0.1.0
+ urlpattern-polyfill: 8.0.2
+- yargs: 17.7.2
+- zod: 3.25.76
+- transitivePeerDependencies:
+- - encoding
+- - rollup
+- - supports-color
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+@@ -9904,122 +9752,74 @@ snapshots:
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+- fastq: 1.19.1
+-
+- '@nuxt/cli@3.27.0(magicast@0.3.5)':
+- dependencies:
+- c12: 3.2.0(magicast@0.3.5)
+- citty: 0.1.6
+- clipboardy: 4.0.0
+- confbox: 0.2.2
+- consola: 3.4.2
+- defu: 6.1.4
+- exsolve: 1.0.7
+- fuse.js: 7.1.0
+- get-port-please: 3.2.0
+- giget: 2.0.0
+- h3: 1.15.4
+- httpxy: 0.1.7
+- jiti: 2.5.1
+- listhen: 1.9.0
+- nypm: 0.6.1
+- ofetch: 1.4.1
+- ohash: 2.0.11
+- pathe: 2.0.3
+- perfect-debounce: 1.0.0
+- pkg-types: 2.2.0
+- scule: 1.3.0
+- semver: 7.7.2
+- std-env: 3.9.0
+- tinyexec: 1.0.1
+- ufo: 1.6.1
+- youch: 4.1.0-beta.11
+- transitivePeerDependencies:
+- - magicast
++ fastq: 1.17.1
+
+ '@nuxt/devalue@2.0.2': {}
+
+- '@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))':
++ '@nuxt/devtools-kit@1.6.3(magicast@0.3.5)(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))':
+ dependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- '@nuxt/schema': 3.18.1
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
+ execa: 7.2.0
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- transitivePeerDependencies:
+- - magicast
+-
+- '@nuxt/devtools-kit@2.6.2(magicast@0.3.5)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))':
+- dependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- execa: 8.0.1
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
+ transitivePeerDependencies:
+ - magicast
++ - rollup
++ - supports-color
+
+- '@nuxt/devtools-wizard@1.7.0':
++ '@nuxt/devtools-wizard@1.6.3':
+ dependencies:
+- consola: 3.4.2
++ consola: 3.2.3
+ diff: 7.0.0
+ execa: 7.2.0
+ global-directory: 4.0.1
+ magicast: 0.3.5
+ pathe: 1.1.2
+- pkg-types: 1.3.1
++ pkg-types: 1.2.1
+ prompts: 2.4.2
+ rc9: 2.1.2
+- semver: 7.7.2
++ semver: 7.7.1
+
+- '@nuxt/devtools-wizard@2.6.2':
+- dependencies:
+- consola: 3.4.2
+- diff: 8.0.2
+- execa: 8.0.1
+- magicast: 0.3.5
+- pathe: 2.0.3
+- pkg-types: 2.2.0
+- prompts: 2.4.2
+- semver: 7.7.2
+-
+- '@nuxt/devtools@1.7.0(rollup@4.46.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@nuxt/devtools@1.6.3(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ '@antfu/utils': 0.7.10
+- '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+- '@nuxt/devtools-wizard': 1.7.0
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- '@vue/devtools-core': 7.6.8(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
+- '@vue/devtools-kit': 7.6.8
++ '@nuxt/devtools-kit': 1.6.3(magicast@0.3.5)(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))
++ '@nuxt/devtools-wizard': 1.6.3
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ '@vue/devtools-core': 7.6.4(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))
++ '@vue/devtools-kit': 7.6.4
+ birpc: 0.2.19
+- consola: 3.4.2
+- cronstrue: 2.59.0
+- destr: 2.0.5
++ consola: 3.2.3
++ cronstrue: 2.52.0
++ destr: 2.0.3
+ error-stack-parser-es: 0.1.5
+ execa: 7.2.0
+ fast-npm-meta: 0.2.2
+- flatted: 3.3.3
+- get-port-please: 3.2.0
++ flatted: 3.3.2
++ get-port-please: 3.1.2
+ hookable: 5.5.3
+ image-meta: 0.2.1
+ is-installed-globally: 1.0.0
+- launch-editor: 2.11.0
++ launch-editor: 2.9.1
+ local-pkg: 0.5.1
+ magicast: 0.3.5
+ nypm: 0.4.1
+- ohash: 1.1.6
++ ohash: 1.1.4
+ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+- pkg-types: 1.3.1
++ pkg-types: 1.2.1
+ rc9: 2.1.2
+ scule: 1.3.0
+- semver: 7.7.2
+- simple-git: 3.28.0
+- sirv: 3.0.1
+- tinyglobby: 0.2.14
+- unimport: 3.14.6(rollup@4.46.2)
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vite-plugin-inspect: 0.8.9(@nuxt/kit@3.18.1(magicast@0.3.5))(rollup@4.46.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+- vite-plugin-vue-inspector: 5.3.2(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
++ semver: 7.6.3
++ simple-git: 3.27.0
++ sirv: 3.0.0
++ tinyglobby: 0.2.10
++ unimport: 3.14.4(rollup@4.28.1)
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
++ vite-plugin-inspect: 0.8.9(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.28.1))(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))
++ vite-plugin-vue-inspector: 5.1.3(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))
+ which: 3.0.1
+- ws: 8.18.3
++ ws: 8.18.0
+ transitivePeerDependencies:
+ - bufferutil
+ - rollup
+@@ -10027,84 +9827,68 @@ snapshots:
+ - utf-8-validate
+ - vue
+
+- '@nuxt/devtools@2.6.2(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@nuxt/eslint-config@0.5.7(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)':
+ dependencies:
+- '@nuxt/devtools-kit': 2.6.2(magicast@0.3.5)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+- '@nuxt/devtools-wizard': 2.6.2
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- '@vue/devtools-core': 7.7.7(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
+- '@vue/devtools-kit': 7.7.7
+- birpc: 2.5.0
+- consola: 3.4.2
+- destr: 2.0.5
+- error-stack-parser-es: 1.0.5
+- execa: 8.0.1
+- fast-npm-meta: 0.4.6
+- get-port-please: 3.2.0
+- hookable: 5.5.3
+- image-meta: 0.2.1
+- is-installed-globally: 1.0.0
+- launch-editor: 2.11.0
+- local-pkg: 1.1.1
+- magicast: 0.3.5
+- nypm: 0.6.1
+- ohash: 2.0.11
+- pathe: 2.0.3
+- perfect-debounce: 1.0.0
+- pkg-types: 2.2.0
+- semver: 7.7.2
+- simple-git: 3.28.0
+- sirv: 3.0.1
+- structured-clone-es: 1.0.0
+- tinyglobby: 0.2.14
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vite-plugin-inspect: 11.3.2(@nuxt/kit@3.18.1(magicast@0.3.5))(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+- vite-plugin-vue-tracer: 1.0.0(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
+- which: 5.0.0
+- ws: 8.18.3
+- transitivePeerDependencies:
+- - bufferutil
+- - supports-color
+- - utf-8-validate
+- - vue
+-
+- '@nuxt/eslint-config@0.5.7(@typescript-eslint/utils@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
+- dependencies:
+- '@eslint/js': 9.32.0
+- '@nuxt/eslint-plugin': 0.5.7(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@stylistic/eslint-plugin': 2.13.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/eslint-plugin': 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- eslint: 9.32.0(jiti@2.5.1)
+- eslint-config-flat-gitignore: 0.3.0(eslint@9.32.0(jiti@2.5.1))
++ '@eslint/js': 9.13.0
++ '@nuxt/eslint-plugin': 0.5.7(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ '@stylistic/eslint-plugin': 2.9.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ '@typescript-eslint/eslint-plugin': 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4))(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ eslint: 9.13.0(jiti@2.5.1)
++ eslint-config-flat-gitignore: 0.3.0(eslint@9.13.0(jiti@2.5.1))
+ eslint-flat-config-utils: 0.4.0
+- eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))
+- eslint-plugin-jsdoc: 50.8.0(eslint@9.32.0(jiti@2.5.1))
+- eslint-plugin-regexp: 2.9.1(eslint@9.32.0(jiti@2.5.1))
+- eslint-plugin-unicorn: 55.0.0(eslint@9.32.0(jiti@2.5.1))
+- eslint-plugin-vue: 9.33.0(eslint@9.32.0(jiti@2.5.1))
+- globals: 15.15.0
++ eslint-plugin-import-x: 4.3.1(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ eslint-plugin-jsdoc: 50.4.3(eslint@9.13.0(jiti@2.5.1))
++ eslint-plugin-regexp: 2.6.0(eslint@9.13.0(jiti@2.5.1))
++ eslint-plugin-unicorn: 55.0.0(eslint@9.13.0(jiti@2.5.1))
++ eslint-plugin-vue: 9.29.0(eslint@9.13.0(jiti@2.5.1))
++ globals: 15.11.0
+ local-pkg: 0.5.1
+ pathe: 1.1.2
+- vue-eslint-parser: 9.4.3(eslint@9.32.0(jiti@2.5.1))
++ vue-eslint-parser: 9.4.3(eslint@9.13.0(jiti@2.5.1))
+ transitivePeerDependencies:
+- - '@typescript-eslint/utils'
+- - eslint-import-resolver-node
+ - supports-color
+ - typescript
+
+- '@nuxt/eslint-plugin@0.5.7(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@nuxt/eslint-plugin@0.5.7(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)':
+ dependencies:
+- '@typescript-eslint/types': 8.39.0
+- '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- eslint: 9.32.0(jiti@2.5.1)
++ '@typescript-eslint/types': 8.10.0
++ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ eslint: 9.13.0(jiti@2.5.1)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+- '@nuxt/kit@3.18.1(magicast@0.3.5)':
++ '@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.28.1)':
+ dependencies:
+- c12: 3.2.0(magicast@0.3.5)
++ '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ c12: 2.0.1(magicast@0.3.5)
++ consola: 3.2.3
++ defu: 6.1.4
++ destr: 2.0.3
++ globby: 14.0.2
++ hash-sum: 2.0.0
++ ignore: 6.0.2
++ jiti: 2.4.2
++ klona: 2.0.6
++ knitwork: 1.1.0
++ mlly: 1.7.3
++ pathe: 1.1.2
++ pkg-types: 1.2.1
++ scule: 1.3.0
++ semver: 7.7.1
++ ufo: 1.5.4
++ unctx: 2.3.1
++ unimport: 3.14.4(rollup@4.28.1)
++ untyped: 1.5.1
++ transitivePeerDependencies:
++ - magicast
++ - rollup
++ - supports-color
++
++ '@nuxt/kit@3.17.5(magicast@0.3.5)':
++ dependencies:
++ c12: 3.1.0(magicast@0.3.5)
+ consola: 3.4.2
+ defu: 6.1.4
+ destr: 2.0.5
+@@ -10128,68 +9912,90 @@ snapshots:
+ untyped: 2.0.0
+ transitivePeerDependencies:
+ - magicast
++ optional: true
+
+- '@nuxt/schema@3.18.1':
++ '@nuxt/schema@3.14.1592(magicast@0.3.5)(rollup@4.28.1)':
+ dependencies:
+- '@vue/shared': 3.5.18
+- consola: 3.4.2
++ c12: 2.0.1(magicast@0.3.5)
++ compatx: 0.1.8
++ consola: 3.2.3
+ defu: 6.1.4
+- pathe: 2.0.3
+- std-env: 3.9.0
+- ufo: 1.6.1
++ hookable: 5.5.3
++ pathe: 1.1.2
++ pkg-types: 1.2.1
++ scule: 1.3.0
++ std-env: 3.8.0
++ ufo: 1.5.4
++ uncrypto: 0.1.3
++ unimport: 3.14.4(rollup@4.28.1)
++ untyped: 1.5.1
++ transitivePeerDependencies:
++ - magicast
++ - rollup
++ - supports-color
+
+- '@nuxt/telemetry@2.6.6(magicast@0.3.5)':
++ '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@4.28.1)':
+ dependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- citty: 0.1.6
+- consola: 3.4.2
+- destr: 2.0.5
+- dotenv: 16.6.1
+- git-url-parse: 16.1.0
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ ci-info: 4.0.0
++ consola: 3.2.3
++ create-require: 1.1.1
++ defu: 6.1.4
++ destr: 2.0.3
++ dotenv: 16.4.5
++ git-url-parse: 15.0.0
+ is-docker: 3.0.0
++ jiti: 1.21.6
++ mri: 1.2.0
++ nanoid: 5.0.7
+ ofetch: 1.4.1
+- package-manager-detector: 1.3.0
+- pathe: 2.0.3
++ package-manager-detector: 0.2.7
++ parse-git-config: 3.0.0
++ pathe: 1.1.2
+ rc9: 2.1.2
+- std-env: 3.9.0
++ std-env: 3.8.0
+ transitivePeerDependencies:
+ - magicast
++ - rollup
++ - supports-color
+
+- '@nuxt/vite-builder@3.18.1(@types/node@20.19.9)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(vue-tsc@2.2.12(typescript@5.9.2))(vue@3.5.18(typescript@5.9.2))(yaml@2.8.1)':
++ '@nuxt/vite-builder@3.14.1592(@types/node@20.14.11)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.28.1)(sass@1.77.6)(terser@5.43.1)(typescript@5.5.4)(vue-tsc@2.1.6(typescript@5.5.4))(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- '@rollup/plugin-replace': 6.0.2(rollup@4.46.2)
+- '@vitejs/plugin-vue': 6.0.1(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
+- '@vitejs/plugin-vue-jsx': 5.0.1(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
+- autoprefixer: 10.4.21(postcss@8.5.6)
+- consola: 3.4.2
+- cssnano: 7.1.0(postcss@8.5.6)
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ '@rollup/plugin-replace': 6.0.1(rollup@4.28.1)
++ '@vitejs/plugin-vue': 5.2.1(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))
++ '@vitejs/plugin-vue-jsx': 4.1.1(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))
++ autoprefixer: 10.4.20(postcss@8.4.49)
++ clear: 0.1.0
++ consola: 3.2.3
++ cssnano: 7.0.6(postcss@8.4.49)
+ defu: 6.1.4
+- esbuild: 0.25.8
++ esbuild: 0.24.0
+ escape-string-regexp: 5.0.0
+- exsolve: 1.0.7
++ estree-walker: 3.0.3
+ externality: 1.0.2
+- get-port-please: 3.2.0
+- h3: 1.15.4
+- jiti: 2.5.1
+- knitwork: 1.2.0
+- magic-string: 0.30.17
+- mlly: 1.7.4
+- mocked-exports: 0.1.1
+- ohash: 2.0.11
+- pathe: 2.0.3
++ get-port-please: 3.1.2
++ h3: 1.13.0
++ jiti: 2.4.2
++ knitwork: 1.1.0
++ magic-string: 0.30.14
++ mlly: 1.7.3
++ ohash: 1.1.4
++ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+- pkg-types: 2.2.0
+- postcss: 8.5.6
+- rollup-plugin-visualizer: 6.0.3(rollup@4.46.2)
+- std-env: 3.9.0
+- ufo: 1.6.1
+- unenv: 2.0.0-rc.19
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vite-node: 3.2.4(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1)
+- vite-plugin-checker: 0.10.2(eslint@8.57.1)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue-tsc@2.2.12(typescript@5.9.2))
+- vue: 3.5.18(typescript@5.9.2)
+- vue-bundle-renderer: 2.1.2
++ pkg-types: 1.2.1
++ postcss: 8.4.49
++ rollup-plugin-visualizer: 5.12.0(rollup@4.28.1)
++ std-env: 3.8.0
++ strip-literal: 2.1.1
++ ufo: 1.5.4
++ unenv: 1.10.0
++ unplugin: 1.16.0
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
++ vite-node: 2.1.8(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
++ vite-plugin-checker: 0.8.0(eslint@8.57.1)(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue-tsc@2.1.6(typescript@5.5.4))
++ vue: 3.5.13(typescript@5.5.4)
++ vue-bundle-renderer: 2.1.1
+ transitivePeerDependencies:
+ - '@biomejs/biome'
+ - '@types/node'
+@@ -10199,7 +10005,6 @@ snapshots:
+ - magicast
+ - meow
+ - optionator
+- - rolldown
+ - rollup
+ - sass
+ - sass-embedded
+@@ -10208,160 +10013,15 @@ snapshots:
+ - sugarss
+ - supports-color
+ - terser
+- - tsx
+ - typescript
+ - vls
+ - vti
+ - vue-tsc
+- - yaml
+
+ '@one-ini/wasm@0.1.1': {}
+
+ '@oslojs/encoding@1.1.0': {}
+
+- '@oxc-minify/binding-android-arm64@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-darwin-arm64@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-darwin-x64@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-freebsd-x64@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-arm-gnueabihf@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-arm-musleabihf@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-arm64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-arm64-musl@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-riscv64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-s390x-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-x64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-linux-x64-musl@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-wasm32-wasi@0.80.0':
+- dependencies:
+- '@napi-rs/wasm-runtime': 1.0.1
+- optional: true
+-
+- '@oxc-minify/binding-win32-arm64-msvc@0.80.0':
+- optional: true
+-
+- '@oxc-minify/binding-win32-x64-msvc@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-android-arm64@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-darwin-arm64@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-darwin-x64@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-freebsd-x64@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-arm-gnueabihf@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-arm-musleabihf@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-arm64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-arm64-musl@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-riscv64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-s390x-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-x64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-linux-x64-musl@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-wasm32-wasi@0.80.0':
+- dependencies:
+- '@napi-rs/wasm-runtime': 1.0.1
+- optional: true
+-
+- '@oxc-parser/binding-win32-arm64-msvc@0.80.0':
+- optional: true
+-
+- '@oxc-parser/binding-win32-x64-msvc@0.80.0':
+- optional: true
+-
+- '@oxc-project/types@0.80.0': {}
+-
+- '@oxc-transform/binding-android-arm64@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-darwin-arm64@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-darwin-x64@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-freebsd-x64@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-arm-gnueabihf@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-arm-musleabihf@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-arm64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-arm64-musl@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-riscv64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-s390x-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-x64-gnu@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-linux-x64-musl@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-wasm32-wasi@0.80.0':
+- dependencies:
+- '@napi-rs/wasm-runtime': 1.0.1
+- optional: true
+-
+- '@oxc-transform/binding-win32-arm64-msvc@0.80.0':
+- optional: true
+-
+- '@oxc-transform/binding-win32-x64-msvc@0.80.0':
+- optional: true
+-
+ '@pagefind/darwin-arm64@1.3.0':
+ optional: true
+
+@@ -10379,114 +10039,103 @@ snapshots:
+ '@pagefind/windows-x64@1.3.0':
+ optional: true
+
+- '@parcel/watcher-android-arm64@2.5.1':
+- optional: true
+-
+- '@parcel/watcher-darwin-arm64@2.5.1':
++ '@parcel/watcher-android-arm64@2.4.1':
+ optional: true
+
+- '@parcel/watcher-darwin-x64@2.5.1':
++ '@parcel/watcher-darwin-arm64@2.4.1':
+ optional: true
+
+- '@parcel/watcher-freebsd-x64@2.5.1':
++ '@parcel/watcher-darwin-x64@2.4.1':
+ optional: true
+
+- '@parcel/watcher-linux-arm-glibc@2.5.1':
++ '@parcel/watcher-freebsd-x64@2.4.1':
+ optional: true
+
+- '@parcel/watcher-linux-arm-musl@2.5.1':
++ '@parcel/watcher-linux-arm-glibc@2.4.1':
+ optional: true
+
+- '@parcel/watcher-linux-arm64-glibc@2.5.1':
++ '@parcel/watcher-linux-arm64-glibc@2.4.1':
+ optional: true
+
+- '@parcel/watcher-linux-arm64-musl@2.5.1':
++ '@parcel/watcher-linux-arm64-musl@2.4.1':
+ optional: true
+
+- '@parcel/watcher-linux-x64-glibc@2.5.1':
++ '@parcel/watcher-linux-x64-glibc@2.4.1':
+ optional: true
+
+- '@parcel/watcher-linux-x64-musl@2.5.1':
++ '@parcel/watcher-linux-x64-musl@2.4.1':
+ optional: true
+
+- '@parcel/watcher-wasm@2.5.1':
++ '@parcel/watcher-wasm@2.4.1':
+ dependencies:
+ is-glob: 4.0.3
+ micromatch: 4.0.8
+
+- '@parcel/watcher-win32-arm64@2.5.1':
++ '@parcel/watcher-win32-arm64@2.4.1':
+ optional: true
+
+- '@parcel/watcher-win32-ia32@2.5.1':
++ '@parcel/watcher-win32-ia32@2.4.1':
+ optional: true
+
+- '@parcel/watcher-win32-x64@2.5.1':
++ '@parcel/watcher-win32-x64@2.4.1':
+ optional: true
+
+- '@parcel/watcher@2.5.1':
++ '@parcel/watcher@2.4.1':
+ dependencies:
+ detect-libc: 1.0.3
+ is-glob: 4.0.3
+ micromatch: 4.0.8
+- node-addon-api: 7.1.1
++ node-addon-api: 7.1.0
+ optionalDependencies:
+- '@parcel/watcher-android-arm64': 2.5.1
+- '@parcel/watcher-darwin-arm64': 2.5.1
+- '@parcel/watcher-darwin-x64': 2.5.1
+- '@parcel/watcher-freebsd-x64': 2.5.1
+- '@parcel/watcher-linux-arm-glibc': 2.5.1
+- '@parcel/watcher-linux-arm-musl': 2.5.1
+- '@parcel/watcher-linux-arm64-glibc': 2.5.1
+- '@parcel/watcher-linux-arm64-musl': 2.5.1
+- '@parcel/watcher-linux-x64-glibc': 2.5.1
+- '@parcel/watcher-linux-x64-musl': 2.5.1
+- '@parcel/watcher-win32-arm64': 2.5.1
+- '@parcel/watcher-win32-ia32': 2.5.1
+- '@parcel/watcher-win32-x64': 2.5.1
+-
+- '@pinia/nuxt@0.5.5(magicast@0.3.5)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))':
+- dependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- pinia: 2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ '@parcel/watcher-android-arm64': 2.4.1
++ '@parcel/watcher-darwin-arm64': 2.4.1
++ '@parcel/watcher-darwin-x64': 2.4.1
++ '@parcel/watcher-freebsd-x64': 2.4.1
++ '@parcel/watcher-linux-arm-glibc': 2.4.1
++ '@parcel/watcher-linux-arm64-glibc': 2.4.1
++ '@parcel/watcher-linux-arm64-musl': 2.4.1
++ '@parcel/watcher-linux-x64-glibc': 2.4.1
++ '@parcel/watcher-linux-x64-musl': 2.4.1
++ '@parcel/watcher-win32-arm64': 2.4.1
++ '@parcel/watcher-win32-ia32': 2.4.1
++ '@parcel/watcher-win32-x64': 2.4.1
++
++ '@pinia/nuxt@0.5.1(magicast@0.3.5)(rollup@4.28.1)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
++ dependencies:
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ pinia: 2.1.7(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - magicast
++ - rollup
++ - supports-color
+ - typescript
+ - vue
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+- '@pkgr/core@0.2.9': {}
+-
+- '@polka/url@1.0.0-next.29': {}
+-
+- '@poppinss/colors@4.1.5':
+- dependencies:
+- kleur: 4.1.5
++ '@pkgr/core@0.1.1': {}
+
+- '@poppinss/dumper@0.6.4':
+- dependencies:
+- '@poppinss/colors': 4.1.5
+- '@sindresorhus/is': 7.0.2
+- supports-color: 10.1.0
++ '@pkgr/core@0.2.9': {}
+
+- '@poppinss/exception@1.2.2': {}
++ '@polka/url@1.0.0-next.25': {}
+
+ '@prettier/plugin-xml@3.4.2(prettier@3.6.2)':
+ dependencies:
+ '@xml-tools/parser': 1.0.11
+ prettier: 3.6.2
+
+- '@readme/better-ajv-errors@2.3.2(ajv@8.17.1)':
++ '@readme/better-ajv-errors@1.6.0(ajv@8.17.1)':
+ dependencies:
+- '@babel/code-frame': 7.27.1
+- '@babel/runtime': 7.28.2
++ '@babel/code-frame': 7.26.2
++ '@babel/runtime': 7.25.6
+ '@humanwhocodes/momoa': 2.0.4
+ ajv: 8.17.1
++ chalk: 4.1.2
++ json-to-ast: 2.1.0
+ jsonpointer: 5.0.1
+ leven: 3.1.0
+- picocolors: 1.1.1
+
+ '@readme/json-schema-ref-parser@1.2.0':
+ dependencies:
+@@ -10495,145 +10144,235 @@ snapshots:
+ call-me-maybe: 1.0.2
+ js-yaml: 4.1.0
+
+- '@readme/openapi-parser@2.7.0(openapi-types@12.1.3)':
++ '@readme/openapi-parser@2.5.0(openapi-types@12.1.3)':
+ dependencies:
++ '@apidevtools/openapi-schemas': 2.1.0
+ '@apidevtools/swagger-methods': 3.0.2
+ '@jsdevtools/ono': 7.1.3
+- '@readme/better-ajv-errors': 2.3.2(ajv@8.17.1)
++ '@readme/better-ajv-errors': 1.6.0(ajv@8.17.1)
+ '@readme/json-schema-ref-parser': 1.2.0
+- '@readme/openapi-schemas': 3.1.0
+ ajv: 8.17.1
+ ajv-draft-04: 1.0.0(ajv@8.17.1)
+ call-me-maybe: 1.0.2
+ openapi-types: 12.1.3
+
+- '@readme/openapi-schemas@3.1.0': {}
++ '@redocly/ajv@8.11.2':
++ dependencies:
++ fast-deep-equal: 3.1.3
++ json-schema-traverse: 1.0.0
++ require-from-string: 2.0.2
++ uri-js-replace: 1.0.1
+
+- '@rolldown/pluginutils@1.0.0-beta.29': {}
++ '@redocly/config@0.17.1': {}
+
+- '@rolldown/pluginutils@1.0.0-beta.31': {}
++ '@redocly/openapi-core@1.25.15(supports-color@9.4.0)':
++ dependencies:
++ '@redocly/ajv': 8.11.2
++ '@redocly/config': 0.17.1
++ colorette: 1.4.0
++ https-proxy-agent: 7.0.6(supports-color@9.4.0)
++ js-levenshtein: 1.1.6
++ js-yaml: 4.1.0
++ lodash.isequal: 4.5.0
++ minimatch: 5.1.6
++ node-fetch: 2.7.0
++ pluralize: 8.0.0
++ yaml-ast-parser: 0.0.43
++ transitivePeerDependencies:
++ - encoding
++ - supports-color
+
+- '@rollup/plugin-alias@5.1.1(rollup@4.46.2)':
++ '@rollup/plugin-alias@5.1.1(rollup@4.28.1)':
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
+
+- '@rollup/plugin-commonjs@28.0.6(rollup@4.46.2)':
++ '@rollup/plugin-commonjs@28.0.1(rollup@4.28.1)':
+ dependencies:
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+- fdir: 6.4.6(picomatch@4.0.3)
++ fdir: 6.4.2(picomatch@4.0.2)
+ is-reference: 1.2.1
+- magic-string: 0.30.17
+- picomatch: 4.0.3
++ magic-string: 0.30.14
++ picomatch: 4.0.2
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
+
+- '@rollup/plugin-inject@5.0.5(rollup@4.46.2)':
++ '@rollup/plugin-inject@5.0.5(rollup@4.28.1)':
+ dependencies:
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
+ estree-walker: 2.0.2
+- magic-string: 0.30.17
++ magic-string: 0.30.14
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
+
+- '@rollup/plugin-json@6.1.0(rollup@4.46.2)':
++ '@rollup/plugin-json@6.1.0(rollup@4.28.1)':
+ dependencies:
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
+
+- '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.2)':
++ '@rollup/plugin-node-resolve@15.3.0(rollup@4.28.1)':
+ dependencies:
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
+ '@types/resolve': 1.20.2
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+- resolve: 1.22.10
++ resolve: 1.22.8
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
+
+- '@rollup/plugin-replace@6.0.2(rollup@4.46.2)':
++ '@rollup/plugin-replace@6.0.1(rollup@4.28.1)':
+ dependencies:
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
+- magic-string: 0.30.17
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ magic-string: 0.30.14
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
+
+- '@rollup/plugin-terser@0.4.4(rollup@4.46.2)':
++ '@rollup/plugin-terser@0.4.4(rollup@4.28.1)':
+ dependencies:
+ serialize-javascript: 6.0.2
+ smob: 1.5.0
+- terser: 5.43.1
++ terser: 5.42.0
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
+
+- '@rollup/pluginutils@5.2.0(rollup@4.46.2)':
++ '@rollup/pluginutils@5.1.3(rollup@3.29.4)':
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ estree-walker: 2.0.2
+- picomatch: 4.0.3
++ picomatch: 4.0.2
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 3.29.4
+
+- '@rollup/rollup-android-arm-eabi@4.46.2':
++ '@rollup/pluginutils@5.1.3(rollup@4.28.1)':
++ dependencies:
++ '@types/estree': 1.0.6
++ estree-walker: 2.0.2
++ picomatch: 4.0.2
++ optionalDependencies:
++ rollup: 4.28.1
++
++ '@rollup/pluginutils@5.1.4(rollup@4.34.9)':
++ dependencies:
++ '@types/estree': 1.0.6
++ estree-walker: 2.0.2
++ picomatch: 4.0.2
++ optionalDependencies:
++ rollup: 4.34.9
++
++ '@rollup/rollup-android-arm-eabi@4.28.1':
++ optional: true
++
++ '@rollup/rollup-android-arm-eabi@4.34.9':
++ optional: true
++
++ '@rollup/rollup-android-arm64@4.28.1':
++ optional: true
++
++ '@rollup/rollup-android-arm64@4.34.9':
++ optional: true
++
++ '@rollup/rollup-darwin-arm64@4.28.1':
++ optional: true
++
++ '@rollup/rollup-darwin-arm64@4.34.9':
++ optional: true
++
++ '@rollup/rollup-darwin-x64@4.28.1':
++ optional: true
++
++ '@rollup/rollup-darwin-x64@4.34.9':
++ optional: true
++
++ '@rollup/rollup-freebsd-arm64@4.28.1':
++ optional: true
++
++ '@rollup/rollup-freebsd-arm64@4.34.9':
++ optional: true
++
++ '@rollup/rollup-freebsd-x64@4.28.1':
++ optional: true
++
++ '@rollup/rollup-freebsd-x64@4.34.9':
++ optional: true
++
++ '@rollup/rollup-linux-arm-gnueabihf@4.28.1':
++ optional: true
++
++ '@rollup/rollup-linux-arm-gnueabihf@4.34.9':
++ optional: true
++
++ '@rollup/rollup-linux-arm-musleabihf@4.28.1':
+ optional: true
+
+- '@rollup/rollup-android-arm64@4.46.2':
++ '@rollup/rollup-linux-arm-musleabihf@4.34.9':
+ optional: true
+
+- '@rollup/rollup-darwin-arm64@4.46.2':
++ '@rollup/rollup-linux-arm64-gnu@4.28.1':
+ optional: true
+
+- '@rollup/rollup-darwin-x64@4.46.2':
++ '@rollup/rollup-linux-arm64-gnu@4.34.9':
+ optional: true
+
+- '@rollup/rollup-freebsd-arm64@4.46.2':
++ '@rollup/rollup-linux-arm64-musl@4.28.1':
+ optional: true
+
+- '@rollup/rollup-freebsd-x64@4.46.2':
++ '@rollup/rollup-linux-arm64-musl@4.34.9':
+ optional: true
+
+- '@rollup/rollup-linux-arm-gnueabihf@4.46.2':
++ '@rollup/rollup-linux-loongarch64-gnu@4.28.1':
+ optional: true
+
+- '@rollup/rollup-linux-arm-musleabihf@4.46.2':
++ '@rollup/rollup-linux-loongarch64-gnu@4.34.9':
+ optional: true
+
+- '@rollup/rollup-linux-arm64-gnu@4.46.2':
++ '@rollup/rollup-linux-powerpc64le-gnu@4.28.1':
+ optional: true
+
+- '@rollup/rollup-linux-arm64-musl@4.46.2':
++ '@rollup/rollup-linux-powerpc64le-gnu@4.34.9':
+ optional: true
+
+- '@rollup/rollup-linux-loongarch64-gnu@4.46.2':
++ '@rollup/rollup-linux-riscv64-gnu@4.28.1':
+ optional: true
+
+- '@rollup/rollup-linux-ppc64-gnu@4.46.2':
++ '@rollup/rollup-linux-riscv64-gnu@4.34.9':
+ optional: true
+
+- '@rollup/rollup-linux-riscv64-gnu@4.46.2':
++ '@rollup/rollup-linux-s390x-gnu@4.28.1':
+ optional: true
+
+- '@rollup/rollup-linux-riscv64-musl@4.46.2':
++ '@rollup/rollup-linux-s390x-gnu@4.34.9':
+ optional: true
+
+- '@rollup/rollup-linux-s390x-gnu@4.46.2':
++ '@rollup/rollup-linux-x64-gnu@4.28.1':
+ optional: true
+
+- '@rollup/rollup-linux-x64-gnu@4.46.2':
++ '@rollup/rollup-linux-x64-gnu@4.34.9':
+ optional: true
+
+- '@rollup/rollup-linux-x64-musl@4.46.2':
++ '@rollup/rollup-linux-x64-musl@4.28.1':
+ optional: true
+
+- '@rollup/rollup-win32-arm64-msvc@4.46.2':
++ '@rollup/rollup-linux-x64-musl@4.34.9':
+ optional: true
+
+- '@rollup/rollup-win32-ia32-msvc@4.46.2':
++ '@rollup/rollup-win32-arm64-msvc@4.28.1':
+ optional: true
+
+- '@rollup/rollup-win32-x64-msvc@4.46.2':
++ '@rollup/rollup-win32-arm64-msvc@4.34.9':
++ optional: true
++
++ '@rollup/rollup-win32-ia32-msvc@4.28.1':
++ optional: true
++
++ '@rollup/rollup-win32-ia32-msvc@4.34.9':
++ optional: true
++
++ '@rollup/rollup-win32-x64-msvc@4.28.1':
++ optional: true
++
++ '@rollup/rollup-win32-x64-msvc@4.34.9':
+ optional: true
+
+ '@selderee/plugin-htmlparser2@0.11.0':
+@@ -10641,41 +10380,60 @@ snapshots:
+ domhandler: 5.0.3
+ selderee: 0.11.0
+
+- '@sentry-internal/browser-utils@8.55.0':
++ '@sentry-internal/browser-utils@8.27.0':
+ dependencies:
+- '@sentry/core': 8.55.0
++ '@sentry/core': 8.27.0
++ '@sentry/types': 8.27.0
++ '@sentry/utils': 8.27.0
+
+- '@sentry-internal/feedback@8.55.0':
++ '@sentry-internal/feedback@8.27.0':
+ dependencies:
+- '@sentry/core': 8.55.0
++ '@sentry/core': 8.27.0
++ '@sentry/types': 8.27.0
++ '@sentry/utils': 8.27.0
+
+- '@sentry-internal/replay-canvas@8.55.0':
++ '@sentry-internal/replay-canvas@8.27.0':
+ dependencies:
+- '@sentry-internal/replay': 8.55.0
+- '@sentry/core': 8.55.0
++ '@sentry-internal/replay': 8.27.0
++ '@sentry/core': 8.27.0
++ '@sentry/types': 8.27.0
++ '@sentry/utils': 8.27.0
+
+- '@sentry-internal/replay@8.55.0':
++ '@sentry-internal/replay@8.27.0':
+ dependencies:
+- '@sentry-internal/browser-utils': 8.55.0
+- '@sentry/core': 8.55.0
++ '@sentry-internal/browser-utils': 8.27.0
++ '@sentry/core': 8.27.0
++ '@sentry/types': 8.27.0
++ '@sentry/utils': 8.27.0
+
+- '@sentry/browser@8.55.0':
++ '@sentry/browser@8.27.0':
+ dependencies:
+- '@sentry-internal/browser-utils': 8.55.0
+- '@sentry-internal/feedback': 8.55.0
+- '@sentry-internal/replay': 8.55.0
+- '@sentry-internal/replay-canvas': 8.55.0
+- '@sentry/core': 8.55.0
++ '@sentry-internal/browser-utils': 8.27.0
++ '@sentry-internal/feedback': 8.27.0
++ '@sentry-internal/replay': 8.27.0
++ '@sentry-internal/replay-canvas': 8.27.0
++ '@sentry/core': 8.27.0
++ '@sentry/types': 8.27.0
++ '@sentry/utils': 8.27.0
+
+- '@sentry/core@8.55.0': {}
++ '@sentry/core@8.27.0':
++ dependencies:
++ '@sentry/types': 8.27.0
++ '@sentry/utils': 8.27.0
++
++ '@sentry/types@8.27.0': {}
+
+- '@sentry/vue@8.55.0(pinia@2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2))':
++ '@sentry/utils@8.27.0':
+ dependencies:
+- '@sentry/browser': 8.55.0
+- '@sentry/core': 8.55.0
+- vue: 3.5.18(typescript@5.9.2)
+- optionalDependencies:
+- pinia: 2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ '@sentry/types': 8.27.0
++
++ '@sentry/vue@8.27.0(vue@3.5.13(typescript@5.5.4))':
++ dependencies:
++ '@sentry/browser': 8.27.0
++ '@sentry/core': 8.27.0
++ '@sentry/types': 8.27.0
++ '@sentry/utils': 8.27.0
++ vue: 3.5.13(typescript@5.5.4)
+
+ '@sfirew/minecraft-motd-parser@1.1.6': {}
+
+@@ -10688,90 +10446,51 @@ snapshots:
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+- '@shikijs/core@3.9.2':
+- dependencies:
+- '@shikijs/types': 3.9.2
+- '@shikijs/vscode-textmate': 10.0.2
+- '@types/hast': 3.0.4
+- hast-util-to-html: 9.0.5
+-
+ '@shikijs/engine-javascript@1.29.2':
+ dependencies:
+ '@shikijs/types': 1.29.2
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 2.3.0
+
+- '@shikijs/engine-javascript@3.9.2':
+- dependencies:
+- '@shikijs/types': 3.9.2
+- '@shikijs/vscode-textmate': 10.0.2
+- oniguruma-to-es: 4.3.3
+-
+ '@shikijs/engine-oniguruma@1.29.2':
+ dependencies:
+ '@shikijs/types': 1.29.2
+ '@shikijs/vscode-textmate': 10.0.2
+
+- '@shikijs/engine-oniguruma@3.9.2':
+- dependencies:
+- '@shikijs/types': 3.9.2
+- '@shikijs/vscode-textmate': 10.0.2
+-
+ '@shikijs/langs@1.29.2':
+ dependencies:
+ '@shikijs/types': 1.29.2
+
+- '@shikijs/langs@3.9.2':
+- dependencies:
+- '@shikijs/types': 3.9.2
+-
+ '@shikijs/themes@1.29.2':
+ dependencies:
+- '@shikijs/types': 1.29.2
+-
+- '@shikijs/themes@3.9.2':
+- dependencies:
+- '@shikijs/types': 3.9.2
++ '@shikijs/types': 1.29.2
+
+ '@shikijs/types@1.29.2':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+- '@shikijs/types@3.9.2':
+- dependencies:
+- '@shikijs/vscode-textmate': 10.0.2
+- '@types/hast': 3.0.4
+-
+ '@shikijs/vscode-textmate@10.0.2': {}
+
+- '@sindresorhus/is@7.0.2': {}
+-
+ '@sindresorhus/merge-streams@2.3.0': {}
+
+- '@speed-highlight/core@1.2.7': {}
++ '@stripe/stripe-js@7.3.1': {}
+
+- '@stripe/stripe-js@7.8.0': {}
+-
+- '@stylistic/eslint-plugin@2.13.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@stylistic/eslint-plugin@2.9.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)':
+ dependencies:
+- '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- eslint: 9.32.0(jiti@2.5.1)
+- eslint-visitor-keys: 4.2.1
+- espree: 10.4.0
++ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ eslint: 9.13.0(jiti@2.5.1)
++ eslint-visitor-keys: 4.1.0
++ espree: 10.2.0
+ estraverse: 5.3.0
+- picomatch: 4.0.3
++ picomatch: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+- '@swc/helpers@0.5.17':
+- dependencies:
+- tslib: 2.8.1
+-
+- '@taijased/vue-render-tracker@1.0.7(vue@3.5.18(typescript@5.9.2))':
++ '@taijased/vue-render-tracker@1.0.7(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+ '@taplo/core@0.2.0': {}
+
+@@ -10779,7 +10498,9 @@ snapshots:
+ dependencies:
+ '@taplo/core': 0.2.0
+
+- '@tauri-apps/api@2.7.0': {}
++ '@tauri-apps/api@2.5.0': {}
++
++ '@tauri-apps/api@2.6.0': {}
+
+ '@tauri-apps/cli-darwin-arm64@2.5.0':
+ optional: true
+@@ -10828,64 +10549,64 @@ snapshots:
+ '@tauri-apps/cli-win32-ia32-msvc': 2.5.0
+ '@tauri-apps/cli-win32-x64-msvc': 2.5.0
+
+- '@tauri-apps/plugin-dialog@2.3.2':
++ '@tauri-apps/plugin-dialog@2.2.1':
+ dependencies:
+- '@tauri-apps/api': 2.7.0
++ '@tauri-apps/api': 2.5.0
+
+- '@tauri-apps/plugin-http@2.5.1':
++ '@tauri-apps/plugin-http@2.5.0':
+ dependencies:
+- '@tauri-apps/api': 2.7.0
++ '@tauri-apps/api': 2.6.0
+
+- '@tauri-apps/plugin-opener@2.4.0':
++ '@tauri-apps/plugin-opener@2.2.6':
+ dependencies:
+- '@tauri-apps/api': 2.7.0
++ '@tauri-apps/api': 2.5.0
+
+- '@tauri-apps/plugin-os@2.3.0':
++ '@tauri-apps/plugin-os@2.2.1':
+ dependencies:
+- '@tauri-apps/api': 2.7.0
++ '@tauri-apps/api': 2.5.0
+
+- '@tauri-apps/plugin-updater@2.9.0':
++ '@tauri-apps/plugin-updater@2.7.1':
+ dependencies:
+- '@tauri-apps/api': 2.7.0
++ '@tauri-apps/api': 2.5.0
+
+- '@tauri-apps/plugin-window-state@2.4.0':
++ '@tauri-apps/plugin-window-state@2.2.2':
+ dependencies:
+- '@tauri-apps/api': 2.7.0
++ '@tauri-apps/api': 2.5.0
+
+- '@tresjs/cientos@4.3.1(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(@types/three@0.172.0)(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))':
++ '@tresjs/cientos@4.3.1(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(@types/three@0.172.0)(react@19.1.1)(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@tresjs/core': 4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
+- '@vueuse/core': 12.8.2(typescript@5.9.2)
++ '@tresjs/core': 4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
++ '@vueuse/core': 12.8.2(typescript@5.5.4)
+ camera-controls: 2.10.1(three@0.172.0)
+ stats-gl: 2.4.2(@types/three@0.172.0)(three@0.172.0)
+ stats.js: 0.17.0
+ three: 0.172.0
+- three-custom-shader-material: 5.4.0(three@0.172.0)
++ three-custom-shader-material: 5.4.0(react@19.1.1)(three@0.172.0)
+ three-stdlib: 2.36.0(three@0.172.0)
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - '@react-three/fiber'
+ - '@types/three'
+ - react
+ - typescript
+
+- '@tresjs/core@4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))':
++ '@tresjs/core@4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ '@alvarosabu/utils': 3.2.0
+ '@vue/devtools-api': 6.6.4
+- '@vueuse/core': 12.8.2(typescript@5.9.2)
++ '@vueuse/core': 12.8.2(typescript@5.5.4)
+ three: 0.172.0
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
+- '@tresjs/post-processing@2.4.0(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))':
++ '@tresjs/post-processing@2.4.0(@tresjs/core@4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@tresjs/core': 4.3.6(three@0.172.0)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
+- '@vueuse/core': 12.8.2(typescript@5.9.2)
+- postprocessing: 6.37.7(three@0.172.0)
++ '@tresjs/core': 4.3.6(three@0.172.0)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
++ '@vueuse/core': 12.8.2(typescript@5.5.4)
++ postprocessing: 6.37.6(three@0.172.0)
+ three: 0.172.0
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
+@@ -10893,39 +10614,49 @@ snapshots:
+
+ '@tweenjs/tween.js@23.1.3': {}
+
+- '@tybys/wasm-util@0.10.0':
++ '@types/acorn@4.0.6':
+ dependencies:
+- tslib: 2.8.1
+- optional: true
++ '@types/estree': 1.0.8
++
++ '@types/cookie@0.6.0': {}
+
+ '@types/debug@4.1.12':
+ dependencies:
+- '@types/ms': 2.1.0
++ '@types/ms': 0.7.34
+
+- '@types/dompurify@3.2.0':
++ '@types/dompurify@3.0.5':
+ dependencies:
+- dompurify: 3.2.6
++ '@types/trusted-types': 2.0.7
+
+ '@types/draco3d@1.4.10': {}
+
+- '@types/estree-jsx@1.0.5':
++ '@types/eslint-scope@3.7.7':
+ dependencies:
++ '@types/eslint': 9.6.1
+ '@types/estree': 1.0.8
++ optional: true
+
+- '@types/estree@1.0.8': {}
++ '@types/eslint@9.6.1':
++ dependencies:
++ '@types/estree': 1.0.8
++ '@types/json-schema': 7.0.15
++ optional: true
+
+- '@types/fontkit@2.0.8':
++ '@types/estree-jsx@1.0.5':
+ dependencies:
+- '@types/node': 20.19.9
++ '@types/estree': 1.0.6
++
++ '@types/estree@1.0.6': {}
++
++ '@types/estree@1.0.8': {}
+
+- '@types/fs-extra@11.0.4':
++ '@types/fs-extra@9.0.13':
+ dependencies:
+- '@types/jsonfile': 6.1.4
+- '@types/node': 20.19.9
++ '@types/node': 20.14.11
+
+ '@types/glob@9.0.0':
+ dependencies:
+- glob: 10.4.5
++ glob: 10.4.2
+
+ '@types/hast@3.0.4':
+ dependencies:
+@@ -10933,21 +10664,19 @@ snapshots:
+
+ '@types/html-minifier-terser@7.0.2': {}
+
++ '@types/http-proxy@1.17.15':
++ dependencies:
++ '@types/node': 20.14.11
++
+ '@types/js-yaml@4.0.9': {}
+
+ '@types/json-schema@7.0.15': {}
+
+- '@types/json-stable-stringify@1.2.0':
+- dependencies:
+- json-stable-stringify: 1.3.0
+-
+- '@types/jsonfile@6.1.4':
+- dependencies:
+- '@types/node': 20.19.9
++ '@types/json-stable-stringify@1.0.36': {}
+
+ '@types/linkify-it@5.0.0': {}
+
+- '@types/markdown-it@14.1.2':
++ '@types/markdown-it@14.1.1':
+ dependencies:
+ '@types/linkify-it': 5.0.0
+ '@types/mdurl': 2.0.0
+@@ -10960,7 +10689,7 @@ snapshots:
+
+ '@types/mdx@2.0.13': {}
+
+- '@types/ms@2.1.0': {}
++ '@types/ms@0.7.34': {}
+
+ '@types/nlcst@2.0.3':
+ dependencies:
+@@ -10968,41 +10697,39 @@ snapshots:
+
+ '@types/node@17.0.45': {}
+
+- '@types/node@20.19.9':
++ '@types/node@20.14.11':
++ dependencies:
++ undici-types: 5.26.5
++
++ '@types/node@22.4.1':
+ dependencies:
+- undici-types: 6.21.0
++ undici-types: 6.19.8
++ optional: true
+
+ '@types/normalize-package-data@2.4.4': {}
+
+ '@types/offscreencanvas@2019.7.3': {}
+
+- '@types/parse-path@7.1.0':
+- dependencies:
+- parse-path: 7.1.0
+-
+ '@types/resolve@1.20.2': {}
+
+ '@types/rss@0.0.32': {}
+
+ '@types/sax@1.2.7':
+ dependencies:
+- '@types/node': 20.19.9
++ '@types/node': 20.14.11
+
+- '@types/stats.js@0.17.4': {}
++ '@types/stats.js@0.17.3': {}
+
+ '@types/three@0.172.0':
+ dependencies:
+ '@tweenjs/tween.js': 23.1.3
+- '@types/stats.js': 0.17.4
+- '@types/webxr': 0.5.22
+- '@webgpu/types': 0.1.64
++ '@types/stats.js': 0.17.3
++ '@types/webxr': 0.5.21
++ '@webgpu/types': 0.1.54
+ fflate: 0.8.2
+ meshoptimizer: 0.18.1
+
+- '@types/triple-beam@1.3.5': {}
+-
+- '@types/trusted-types@2.0.7':
+- optional: true
++ '@types/trusted-types@2.0.7': {}
+
+ '@types/unist@2.0.11': {}
+
+@@ -11014,316 +10741,262 @@ snapshots:
+
+ '@types/web-bluetooth@0.0.21': {}
+
+- '@types/webxr@0.5.22': {}
++ '@types/webxr@0.5.21': {}
+
+ '@types/xml2js@0.4.14':
+ dependencies:
+- '@types/node': 20.19.9
+-
+- '@types/yauzl@2.10.3':
+- dependencies:
+- '@types/node': 20.19.9
+- optional: true
++ '@types/node': 20.14.11
+
+- '@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4))(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)':
+ dependencies:
+- '@eslint-community/regexpp': 4.12.1
+- '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/scope-manager': 8.39.0
+- '@typescript-eslint/type-utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/visitor-keys': 8.39.0
+- eslint: 9.32.0(jiti@2.5.1)
++ '@eslint-community/regexpp': 4.11.0
++ '@typescript-eslint/parser': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ '@typescript-eslint/scope-manager': 8.10.0
++ '@typescript-eslint/type-utils': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ '@typescript-eslint/visitor-keys': 8.10.0
++ eslint: 9.13.0(jiti@2.5.1)
+ graphemer: 1.4.0
+- ignore: 7.0.5
++ ignore: 5.3.1
+ natural-compare: 1.4.0
+- ts-api-utils: 2.1.0(typescript@5.9.2)
+- typescript: 5.9.2
++ ts-api-utils: 1.3.0(typescript@5.5.4)
++ optionalDependencies:
++ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/eslint-plugin@8.39.1(@typescript-eslint/parser@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)':
+ dependencies:
+- '@eslint-community/regexpp': 4.12.1
+- '@typescript-eslint/parser': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/scope-manager': 8.39.1
+- '@typescript-eslint/type-utils': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/utils': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/visitor-keys': 8.39.1
++ '@eslint-community/regexpp': 4.11.0
++ '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
++ '@typescript-eslint/scope-manager': 8.38.0
++ '@typescript-eslint/type-utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
++ '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
++ '@typescript-eslint/visitor-keys': 8.38.0
+ eslint: 9.32.0(jiti@2.5.1)
+ graphemer: 1.4.0
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+- ts-api-utils: 2.1.0(typescript@5.9.2)
+- typescript: 5.9.2
++ ts-api-utils: 2.1.0(typescript@5.8.3)
++ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@typescript-eslint/parser@8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)':
+ dependencies:
+- '@typescript-eslint/scope-manager': 8.39.0
+- '@typescript-eslint/types': 8.39.0
+- '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+- '@typescript-eslint/visitor-keys': 8.39.0
+- debug: 4.4.1
+- eslint: 9.32.0(jiti@2.5.1)
+- typescript: 5.9.2
++ '@typescript-eslint/scope-manager': 8.10.0
++ '@typescript-eslint/types': 8.10.0
++ '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.5.4)
++ '@typescript-eslint/visitor-keys': 8.10.0
++ debug: 4.4.0(supports-color@9.4.0)
++ eslint: 9.13.0(jiti@2.5.1)
++ optionalDependencies:
++ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/parser@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)':
+ dependencies:
+- '@typescript-eslint/scope-manager': 8.39.1
+- '@typescript-eslint/types': 8.39.1
+- '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2)
+- '@typescript-eslint/visitor-keys': 8.39.1
+- debug: 4.4.1
++ '@typescript-eslint/scope-manager': 8.38.0
++ '@typescript-eslint/types': 8.38.0
++ '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
++ '@typescript-eslint/visitor-keys': 8.38.0
++ debug: 4.4.0(supports-color@9.4.0)
+ eslint: 9.32.0(jiti@2.5.1)
+- typescript: 5.9.2
+- transitivePeerDependencies:
+- - supports-color
+-
+- '@typescript-eslint/project-service@8.39.0(typescript@5.9.2)':
+- dependencies:
+- '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2)
+- '@typescript-eslint/types': 8.39.0
+- debug: 4.4.1
+- typescript: 5.9.2
++ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/project-service@8.39.1(typescript@5.9.2)':
++ '@typescript-eslint/project-service@8.38.0(typescript@5.8.3)':
+ dependencies:
+- '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2)
+- '@typescript-eslint/types': 8.39.1
+- debug: 4.4.1
+- typescript: 5.9.2
++ '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3)
++ '@typescript-eslint/types': 8.38.0
++ debug: 4.4.0(supports-color@9.4.0)
++ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/scope-manager@8.39.0':
++ '@typescript-eslint/scope-manager@8.10.0':
+ dependencies:
+- '@typescript-eslint/types': 8.39.0
+- '@typescript-eslint/visitor-keys': 8.39.0
++ '@typescript-eslint/types': 8.10.0
++ '@typescript-eslint/visitor-keys': 8.10.0
+
+- '@typescript-eslint/scope-manager@8.39.1':
++ '@typescript-eslint/scope-manager@8.38.0':
+ dependencies:
+- '@typescript-eslint/types': 8.39.1
+- '@typescript-eslint/visitor-keys': 8.39.1
++ '@typescript-eslint/types': 8.38.0
++ '@typescript-eslint/visitor-keys': 8.38.0
+
+- '@typescript-eslint/tsconfig-utils@8.39.0(typescript@5.9.2)':
++ '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)':
+ dependencies:
+- typescript: 5.9.2
++ typescript: 5.8.3
+
+- '@typescript-eslint/tsconfig-utils@8.39.1(typescript@5.9.2)':
++ '@typescript-eslint/type-utils@8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)':
+ dependencies:
+- typescript: 5.9.2
+-
+- '@typescript-eslint/type-utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
+- dependencies:
+- '@typescript-eslint/types': 8.39.0
+- '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+- '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- debug: 4.4.1
+- eslint: 9.32.0(jiti@2.5.1)
+- ts-api-utils: 2.1.0(typescript@5.9.2)
+- typescript: 5.9.2
++ '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.5.4)
++ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ debug: 4.4.0(supports-color@9.4.0)
++ ts-api-utils: 1.3.0(typescript@5.5.4)
++ optionalDependencies:
++ typescript: 5.5.4
+ transitivePeerDependencies:
++ - eslint
+ - supports-color
+
+- '@typescript-eslint/type-utils@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@typescript-eslint/type-utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)':
+ dependencies:
+- '@typescript-eslint/types': 8.39.1
+- '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2)
+- '@typescript-eslint/utils': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- debug: 4.4.1
++ '@typescript-eslint/types': 8.38.0
++ '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
++ '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
++ debug: 4.4.0(supports-color@9.4.0)
+ eslint: 9.32.0(jiti@2.5.1)
+- ts-api-utils: 2.1.0(typescript@5.9.2)
+- typescript: 5.9.2
++ ts-api-utils: 2.1.0(typescript@5.8.3)
++ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/types@8.39.0': {}
++ '@typescript-eslint/types@8.10.0': {}
+
+- '@typescript-eslint/types@8.39.1': {}
++ '@typescript-eslint/types@8.38.0': {}
+
+- '@typescript-eslint/typescript-estree@8.39.0(typescript@5.9.2)':
++ '@typescript-eslint/typescript-estree@8.10.0(typescript@5.5.4)':
+ dependencies:
+- '@typescript-eslint/project-service': 8.39.0(typescript@5.9.2)
+- '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2)
+- '@typescript-eslint/types': 8.39.0
+- '@typescript-eslint/visitor-keys': 8.39.0
+- debug: 4.4.1
+- fast-glob: 3.3.3
++ '@typescript-eslint/types': 8.10.0
++ '@typescript-eslint/visitor-keys': 8.10.0
++ debug: 4.4.0(supports-color@9.4.0)
++ fast-glob: 3.3.2
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+- semver: 7.7.2
+- ts-api-utils: 2.1.0(typescript@5.9.2)
+- typescript: 5.9.2
++ semver: 7.7.1
++ ts-api-utils: 1.3.0(typescript@5.5.4)
++ optionalDependencies:
++ typescript: 5.5.4
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/typescript-estree@8.39.1(typescript@5.9.2)':
++ '@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)':
+ dependencies:
+- '@typescript-eslint/project-service': 8.39.1(typescript@5.9.2)
+- '@typescript-eslint/tsconfig-utils': 8.39.1(typescript@5.9.2)
+- '@typescript-eslint/types': 8.39.1
+- '@typescript-eslint/visitor-keys': 8.39.1
+- debug: 4.4.1
+- fast-glob: 3.3.3
++ '@typescript-eslint/project-service': 8.38.0(typescript@5.8.3)
++ '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3)
++ '@typescript-eslint/types': 8.38.0
++ '@typescript-eslint/visitor-keys': 8.38.0
++ debug: 4.4.0(supports-color@9.4.0)
++ fast-glob: 3.3.2
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.7.2
+- ts-api-utils: 2.1.0(typescript@5.9.2)
+- typescript: 5.9.2
++ ts-api-utils: 2.1.0(typescript@5.8.3)
++ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@typescript-eslint/utils@8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)':
+ dependencies:
+- '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
+- '@typescript-eslint/scope-manager': 8.39.0
+- '@typescript-eslint/types': 8.39.0
+- '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+- eslint: 9.32.0(jiti@2.5.1)
+- typescript: 5.9.2
++ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@2.5.1))
++ '@typescript-eslint/scope-manager': 8.10.0
++ '@typescript-eslint/types': 8.10.0
++ '@typescript-eslint/typescript-estree': 8.10.0(typescript@5.5.4)
++ eslint: 9.13.0(jiti@2.5.1)
+ transitivePeerDependencies:
+ - supports-color
++ - typescript
+
+- '@typescript-eslint/utils@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
++ '@typescript-eslint/utils@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
+- '@typescript-eslint/scope-manager': 8.39.1
+- '@typescript-eslint/types': 8.39.1
+- '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2)
++ '@typescript-eslint/scope-manager': 8.38.0
++ '@typescript-eslint/types': 8.38.0
++ '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
+ eslint: 9.32.0(jiti@2.5.1)
+- typescript: 5.9.2
++ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+- '@typescript-eslint/visitor-keys@8.39.0':
++ '@typescript-eslint/visitor-keys@8.10.0':
+ dependencies:
+- '@typescript-eslint/types': 8.39.0
+- eslint-visitor-keys: 4.2.1
++ '@typescript-eslint/types': 8.10.0
++ eslint-visitor-keys: 3.4.3
+
+- '@typescript-eslint/visitor-keys@8.39.1':
++ '@typescript-eslint/visitor-keys@8.38.0':
+ dependencies:
+- '@typescript-eslint/types': 8.39.1
++ '@typescript-eslint/types': 8.38.0
+ eslint-visitor-keys: 4.2.1
+
+- '@ungap/structured-clone@1.3.0': {}
++ '@ungap/structured-clone@1.2.0': {}
+
+- '@unhead/vue@2.0.14(vue@3.5.18(typescript@5.9.2))':
++ '@unhead/dom@1.11.13':
+ dependencies:
+- hookable: 5.5.3
+- unhead: 2.0.14
+- vue: 3.5.18(typescript@5.9.2)
+-
+- '@unrs/resolver-binding-android-arm-eabi@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-android-arm64@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-darwin-arm64@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-darwin-x64@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-freebsd-x64@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-arm64-gnu@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
+- optional: true
+-
+- '@unrs/resolver-binding-linux-x64-musl@1.11.1':
+- optional: true
++ '@unhead/schema': 1.11.13
++ '@unhead/shared': 1.11.13
+
+- '@unrs/resolver-binding-wasm32-wasi@1.11.1':
++ '@unhead/schema@1.11.13':
+ dependencies:
+- '@napi-rs/wasm-runtime': 0.2.12
+- optional: true
++ hookable: 5.5.3
++ zhead: 2.2.4
+
+- '@unrs/resolver-binding-win32-arm64-msvc@1.11.1':
+- optional: true
++ '@unhead/shared@1.11.13':
++ dependencies:
++ '@unhead/schema': 1.11.13
+
+- '@unrs/resolver-binding-win32-ia32-msvc@1.11.1':
+- optional: true
++ '@unhead/ssr@1.11.13':
++ dependencies:
++ '@unhead/schema': 1.11.13
++ '@unhead/shared': 1.11.13
+
+- '@unrs/resolver-binding-win32-x64-msvc@1.11.1':
+- optional: true
++ '@unhead/vue@1.11.13(vue@3.5.13(typescript@5.5.4))':
++ dependencies:
++ '@unhead/schema': 1.11.13
++ '@unhead/shared': 1.11.13
++ defu: 6.1.4
++ hookable: 5.5.3
++ unhead: 1.11.13
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vercel/nft@0.29.4(rollup@4.46.2)':
++ '@vercel/nft@0.27.7(rollup@4.28.1)':
+ dependencies:
+- '@mapbox/node-pre-gyp': 2.0.0
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
+- acorn: 8.15.0
+- acorn-import-attributes: 1.9.5(acorn@8.15.0)
++ '@mapbox/node-pre-gyp': 1.0.11
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ acorn: 8.14.0
++ acorn-import-attributes: 1.9.5(acorn@8.14.0)
+ async-sema: 3.1.1
+ bindings: 1.5.0
+ estree-walker: 2.0.2
+- glob: 10.4.5
++ glob: 7.2.3
+ graceful-fs: 4.2.11
+- node-gyp-build: 4.8.4
+- picomatch: 4.0.3
++ micromatch: 4.0.8
++ node-gyp-build: 4.8.1
+ resolve-from: 5.0.0
+ transitivePeerDependencies:
+ - encoding
+ - rollup
+ - supports-color
+
+- '@vintl/compact-number@2.0.7(@formatjs/intl@2.10.15(typescript@5.9.2))':
++ '@vintl/compact-number@2.0.7(@formatjs/intl@2.10.4(typescript@5.5.4))':
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.3
+- '@formatjs/intl': 2.10.15(typescript@5.9.2)
+- '@formatjs/intl-localematcher': 0.5.10
+- intl-messageformat: 10.7.16
++ '@formatjs/intl': 2.10.4(typescript@5.5.4)
++ '@formatjs/intl-localematcher': 0.5.4
++ intl-messageformat: 10.5.14
+
+- '@vintl/how-ago@3.0.1(@formatjs/intl@2.10.15(typescript@5.9.2))':
++ '@vintl/how-ago@3.0.1(@formatjs/intl@2.10.4(typescript@5.5.4))':
+ dependencies:
+- '@formatjs/intl': 2.10.15(typescript@5.9.2)
+- intl-messageformat: 10.7.16
++ '@formatjs/intl': 2.10.4(typescript@5.5.4)
++ intl-messageformat: 10.5.14
+
+- '@vintl/nuxt@1.9.2(@vue/compiler-core@3.5.18)(magicast@0.3.5)(rollup@4.46.2)(typescript@5.9.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@vintl/nuxt@1.9.2(@vue/compiler-core@3.5.13)(magicast@0.3.5)(rollup@4.28.1)(typescript@5.5.4)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))(webpack@5.92.1)':
+ dependencies:
+- '@formatjs/intl': 2.10.15(typescript@5.9.2)
+- '@formatjs/intl-localematcher': 0.5.10
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- '@vintl/unplugin': 2.0.0(@vue/compiler-core@3.5.18)(rollup@4.46.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
+- '@vintl/vintl': 4.4.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
+- astring: 1.9.0
+- consola: 3.4.2
++ '@formatjs/intl': 2.10.4(typescript@5.5.4)
++ '@formatjs/intl-localematcher': 0.5.4
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ '@vintl/unplugin': 2.0.0(@vue/compiler-core@3.5.13)(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))(webpack@5.92.1)
++ '@vintl/vintl': 4.4.1(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
++ astring: 1.8.6
++ consola: 3.2.3
+ hash-sum: 2.0.0
+ import-meta-resolve: 4.1.0
+ pathe: 1.1.2
+ picocolors: 1.1.1
+ slash: 5.1.0
+- ufo: 1.6.1
++ ufo: 1.5.4
+ transitivePeerDependencies:
+ - '@glimmer/env'
+ - '@glimmer/reference'
+@@ -11334,21 +11007,26 @@ snapshots:
+ - ember-template-recast
+ - magicast
+ - rollup
++ - supports-color
+ - ts-jest
+ - typescript
+ - vite
+ - vue
+ - webpack
+
+- '@vintl/unplugin@1.5.2(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))':
++ '@vintl/unplugin@1.5.2(@vue/compiler-core@3.5.13)(rollup@3.29.4)(vite@4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))(webpack@5.92.1)':
+ dependencies:
+- '@formatjs/cli-lib': 6.6.6(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))
+- '@formatjs/icu-messageformat-parser': 2.11.2
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
+- glob: 10.4.5
++ '@formatjs/cli-lib': 6.4.2(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.5.4))
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@rollup/pluginutils': 5.1.3(rollup@3.29.4)
++ glob: 10.4.2
+ import-meta-resolve: 4.1.0
+ pathe: 1.1.2
+- unplugin: 1.16.1
++ unplugin: 1.16.0
++ optionalDependencies:
++ rollup: 3.29.4
++ vite: 4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1)
++ webpack: 5.92.1
+ transitivePeerDependencies:
+ - '@glimmer/env'
+ - '@glimmer/reference'
+@@ -11360,18 +11038,19 @@ snapshots:
+ - ts-jest
+ - vue
+
+- '@vintl/unplugin@2.0.0(@vue/compiler-core@3.5.18)(rollup@4.46.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@vintl/unplugin@2.0.0(@vue/compiler-core@3.5.13)(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))(webpack@5.92.1)':
+ dependencies:
+- '@formatjs/cli-lib': 6.6.6(@vue/compiler-core@3.5.18)(vue@3.5.18(typescript@5.9.2))
+- '@formatjs/icu-messageformat-parser': 2.11.2
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
+- glob: 10.4.5
++ '@formatjs/cli-lib': 6.4.2(@vue/compiler-core@3.5.13)(vue@3.5.13(typescript@5.5.4))
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ glob: 10.4.2
+ import-meta-resolve: 4.1.0
+ pathe: 1.1.2
+- unplugin: 1.16.1
++ unplugin: 1.16.0
+ optionalDependencies:
+- rollup: 4.46.2
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
++ rollup: 4.28.1
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
++ webpack: 5.92.1
+ transitivePeerDependencies:
+ - '@glimmer/env'
+ - '@glimmer/reference'
+@@ -11383,291 +11062,299 @@ snapshots:
+ - ts-jest
+ - vue
+
+- '@vintl/vintl@4.4.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))':
++ '@vintl/vintl@4.4.1(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@braw/async-computed': 5.0.2(vue@3.5.18(typescript@5.9.2))
+- '@formatjs/icu-messageformat-parser': 2.11.2
+- '@formatjs/intl': 2.10.15(typescript@5.9.2)
++ '@braw/async-computed': 5.0.2(vue@3.5.13(typescript@5.5.4))
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@formatjs/intl': 2.10.4(typescript@5.5.4)
+ '@formatjs/intl-localematcher': 0.4.2
+- intl-messageformat: 10.7.16
+- vue: 3.5.18(typescript@5.9.2)
++ intl-messageformat: 10.5.14
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
+- '@vitejs/plugin-vue-jsx@5.0.1(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@vintl/vintl@4.4.1(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))':
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0)
+- '@rolldown/pluginutils': 1.0.0-beta.31
+- '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.28.0)
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vue: 3.5.18(typescript@5.9.2)
++ '@braw/async-computed': 5.0.2(vue@3.5.13(typescript@5.8.3))
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ '@formatjs/intl': 2.10.4(typescript@5.8.3)
++ '@formatjs/intl-localematcher': 0.4.2
++ intl-messageformat: 10.5.14
++ vue: 3.5.13(typescript@5.8.3)
+ transitivePeerDependencies:
+- - supports-color
++ - typescript
+
+- '@vitejs/plugin-vue@5.2.4(vite@5.4.19(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1))(vue@3.5.18(typescript@5.9.2))':
++ '@vitejs/plugin-vue-jsx@4.1.1(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vite: 5.4.19(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1)
+- vue: 3.5.18(typescript@5.9.2)
++ '@babel/core': 7.26.0
++ '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0)
++ '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
++ vue: 3.5.13(typescript@5.5.4)
++ transitivePeerDependencies:
++ - supports-color
+
+- '@vitejs/plugin-vue@5.2.4(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vue: 3.5.18(typescript@5.9.2)
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vitejs/plugin-vue@6.0.1(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@vitejs/plugin-vue@5.2.1(vite@5.4.11(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@rolldown/pluginutils': 1.0.0-beta.29
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vue: 3.5.18(typescript@5.9.2)
++ vite: 5.4.11(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@volar/kit@2.4.22(typescript@5.9.2)':
++ '@volar/kit@2.4.11(typescript@5.8.2)':
+ dependencies:
+- '@volar/language-service': 2.4.22
+- '@volar/typescript': 2.4.22
++ '@volar/language-service': 2.4.11
++ '@volar/typescript': 2.4.11
+ typesafe-path: 0.2.2
+- typescript: 5.9.2
++ typescript: 5.8.2
+ vscode-languageserver-textdocument: 1.0.12
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+- '@volar/language-core@2.4.15':
++ '@volar/language-core@2.4.11':
+ dependencies:
+- '@volar/source-map': 2.4.15
++ '@volar/source-map': 2.4.11
+
+- '@volar/language-core@2.4.22':
++ '@volar/language-core@2.4.4':
+ dependencies:
+- '@volar/source-map': 2.4.22
++ '@volar/source-map': 2.4.4
+
+- '@volar/language-server@2.4.22':
++ '@volar/language-server@2.4.11':
+ dependencies:
+- '@volar/language-core': 2.4.22
+- '@volar/language-service': 2.4.22
+- '@volar/typescript': 2.4.22
++ '@volar/language-core': 2.4.11
++ '@volar/language-service': 2.4.11
++ '@volar/typescript': 2.4.11
+ path-browserify: 1.0.1
+ request-light: 0.7.0
+ vscode-languageserver: 9.0.1
+ vscode-languageserver-protocol: 3.17.5
+ vscode-languageserver-textdocument: 1.0.12
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+- '@volar/language-service@2.4.22':
++ '@volar/language-service@2.4.11':
+ dependencies:
+- '@volar/language-core': 2.4.22
++ '@volar/language-core': 2.4.11
+ vscode-languageserver-protocol: 3.17.5
+ vscode-languageserver-textdocument: 1.0.12
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+- '@volar/source-map@2.4.15': {}
++ '@volar/source-map@2.4.11': {}
+
+- '@volar/source-map@2.4.22': {}
++ '@volar/source-map@2.4.4': {}
+
+- '@volar/typescript@2.4.15':
++ '@volar/typescript@2.4.11':
+ dependencies:
+- '@volar/language-core': 2.4.15
++ '@volar/language-core': 2.4.11
+ path-browserify: 1.0.1
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+- '@volar/typescript@2.4.22':
++ '@volar/typescript@2.4.4':
+ dependencies:
+- '@volar/language-core': 2.4.22
++ '@volar/language-core': 2.4.4
+ path-browserify: 1.0.1
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+- '@vscode/emmet-helper@2.11.0':
++ '@vscode/emmet-helper@2.9.3':
+ dependencies:
+- emmet: 2.4.11
++ emmet: 2.4.7
+ jsonc-parser: 2.3.1
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+- vscode-uri: 3.1.0
++ vscode-uri: 2.1.2
+
+ '@vscode/l10n@0.0.18': {}
+
+- '@vue-email/body@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/body@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/button@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/button@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/code-block@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/code-block@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ shiki: 1.29.2
+- vue: 3.5.18(typescript@5.9.2)
+-
+- '@vue-email/code-inline@0.0.3(vue@3.5.18(typescript@5.9.2))':
+- dependencies:
+- vue: 3.5.18(typescript@5.9.2)
+-
+- '@vue-email/column@0.0.3(vue@3.5.18(typescript@5.9.2))':
+- dependencies:
+- vue: 3.5.18(typescript@5.9.2)
+-
+- '@vue-email/components@0.0.21(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))':
+- dependencies:
+- '@vue-email/body': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/button': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/code-block': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/code-inline': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/column': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/container': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/font': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/head': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/heading': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/hr': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/html': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/img': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/link': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/markdown': 0.0.7(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/preview': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/render': 0.0.9(typescript@5.9.2)
+- '@vue-email/row': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/section': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/style': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/tailwind': 0.2.0(vue@3.5.18(typescript@5.9.2))
+- '@vue-email/text': 0.0.3(vue@3.5.18(typescript@5.9.2))
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
++
++ '@vue-email/code-inline@0.0.3(vue@3.5.13(typescript@5.5.4))':
++ dependencies:
++ vue: 3.5.13(typescript@5.5.4)
++
++ '@vue-email/column@0.0.3(vue@3.5.13(typescript@5.5.4))':
++ dependencies:
++ vue: 3.5.13(typescript@5.5.4)
++
++ '@vue-email/components@0.0.21(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))':
++ dependencies:
++ '@vue-email/body': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/button': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/code-block': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/code-inline': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/column': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/container': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/font': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/head': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/heading': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/hr': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/html': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/img': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/link': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/markdown': 0.0.7(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/preview': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/render': 0.0.9(typescript@5.5.4)
++ '@vue-email/row': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/section': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/style': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/tailwind': 0.2.0(vue@3.5.13(typescript@5.5.4))
++ '@vue-email/text': 0.0.3(vue@3.5.13(typescript@5.5.4))
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
+- '@vue-email/container@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/container@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/font@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/font@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/head@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/head@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/heading@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/heading@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/hr@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/hr@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/html@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/html@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/img@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/img@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/link@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/link@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/markdown@0.0.7(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/markdown@0.0.7(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ marked: 7.0.4
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/preview@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/preview@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/render@0.0.9(typescript@5.9.2)':
++ '@vue-email/render@0.0.9(typescript@5.5.4)':
+ dependencies:
+ html-to-text: 9.0.5
+ js-beautify: 1.15.4
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
+- '@vue-email/row@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/row@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/section@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/section@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/style@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/style@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/tailwind@0.2.0(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/tailwind@0.2.0(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-email/text@0.0.3(vue@3.5.18(typescript@5.9.2))':
++ '@vue-email/text@0.0.3(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue-macros/common@3.0.0-beta.16(vue@3.5.18(typescript@5.9.2))':
++ '@vue-macros/common@1.15.0(rollup@4.28.1)(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@vue/compiler-sfc': 3.5.18
+- ast-kit: 2.1.1
+- local-pkg: 1.1.1
+- magic-string-ast: 1.0.0
+- unplugin-utils: 0.2.5
++ '@babel/types': 7.26.3
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ '@vue/compiler-sfc': 3.5.13
++ ast-kit: 1.3.2
++ local-pkg: 0.5.1
++ magic-string-ast: 0.6.2
+ optionalDependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
++ transitivePeerDependencies:
++ - rollup
+
+- '@vue/babel-helper-vue-transform-on@1.4.0': {}
++ '@vue/babel-helper-vue-transform-on@1.2.5': {}
+
+- '@vue/babel-plugin-jsx@1.4.0(@babel/core@7.28.0)':
++ '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/helper-module-imports': 7.27.1
+- '@babel/helper-plugin-utils': 7.27.1
+- '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0)
+- '@babel/template': 7.27.2
+- '@babel/traverse': 7.28.0
+- '@babel/types': 7.28.2
+- '@vue/babel-helper-vue-transform-on': 1.4.0
+- '@vue/babel-plugin-resolve-type': 1.4.0(@babel/core@7.28.0)
+- '@vue/shared': 3.5.18
++ '@babel/helper-module-imports': 7.25.9
++ '@babel/helper-plugin-utils': 7.25.9
++ '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0)
++ '@babel/template': 7.25.9
++ '@babel/traverse': 7.26.4
++ '@babel/types': 7.26.3
++ '@vue/babel-helper-vue-transform-on': 1.2.5
++ '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0)
++ html-tags: 3.3.1
++ svg-tags: 1.0.0
+ optionalDependencies:
+- '@babel/core': 7.28.0
++ '@babel/core': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+- '@vue/babel-plugin-resolve-type@1.4.0(@babel/core@7.28.0)':
++ '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.26.0)':
+ dependencies:
+- '@babel/code-frame': 7.27.1
+- '@babel/core': 7.28.0
+- '@babel/helper-module-imports': 7.27.1
+- '@babel/helper-plugin-utils': 7.27.1
+- '@babel/parser': 7.28.0
+- '@vue/compiler-sfc': 3.5.18
++ '@babel/code-frame': 7.26.2
++ '@babel/core': 7.26.0
++ '@babel/helper-module-imports': 7.25.9
++ '@babel/helper-plugin-utils': 7.25.9
++ '@babel/parser': 7.26.3
++ '@vue/compiler-sfc': 3.5.13
+ transitivePeerDependencies:
+ - supports-color
+
+- '@vue/compiler-core@3.5.18':
++ '@vue/compiler-core@3.5.13':
+ dependencies:
+- '@babel/parser': 7.28.0
+- '@vue/shared': 3.5.18
++ '@babel/parser': 7.26.3
++ '@vue/shared': 3.5.13
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
+- '@vue/compiler-dom@3.5.18':
++ '@vue/compiler-dom@3.5.13':
+ dependencies:
+- '@vue/compiler-core': 3.5.18
+- '@vue/shared': 3.5.18
++ '@vue/compiler-core': 3.5.13
++ '@vue/shared': 3.5.13
+
+- '@vue/compiler-sfc@3.5.18':
++ '@vue/compiler-sfc@3.5.13':
+ dependencies:
+- '@babel/parser': 7.28.0
+- '@vue/compiler-core': 3.5.18
+- '@vue/compiler-dom': 3.5.18
+- '@vue/compiler-ssr': 3.5.18
+- '@vue/shared': 3.5.18
++ '@babel/parser': 7.26.3
++ '@vue/compiler-core': 3.5.13
++ '@vue/compiler-dom': 3.5.13
++ '@vue/compiler-ssr': 3.5.13
++ '@vue/shared': 3.5.13
+ estree-walker: 2.0.2
+- magic-string: 0.30.17
+- postcss: 8.5.6
++ magic-string: 0.30.14
++ postcss: 8.4.49
+ source-map-js: 1.2.1
+
+- '@vue/compiler-ssr@3.5.18':
++ '@vue/compiler-ssr@3.5.13':
+ dependencies:
+- '@vue/compiler-dom': 3.5.18
+- '@vue/shared': 3.5.18
++ '@vue/compiler-dom': 3.5.13
++ '@vue/shared': 3.5.13
+
+ '@vue/compiler-vue2@2.7.16':
+ dependencies:
+@@ -11676,226 +11363,299 @@ snapshots:
+
+ '@vue/devtools-api@6.6.4': {}
+
+- '@vue/devtools-core@7.6.8(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
++ '@vue/devtools-core@7.6.4(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@vue/devtools-kit': 7.6.8
+- '@vue/devtools-shared': 7.7.7
++ '@vue/devtools-kit': 7.6.4
++ '@vue/devtools-shared': 7.6.7
+ mitt: 3.0.1
+- nanoid: 5.1.5
++ nanoid: 3.3.7
+ pathe: 1.1.2
+- vite-hot-client: 0.2.4(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+- vue: 3.5.18(typescript@5.9.2)
+- transitivePeerDependencies:
+- - vite
+-
+- '@vue/devtools-core@7.7.7(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))':
+- dependencies:
+- '@vue/devtools-kit': 7.7.7
+- '@vue/devtools-shared': 7.7.7
+- mitt: 3.0.1
+- nanoid: 5.1.5
+- pathe: 2.0.3
+- vite-hot-client: 2.1.0(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+- vue: 3.5.18(typescript@5.9.2)
++ vite-hot-client: 0.2.3(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - vite
+
+- '@vue/devtools-kit@7.6.8':
++ '@vue/devtools-kit@7.6.4':
+ dependencies:
+- '@vue/devtools-shared': 7.7.7
++ '@vue/devtools-shared': 7.6.7
+ birpc: 0.2.19
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+- superjson: 2.2.2
+-
+- '@vue/devtools-kit@7.7.7':
+- dependencies:
+- '@vue/devtools-shared': 7.7.7
+- birpc: 2.5.0
+- hookable: 5.5.3
+- mitt: 3.0.1
+- perfect-debounce: 1.0.0
+- speakingurl: 14.0.1
+- superjson: 2.2.2
++ superjson: 2.2.1
+
+- '@vue/devtools-shared@7.7.7':
++ '@vue/devtools-shared@7.6.7':
+ dependencies:
+ rfdc: 1.4.1
+
+- '@vue/language-core@2.2.12(typescript@5.9.2)':
++ '@vue/language-core@2.1.6(typescript@5.5.4)':
+ dependencies:
+- '@volar/language-core': 2.4.15
+- '@vue/compiler-dom': 3.5.18
++ '@volar/language-core': 2.4.4
++ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-vue2': 2.7.16
+- '@vue/shared': 3.5.18
+- alien-signals: 1.0.13
++ '@vue/shared': 3.5.13
++ computeds: 0.0.1
+ minimatch: 9.0.5
+ muggle-string: 0.4.1
+ path-browserify: 1.0.1
+ optionalDependencies:
+- typescript: 5.9.2
++ typescript: 5.5.4
+
+- '@vue/language-core@3.0.5(typescript@5.9.2)':
++ '@vue/reactivity@3.5.13':
+ dependencies:
+- '@volar/language-core': 2.4.22
+- '@vue/compiler-dom': 3.5.18
+- '@vue/compiler-vue2': 2.7.16
+- '@vue/shared': 3.5.18
+- alien-signals: 2.0.6
+- muggle-string: 0.4.1
+- path-browserify: 1.0.1
+- picomatch: 4.0.3
+- optionalDependencies:
+- typescript: 5.9.2
++ '@vue/shared': 3.5.13
+
+- '@vue/reactivity@3.5.18':
++ '@vue/runtime-core@3.5.13':
+ dependencies:
+- '@vue/shared': 3.5.18
++ '@vue/reactivity': 3.5.13
++ '@vue/shared': 3.5.13
+
+- '@vue/runtime-core@3.5.18':
++ '@vue/runtime-dom@3.5.13':
+ dependencies:
+- '@vue/reactivity': 3.5.18
+- '@vue/shared': 3.5.18
++ '@vue/reactivity': 3.5.13
++ '@vue/runtime-core': 3.5.13
++ '@vue/shared': 3.5.13
++ csstype: 3.1.3
+
+- '@vue/runtime-dom@3.5.18':
++ '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- '@vue/reactivity': 3.5.18
+- '@vue/runtime-core': 3.5.18
+- '@vue/shared': 3.5.18
+- csstype: 3.1.3
++ '@vue/compiler-ssr': 3.5.13
++ '@vue/shared': 3.5.13
++ vue: 3.5.13(typescript@5.5.4)
+
+- '@vue/server-renderer@3.5.18(vue@3.5.18(typescript@5.9.2))':
++ '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.3))':
+ dependencies:
+- '@vue/compiler-ssr': 3.5.18
+- '@vue/shared': 3.5.18
+- vue: 3.5.18(typescript@5.9.2)
++ '@vue/compiler-ssr': 3.5.13
++ '@vue/shared': 3.5.13
++ vue: 3.5.13(typescript@5.8.3)
+
+- '@vue/shared@3.5.18': {}
++ '@vue/shared@3.5.13': {}
+
+- '@vue/tsconfig@0.7.0(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))':
++ '@vue/tsconfig@0.7.0(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))':
+ optionalDependencies:
+- typescript: 5.9.2
+- vue: 3.5.18(typescript@5.9.2)
++ typescript: 5.8.3
++ vue: 3.5.13(typescript@5.8.3)
+
+- '@vueuse/core@11.3.0(vue@3.5.18(typescript@5.9.2))':
++ '@vueuse/core@11.1.0(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+- '@vueuse/metadata': 11.3.0
+- '@vueuse/shared': 11.3.0(vue@3.5.18(typescript@5.9.2))
+- vue-demi: 0.14.10(vue@3.5.18(typescript@5.9.2))
++ '@vueuse/metadata': 11.1.0
++ '@vueuse/shared': 11.1.0(vue@3.5.13(typescript@5.5.4))
++ vue-demi: 0.14.10(vue@3.5.13(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+- '@vueuse/core@12.8.2(typescript@5.9.2)':
++ '@vueuse/core@12.8.2(typescript@5.5.4)':
+ dependencies:
+ '@types/web-bluetooth': 0.0.21
+ '@vueuse/metadata': 12.8.2
+- '@vueuse/shared': 12.8.2(typescript@5.9.2)
+- vue: 3.5.18(typescript@5.9.2)
++ '@vueuse/shared': 12.8.2(typescript@5.5.4)
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
+- '@vueuse/core@9.13.0(vue@3.5.18(typescript@5.9.2))':
++ '@vueuse/core@9.13.0(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.16
+ '@vueuse/metadata': 9.13.0
+- '@vueuse/shared': 9.13.0(vue@3.5.18(typescript@5.9.2))
+- vue-demi: 0.14.10(vue@3.5.18(typescript@5.9.2))
++ '@vueuse/shared': 9.13.0(vue@3.5.13(typescript@5.5.4))
++ vue-demi: 0.14.10(vue@3.5.13(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+- '@vueuse/metadata@11.3.0': {}
++ '@vueuse/metadata@11.1.0': {}
+
+ '@vueuse/metadata@12.8.2': {}
+
+ '@vueuse/metadata@9.13.0': {}
+
+- '@vueuse/shared@11.3.0(vue@3.5.18(typescript@5.9.2))':
++ '@vueuse/shared@11.1.0(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue-demi: 0.14.10(vue@3.5.18(typescript@5.9.2))
++ vue-demi: 0.14.10(vue@3.5.13(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+- '@vueuse/shared@12.8.2(typescript@5.9.2)':
++ '@vueuse/shared@12.8.2(typescript@5.5.4)':
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - typescript
+
+- '@vueuse/shared@9.13.0(vue@3.5.18(typescript@5.9.2))':
++ '@vueuse/shared@9.13.0(vue@3.5.13(typescript@5.5.4))':
+ dependencies:
+- vue-demi: 0.14.10(vue@3.5.18(typescript@5.9.2))
++ vue-demi: 0.14.10(vue@3.5.13(typescript@5.5.4))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+- '@webgpu/types@0.1.64': {}
++ '@webassemblyjs/ast@1.14.1':
++ dependencies:
++ '@webassemblyjs/helper-numbers': 1.13.2
++ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
++ optional: true
++
++ '@webassemblyjs/floating-point-hex-parser@1.13.2':
++ optional: true
++
++ '@webassemblyjs/helper-api-error@1.13.2':
++ optional: true
++
++ '@webassemblyjs/helper-buffer@1.14.1':
++ optional: true
++
++ '@webassemblyjs/helper-numbers@1.13.2':
++ dependencies:
++ '@webassemblyjs/floating-point-hex-parser': 1.13.2
++ '@webassemblyjs/helper-api-error': 1.13.2
++ '@xtuc/long': 4.2.2
++ optional: true
++
++ '@webassemblyjs/helper-wasm-bytecode@1.13.2':
++ optional: true
++
++ '@webassemblyjs/helper-wasm-section@1.14.1':
++ dependencies:
++ '@webassemblyjs/ast': 1.14.1
++ '@webassemblyjs/helper-buffer': 1.14.1
++ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
++ '@webassemblyjs/wasm-gen': 1.14.1
++ optional: true
++
++ '@webassemblyjs/ieee754@1.13.2':
++ dependencies:
++ '@xtuc/ieee754': 1.2.0
++ optional: true
++
++ '@webassemblyjs/leb128@1.13.2':
++ dependencies:
++ '@xtuc/long': 4.2.2
++ optional: true
++
++ '@webassemblyjs/utf8@1.13.2':
++ optional: true
+
+- '@whatwg-node/disposablestack@0.0.6':
++ '@webassemblyjs/wasm-edit@1.14.1':
+ dependencies:
+- '@whatwg-node/promise-helpers': 1.3.2
+- tslib: 2.8.1
++ '@webassemblyjs/ast': 1.14.1
++ '@webassemblyjs/helper-buffer': 1.14.1
++ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
++ '@webassemblyjs/helper-wasm-section': 1.14.1
++ '@webassemblyjs/wasm-gen': 1.14.1
++ '@webassemblyjs/wasm-opt': 1.14.1
++ '@webassemblyjs/wasm-parser': 1.14.1
++ '@webassemblyjs/wast-printer': 1.14.1
++ optional: true
+
+- '@whatwg-node/fetch@0.10.10':
++ '@webassemblyjs/wasm-gen@1.14.1':
+ dependencies:
+- '@whatwg-node/node-fetch': 0.7.25
+- urlpattern-polyfill: 10.1.0
++ '@webassemblyjs/ast': 1.14.1
++ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
++ '@webassemblyjs/ieee754': 1.13.2
++ '@webassemblyjs/leb128': 1.13.2
++ '@webassemblyjs/utf8': 1.13.2
++ optional: true
+
+- '@whatwg-node/node-fetch@0.7.25':
++ '@webassemblyjs/wasm-opt@1.14.1':
+ dependencies:
+- '@fastify/busboy': 3.1.1
+- '@whatwg-node/disposablestack': 0.0.6
+- '@whatwg-node/promise-helpers': 1.3.2
+- tslib: 2.8.1
++ '@webassemblyjs/ast': 1.14.1
++ '@webassemblyjs/helper-buffer': 1.14.1
++ '@webassemblyjs/wasm-gen': 1.14.1
++ '@webassemblyjs/wasm-parser': 1.14.1
++ optional: true
+
+- '@whatwg-node/promise-helpers@1.3.2':
++ '@webassemblyjs/wasm-parser@1.14.1':
+ dependencies:
+- tslib: 2.8.1
++ '@webassemblyjs/ast': 1.14.1
++ '@webassemblyjs/helper-api-error': 1.13.2
++ '@webassemblyjs/helper-wasm-bytecode': 1.13.2
++ '@webassemblyjs/ieee754': 1.13.2
++ '@webassemblyjs/leb128': 1.13.2
++ '@webassemblyjs/utf8': 1.13.2
++ optional: true
+
+- '@whatwg-node/server@0.9.71':
++ '@webassemblyjs/wast-printer@1.14.1':
+ dependencies:
+- '@whatwg-node/disposablestack': 0.0.6
+- '@whatwg-node/fetch': 0.10.10
+- '@whatwg-node/promise-helpers': 1.3.2
+- tslib: 2.8.1
++ '@webassemblyjs/ast': 1.14.1
++ '@xtuc/long': 4.2.2
++ optional: true
++
++ '@webgpu/types@0.1.54': {}
+
+ '@xml-tools/parser@1.0.11':
+ dependencies:
+ chevrotain: 7.1.1
+
++ '@xtuc/ieee754@1.2.0':
++ optional: true
++
++ '@xtuc/long@4.2.2':
++ optional: true
++
+ '@yr/monotone-cubic-spline@1.0.3': {}
+
+- abbrev@2.0.0: {}
++ abbrev@1.1.1: {}
+
+- abbrev@3.0.1: {}
++ abbrev@2.0.0: {}
+
+ abort-controller@3.0.0:
+ dependencies:
+ event-target-shim: 5.0.1
+
+- ace-builds@1.43.2: {}
++ ace-builds@1.36.2: {}
++
++ acorn-import-attributes@1.9.5(acorn@8.14.0):
++ dependencies:
++ acorn: 8.14.0
+
+ acorn-import-attributes@1.9.5(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
++ optional: true
++
++ acorn-jsx@5.3.2(acorn@8.14.0):
++ dependencies:
++ acorn: 8.14.0
+
+ acorn-jsx@5.3.2(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+
++ acorn@8.14.0: {}
++
+ acorn@8.15.0: {}
+
+- agent-base@7.1.4: {}
++ agent-base@6.0.2:
++ dependencies:
++ debug: 4.4.0(supports-color@9.4.0)
++ transitivePeerDependencies:
++ - supports-color
++
++ agent-base@7.1.3: {}
+
+ ajv-draft-04@1.0.0(ajv@8.17.1):
+ optionalDependencies:
+ ajv: 8.17.1
+
++ ajv-formats@2.1.1(ajv@8.17.1):
++ optionalDependencies:
++ ajv: 8.17.1
++ optional: true
++
++ ajv-keywords@3.5.2(ajv@6.12.6):
++ dependencies:
++ ajv: 6.12.6
++ optional: true
++
++ ajv-keywords@5.1.0(ajv@8.17.1):
++ dependencies:
++ ajv: 8.17.1
++ fast-deep-equal: 3.1.3
++ optional: true
++
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+@@ -11906,21 +11666,23 @@ snapshots:
+ ajv@8.17.1:
+ dependencies:
+ fast-deep-equal: 3.1.3
+- fast-uri: 3.0.6
++ fast-uri: 3.0.1
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+
+- alien-signals@1.0.13: {}
+-
+- alien-signals@2.0.6: {}
+-
+ ansi-align@3.0.1:
+ dependencies:
+ string-width: 4.2.3
+
++ ansi-colors@4.1.3: {}
++
++ ansi-escapes@4.3.2:
++ dependencies:
++ type-fest: 0.21.3
++
+ ansi-regex@5.0.1: {}
+
+- ansi-regex@6.1.0: {}
++ ansi-regex@6.0.1: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+@@ -11932,8 +11694,6 @@ snapshots:
+ dependencies:
+ entities: 2.2.0
+
+- ansis@4.1.0: {}
+-
+ any-promise@1.3.0: {}
+
+ anymatch@3.1.3:
+@@ -11941,7 +11701,7 @@ snapshots:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+- apexcharts@3.54.1:
++ apexcharts@3.49.2:
+ dependencies:
+ '@yr/monotone-cubic-spline': 1.0.3
+ svg.draggable.js: 2.2.2
+@@ -11951,28 +11711,35 @@ snapshots:
+ svg.resize.js: 1.4.3
+ svg.select.js: 3.0.1
+
++ aproba@2.0.0: {}
++
+ archiver-utils@5.0.2:
+ dependencies:
+- glob: 10.4.5
++ glob: 10.4.2
+ graceful-fs: 4.2.11
+ is-stream: 2.0.1
+ lazystream: 1.0.1
+ lodash: 4.17.21
+ normalize-path: 3.0.0
+- readable-stream: 4.7.0
++ readable-stream: 4.5.2
+
+ archiver@7.0.1:
+ dependencies:
+ archiver-utils: 5.0.2
+- async: 3.2.6
++ async: 3.2.5
+ buffer-crc32: 1.0.0
+- readable-stream: 4.7.0
++ readable-stream: 4.5.2
+ readdir-glob: 1.1.3
+ tar-stream: 3.1.7
+ zip-stream: 6.0.1
+
+ are-docs-informative@0.0.2: {}
+
++ are-we-there-yet@2.0.0:
++ dependencies:
++ delegates: 1.0.0
++ readable-stream: 3.6.2
++
+ arg@5.0.2: {}
+
+ argparse@1.0.10:
+@@ -11987,89 +11754,84 @@ snapshots:
+
+ array-iterate@2.0.1: {}
+
+- ast-kit@2.1.1:
++ ast-kit@1.3.2:
+ dependencies:
+- '@babel/parser': 7.28.0
+- pathe: 2.0.3
+-
+- ast-module-types@6.0.1: {}
++ '@babel/parser': 7.26.3
++ pathe: 1.1.2
+
+- ast-walker-scope@0.8.1:
++ ast-walker-scope@0.6.2:
+ dependencies:
+- '@babel/parser': 7.28.0
+- ast-kit: 2.1.1
++ '@babel/parser': 7.26.3
++ ast-kit: 1.3.2
+
+- astring@1.9.0: {}
++ astring@1.8.6: {}
+
+- astro-expressive-code@0.40.2(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)):
++ astro-expressive-code@0.40.2(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)):
+ dependencies:
+- astro: 5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)
++ astro: 5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)
+ rehype-expressive-code: 0.40.2
+
+- astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1):
++ astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0):
+ dependencies:
+- '@astrojs/compiler': 2.12.2
+- '@astrojs/internal-helpers': 0.7.1
+- '@astrojs/markdown-remark': 6.3.5
+- '@astrojs/telemetry': 3.3.0
+- '@capsizecss/unpack': 2.4.0
++ '@astrojs/compiler': 2.10.4
++ '@astrojs/internal-helpers': 0.6.0
++ '@astrojs/markdown-remark': 6.2.0
++ '@astrojs/telemetry': 3.2.0
+ '@oslojs/encoding': 1.1.0
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
+- acorn: 8.15.0
++ '@rollup/pluginutils': 5.1.4(rollup@4.34.9)
++ '@types/cookie': 0.6.0
++ acorn: 8.14.0
+ aria-query: 5.3.2
+ axobject-query: 4.1.0
+ boxen: 8.0.1
+- ci-info: 4.3.0
++ ci-info: 4.1.0
+ clsx: 2.1.1
+ common-ancestor-path: 1.0.1
+- cookie: 1.0.2
++ cookie: 0.7.2
+ cssesc: 3.0.0
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ deterministic-object-hash: 2.0.2
+ devalue: 5.1.1
+ diff: 5.2.0
+ dlv: 1.1.3
+ dset: 3.1.4
+- es-module-lexer: 1.7.0
+- esbuild: 0.25.8
++ es-module-lexer: 1.6.0
++ esbuild: 0.25.0
+ estree-walker: 3.0.3
+ flattie: 1.1.1
+- fontace: 0.3.0
+ github-slugger: 2.0.0
+ html-escaper: 3.0.3
+- http-cache-semantics: 4.2.0
+- import-meta-resolve: 4.1.0
++ http-cache-semantics: 4.1.1
+ js-yaml: 4.1.0
+ kleur: 4.1.5
+ magic-string: 0.30.17
+ magicast: 0.3.5
+- mrmime: 2.0.1
++ mrmime: 2.0.0
+ neotraverse: 0.6.18
+ p-limit: 6.2.0
+ p-queue: 8.1.0
+- package-manager-detector: 1.3.0
+- picomatch: 4.0.3
++ picomatch: 4.0.2
++ preferred-pm: 4.1.1
+ prompts: 2.4.2
+ rehype: 13.0.2
+- semver: 7.7.2
+- shiki: 3.9.2
+- smol-toml: 1.4.1
++ semver: 7.7.1
++ shiki: 1.29.2
+ tinyexec: 0.3.2
+- tinyglobby: 0.2.14
+- tsconfck: 3.1.6(typescript@5.9.2)
+- ultrahtml: 1.6.0
+- unifont: 0.5.2
++ tinyglobby: 0.2.12
++ tsconfck: 3.1.5(typescript@5.8.2)
++ ultrahtml: 1.5.3
+ unist-util-visit: 5.0.0
+- unstorage: 1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.7.0)
++ unstorage: 1.15.0(db0@0.3.2)
+ vfile: 6.0.3
+- vite: 6.3.5(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vitefu: 1.1.1(vite@6.3.5(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
++ vite: 6.2.0(@types/node@22.4.1)(jiti@2.5.1)(sass@1.77.6)(terser@5.43.1)(yaml@2.8.0)
++ vitefu: 1.0.6(vite@6.2.0(@types/node@22.4.1)(jiti@2.5.1)(sass@1.77.6)(terser@5.43.1)(yaml@2.8.0))
++ which-pm: 3.0.1
+ xxhash-wasm: 1.1.0
+ yargs-parser: 21.1.1
+- yocto-spinner: 0.2.3
+- zod: 3.25.76
+- zod-to-json-schema: 3.24.6(zod@3.25.76)
+- zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76)
++ yocto-spinner: 0.2.1
++ zod: 3.24.2
++ zod-to-json-schema: 3.24.3(zod@3.24.2)
++ zod-to-ts: 1.2.0(typescript@5.8.2)(zod@3.24.2)
+ optionalDependencies:
+ sharp: 0.33.5
+ transitivePeerDependencies:
+@@ -12089,7 +11851,6 @@ snapshots:
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+- - encoding
+ - idb-keyval
+ - ioredis
+ - jiti
+@@ -12109,27 +11870,27 @@ snapshots:
+
+ async-sema@3.1.1: {}
+
+- async@3.2.6: {}
++ async@3.2.5: {}
+
+- autoprefixer@10.4.21(postcss@8.5.6):
++ autoprefixer@10.4.20(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
+- caniuse-lite: 1.0.30001731
++ browserslist: 4.24.2
++ caniuse-lite: 1.0.30001687
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.1.1
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ axobject-query@4.1.0: {}
+
+- b4a@1.6.7: {}
++ b4a@1.6.6: {}
+
+ bail@2.0.2: {}
+
+ balanced-match@1.0.2: {}
+
+- bare-events@2.6.0:
++ bare-events@2.4.2:
+ optional: true
+
+ base-64@1.0.0: {}
+@@ -12152,29 +11913,25 @@ snapshots:
+
+ birpc@0.2.19: {}
+
+- birpc@2.5.0: {}
+-
+- blob-to-buffer@1.2.9: {}
+-
+ boolbase@1.0.0: {}
+
+ boxen@8.0.1:
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 8.0.0
+- chalk: 5.5.0
++ chalk: 5.3.0
+ cli-boxes: 3.0.0
+ string-width: 7.2.0
+- type-fest: 4.41.0
++ type-fest: 4.30.0
+ widest-line: 5.0.0
+ wrap-ansi: 9.0.0
+
+- brace-expansion@1.1.12:
++ brace-expansion@1.1.11:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+- brace-expansion@2.0.2:
++ brace-expansion@2.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+
+@@ -12182,18 +11939,20 @@ snapshots:
+ dependencies:
+ fill-range: 7.1.1
+
+- brotli@1.3.3:
++ browserslist@4.24.2:
+ dependencies:
+- base64-js: 1.5.1
++ caniuse-lite: 1.0.30001687
++ electron-to-chromium: 1.5.71
++ node-releases: 2.0.18
++ update-browserslist-db: 1.1.1(browserslist@4.24.2)
+
+ browserslist@4.25.1:
+ dependencies:
+- caniuse-lite: 1.0.30001731
+- electron-to-chromium: 1.5.198
++ caniuse-lite: 1.0.30001727
++ electron-to-chromium: 1.5.182
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.3(browserslist@4.25.1)
+-
+- buffer-crc32@0.2.13: {}
++ optional: true
+
+ buffer-crc32@1.0.0: {}
+
+@@ -12210,12 +11969,29 @@ snapshots:
+ dependencies:
+ run-applescript: 7.0.0
+
+- c12@3.2.0(magicast@0.3.5):
++ c12@2.0.1(magicast@0.3.5):
++ dependencies:
++ chokidar: 4.0.3
++ confbox: 0.1.8
++ defu: 6.1.4
++ dotenv: 16.4.5
++ giget: 1.2.3
++ jiti: 2.4.2
++ mlly: 1.7.3
++ ohash: 1.1.4
++ pathe: 1.1.2
++ perfect-debounce: 1.0.0
++ pkg-types: 1.2.1
++ rc9: 2.1.2
++ optionalDependencies:
++ magicast: 0.3.5
++
++ c12@3.1.0(magicast@0.3.5):
+ dependencies:
+ chokidar: 4.0.3
+ confbox: 0.2.2
+ defu: 6.1.4
+- dotenv: 17.2.1
++ dotenv: 16.6.1
+ exsolve: 1.0.7
+ giget: 2.0.0
+ jiti: 2.5.1
+@@ -12226,6 +12002,7 @@ snapshots:
+ rc9: 2.1.2
+ optionalDependencies:
+ magicast: 0.3.5
++ optional: true
+
+ cac@6.7.14: {}
+
+@@ -12234,11 +12011,12 @@ snapshots:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+
+- call-bind@1.0.8:
++ call-bind@1.0.7:
+ dependencies:
+- call-bind-apply-helpers: 1.0.2
+- es-define-property: 1.0.1
+- get-intrinsic: 1.3.0
++ es-define-property: 1.0.0
++ es-errors: 1.3.0
++ function-bind: 1.1.2
++ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+
+ call-bound@1.0.4:
+@@ -12248,14 +12026,12 @@ snapshots:
+
+ call-me-maybe@1.0.2: {}
+
+- callsite@1.0.0: {}
+-
+ callsites@3.1.0: {}
+
+ camel-case@4.1.2:
+ dependencies:
+ pascal-case: 3.1.2
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+ camelcase-css@2.0.1: {}
+
+@@ -12267,12 +12043,15 @@ snapshots:
+
+ caniuse-api@3.0.0:
+ dependencies:
+- browserslist: 4.25.1
+- caniuse-lite: 1.0.30001731
++ browserslist: 4.24.2
++ caniuse-lite: 1.0.30001687
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+
+- caniuse-lite@1.0.30001731: {}
++ caniuse-lite@1.0.30001687: {}
++
++ caniuse-lite@1.0.30001727:
++ optional: true
+
+ ccount@2.0.1: {}
+
+@@ -12281,7 +12060,9 @@ snapshots:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+- chalk@5.5.0: {}
++ chalk@5.3.0: {}
++
++ change-case@5.4.4: {}
+
+ character-entities-html4@2.1.0: {}
+
+@@ -12307,19 +12088,28 @@ snapshots:
+ optionalDependencies:
+ fsevents: 2.3.3
+
++ chokidar@4.0.1:
++ dependencies:
++ readdirp: 4.0.2
++
+ chokidar@4.0.3:
+ dependencies:
+- readdirp: 4.1.2
++ readdirp: 4.0.2
++
++ chownr@2.0.0: {}
+
+- chownr@3.0.0: {}
++ chrome-trace-event@1.0.4:
++ optional: true
+
+ ci-info@2.0.0: {}
+
+- ci-info@4.3.0: {}
++ ci-info@4.0.0: {}
++
++ ci-info@4.1.0: {}
+
+ citty@0.1.6:
+ dependencies:
+- consola: 3.4.2
++ consola: 3.2.3
+
+ clean-css@5.3.3:
+ dependencies:
+@@ -12329,6 +12119,8 @@ snapshots:
+ dependencies:
+ escape-string-regexp: 1.0.5
+
++ clear@0.1.0: {}
++
+ cli-boxes@3.0.0: {}
+
+ clipboardy@4.0.0:
+@@ -12343,24 +12135,18 @@ snapshots:
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+
+- clone@2.1.2: {}
+-
+ clsx@2.1.1: {}
+
+ cluster-key-slot@1.1.2: {}
+
+- collapse-white-space@2.1.0: {}
++ code-error-fragment@0.0.230: {}
+
+- color-convert@1.9.3:
+- dependencies:
+- color-name: 1.1.3
++ collapse-white-space@2.1.0: {}
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+- color-name@1.1.3: {}
+-
+ color-name@1.1.4: {}
+
+ color-string@1.9.1:
+@@ -12368,10 +12154,7 @@ snapshots:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+
+- color@3.2.1:
+- dependencies:
+- color-convert: 1.9.3
+- color-string: 1.9.1
++ color-support@1.1.3: {}
+
+ color@4.2.3:
+ dependencies:
+@@ -12380,34 +12163,27 @@ snapshots:
+
+ colord@2.9.3: {}
+
+- colorspace@1.1.4:
+- dependencies:
+- color: 3.2.1
+- text-hex: 1.0.0
++ colorette@1.4.0: {}
+
+ comma-separated-tokens@2.0.3: {}
+
+ commander@10.0.1: {}
+
+- commander@11.1.0: {}
+-
+- commander@12.1.0: {}
+-
+ commander@2.20.3: {}
+
+ commander@4.1.1: {}
+
+ commander@7.2.0: {}
+
++ commander@8.3.0: {}
++
+ comment-parser@1.4.1: {}
+
+ common-ancestor-path@1.0.1: {}
+
+- common-path-prefix@3.0.0: {}
+-
+ commondir@1.0.1: {}
+
+- compatx@0.2.0: {}
++ compatx@0.1.8: {}
+
+ compress-commons@6.0.2:
+ dependencies:
+@@ -12415,43 +12191,41 @@ snapshots:
+ crc32-stream: 6.0.0
+ is-stream: 2.0.1
+ normalize-path: 3.0.0
+- readable-stream: 4.7.0
++ readable-stream: 4.5.2
++
++ computeds@0.0.1: {}
+
+ concat-map@0.0.1: {}
+
+ confbox@0.1.8: {}
+
+- confbox@0.2.2: {}
++ confbox@0.2.2:
++ optional: true
+
+ config-chain@1.1.13:
+ dependencies:
+ ini: 1.3.8
+ proto-list: 1.2.4
+
++ consola@3.2.3: {}
++
+ consola@3.4.2: {}
+
++ console-control-strings@1.1.0: {}
++
+ convert-source-map@2.0.0: {}
+
+ cookie-es@1.2.2: {}
+
+- cookie-es@2.0.0: {}
+-
+- cookie@1.0.2: {}
++ cookie@0.7.2: {}
+
+ copy-anything@3.0.5:
+ dependencies:
+ is-what: 4.1.16
+
+- copy-file@11.0.0:
++ core-js-compat@3.37.1:
+ dependencies:
+- graceful-fs: 4.2.11
+- p-event: 6.0.1
+-
+- core-js-compat@3.45.0:
+- dependencies:
+- browserslist: 4.25.1
+-
+- core-js@3.45.0: {}
++ browserslist: 4.24.2
+
+ core-util-is@1.0.3: {}
+
+@@ -12460,23 +12234,15 @@ snapshots:
+ crc32-stream@6.0.0:
+ dependencies:
+ crc-32: 1.2.2
+- readable-stream: 4.7.0
+-
+- crelt@1.0.6: {}
++ readable-stream: 4.5.2
+
+- cron-parser@4.9.0:
+- dependencies:
+- luxon: 3.7.1
++ create-require@1.1.1: {}
+
+- croner@9.1.0: {}
++ crelt@1.0.6: {}
+
+- cronstrue@2.59.0: {}
++ croner@9.0.0: {}
+
+- cross-fetch@3.2.0:
+- dependencies:
+- node-fetch: 2.7.0
+- transitivePeerDependencies:
+- - encoding
++ cronstrue@2.52.0: {}
+
+ cross-spawn@6.0.6:
+ dependencies:
+@@ -12486,29 +12252,39 @@ snapshots:
+ shebang-command: 1.2.0
+ which: 1.3.1
+
++ cross-spawn@7.0.3:
++ dependencies:
++ path-key: 3.1.1
++ shebang-command: 2.0.0
++ which: 2.0.2
++
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+- crossws@0.3.5:
++ crossws@0.3.1:
+ dependencies:
+ uncrypto: 0.1.3
+
+- css-declaration-sorter@7.2.0(postcss@8.5.6):
++ crossws@0.3.4:
+ dependencies:
+- postcss: 8.5.6
++ uncrypto: 0.1.3
+
+- css-select@5.2.2:
++ css-declaration-sorter@7.2.0(postcss@8.4.49):
++ dependencies:
++ postcss: 8.4.49
++
++ css-select@5.1.0:
+ dependencies:
+ boolbase: 1.0.0
+- css-what: 6.2.2
++ css-what: 6.1.0
+ domhandler: 5.0.3
+- domutils: 3.2.2
++ domutils: 3.1.0
+ nth-check: 2.1.1
+
+- css-selector-parser@3.1.3: {}
++ css-selector-parser@3.0.5: {}
+
+ css-tree@2.2.1:
+ dependencies:
+@@ -12520,60 +12296,55 @@ snapshots:
+ mdn-data: 2.0.30
+ source-map-js: 1.2.1
+
+- css-tree@3.1.0:
+- dependencies:
+- mdn-data: 2.12.2
+- source-map-js: 1.2.1
+-
+- css-what@6.2.2: {}
++ css-what@6.1.0: {}
+
+ cssesc@3.0.0: {}
+
+ cssfilter@0.0.10: {}
+
+- cssnano-preset-default@7.0.8(postcss@8.5.6):
+- dependencies:
+- browserslist: 4.25.1
+- css-declaration-sorter: 7.2.0(postcss@8.5.6)
+- cssnano-utils: 5.0.1(postcss@8.5.6)
+- postcss: 8.5.6
+- postcss-calc: 10.1.1(postcss@8.5.6)
+- postcss-colormin: 7.0.4(postcss@8.5.6)
+- postcss-convert-values: 7.0.6(postcss@8.5.6)
+- postcss-discard-comments: 7.0.4(postcss@8.5.6)
+- postcss-discard-duplicates: 7.0.2(postcss@8.5.6)
+- postcss-discard-empty: 7.0.1(postcss@8.5.6)
+- postcss-discard-overridden: 7.0.1(postcss@8.5.6)
+- postcss-merge-longhand: 7.0.5(postcss@8.5.6)
+- postcss-merge-rules: 7.0.6(postcss@8.5.6)
+- postcss-minify-font-values: 7.0.1(postcss@8.5.6)
+- postcss-minify-gradients: 7.0.1(postcss@8.5.6)
+- postcss-minify-params: 7.0.4(postcss@8.5.6)
+- postcss-minify-selectors: 7.0.5(postcss@8.5.6)
+- postcss-normalize-charset: 7.0.1(postcss@8.5.6)
+- postcss-normalize-display-values: 7.0.1(postcss@8.5.6)
+- postcss-normalize-positions: 7.0.1(postcss@8.5.6)
+- postcss-normalize-repeat-style: 7.0.1(postcss@8.5.6)
+- postcss-normalize-string: 7.0.1(postcss@8.5.6)
+- postcss-normalize-timing-functions: 7.0.1(postcss@8.5.6)
+- postcss-normalize-unicode: 7.0.4(postcss@8.5.6)
+- postcss-normalize-url: 7.0.1(postcss@8.5.6)
+- postcss-normalize-whitespace: 7.0.1(postcss@8.5.6)
+- postcss-ordered-values: 7.0.2(postcss@8.5.6)
+- postcss-reduce-initial: 7.0.4(postcss@8.5.6)
+- postcss-reduce-transforms: 7.0.1(postcss@8.5.6)
+- postcss-svgo: 7.1.0(postcss@8.5.6)
+- postcss-unique-selectors: 7.0.4(postcss@8.5.6)
+-
+- cssnano-utils@5.0.1(postcss@8.5.6):
+- dependencies:
+- postcss: 8.5.6
+-
+- cssnano@7.1.0(postcss@8.5.6):
+- dependencies:
+- cssnano-preset-default: 7.0.8(postcss@8.5.6)
+- lilconfig: 3.1.3
+- postcss: 8.5.6
++ cssnano-preset-default@7.0.6(postcss@8.4.49):
++ dependencies:
++ browserslist: 4.24.2
++ css-declaration-sorter: 7.2.0(postcss@8.4.49)
++ cssnano-utils: 5.0.0(postcss@8.4.49)
++ postcss: 8.4.49
++ postcss-calc: 10.0.2(postcss@8.4.49)
++ postcss-colormin: 7.0.2(postcss@8.4.49)
++ postcss-convert-values: 7.0.4(postcss@8.4.49)
++ postcss-discard-comments: 7.0.3(postcss@8.4.49)
++ postcss-discard-duplicates: 7.0.1(postcss@8.4.49)
++ postcss-discard-empty: 7.0.0(postcss@8.4.49)
++ postcss-discard-overridden: 7.0.0(postcss@8.4.49)
++ postcss-merge-longhand: 7.0.4(postcss@8.4.49)
++ postcss-merge-rules: 7.0.4(postcss@8.4.49)
++ postcss-minify-font-values: 7.0.0(postcss@8.4.49)
++ postcss-minify-gradients: 7.0.0(postcss@8.4.49)
++ postcss-minify-params: 7.0.2(postcss@8.4.49)
++ postcss-minify-selectors: 7.0.4(postcss@8.4.49)
++ postcss-normalize-charset: 7.0.0(postcss@8.4.49)
++ postcss-normalize-display-values: 7.0.0(postcss@8.4.49)
++ postcss-normalize-positions: 7.0.0(postcss@8.4.49)
++ postcss-normalize-repeat-style: 7.0.0(postcss@8.4.49)
++ postcss-normalize-string: 7.0.0(postcss@8.4.49)
++ postcss-normalize-timing-functions: 7.0.0(postcss@8.4.49)
++ postcss-normalize-unicode: 7.0.2(postcss@8.4.49)
++ postcss-normalize-url: 7.0.0(postcss@8.4.49)
++ postcss-normalize-whitespace: 7.0.0(postcss@8.4.49)
++ postcss-ordered-values: 7.0.1(postcss@8.4.49)
++ postcss-reduce-initial: 7.0.2(postcss@8.4.49)
++ postcss-reduce-transforms: 7.0.0(postcss@8.4.49)
++ postcss-svgo: 7.0.1(postcss@8.4.49)
++ postcss-unique-selectors: 7.0.3(postcss@8.4.49)
++
++ cssnano-utils@5.0.0(postcss@8.4.49):
++ dependencies:
++ postcss: 8.4.49
++
++ cssnano@7.0.6(postcss@8.4.49):
++ dependencies:
++ cssnano-preset-default: 7.0.6(postcss@8.4.49)
++ lilconfig: 3.1.2
++ postcss: 8.4.49
+
+ csso@5.0.5:
+ dependencies:
+@@ -12585,32 +12356,32 @@ snapshots:
+ dependencies:
+ array-find-index: 1.0.2
+
+- data-uri-to-buffer@4.0.1: {}
++ dayjs@1.11.11: {}
+
+- dayjs@1.11.13: {}
++ db0@0.2.1: {}
+
+- db0@0.3.2: {}
++ db0@0.3.2:
++ optional: true
+
+ de-indent@1.0.2: {}
+
+ debounce@1.2.1: {}
+
+- debug@3.2.7:
++ debug@2.6.9:
+ dependencies:
+- ms: 2.1.3
+- optional: true
++ ms: 2.0.0
+
+- debug@4.4.1:
++ debug@3.2.7:
+ dependencies:
+ ms: 2.1.3
+
+- decache@4.6.2:
++ debug@4.4.0(supports-color@9.4.0):
+ dependencies:
+- callsite: 1.0.0
+-
+- decimal.js@10.6.0: {}
++ ms: 2.1.3
++ optionalDependencies:
++ supports-color: 9.4.0
+
+- decode-named-character-reference@1.2.0:
++ decode-named-character-reference@1.0.2:
+ dependencies:
+ character-entities: 2.0.2
+
+@@ -12629,7 +12400,7 @@ snapshots:
+
+ define-data-property@1.1.4:
+ dependencies:
+- es-define-property: 1.0.1
++ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.2.0
+
+@@ -12639,73 +12410,23 @@ snapshots:
+
+ defu@6.1.4: {}
+
++ delegates@1.0.0: {}
++
+ denque@2.1.0: {}
+
+ depd@2.0.0: {}
+
+ dequal@2.0.3: {}
+
+- destr@2.0.5: {}
+-
+- detect-libc@1.0.3: {}
+-
+- detect-libc@2.0.4: {}
+-
+- detective-amd@6.0.1:
+- dependencies:
+- ast-module-types: 6.0.1
+- escodegen: 2.1.0
+- get-amd-module-type: 6.0.1
+- node-source-walk: 7.0.1
+-
+- detective-cjs@6.0.1:
+- dependencies:
+- ast-module-types: 6.0.1
+- node-source-walk: 7.0.1
+-
+- detective-es6@5.0.1:
+- dependencies:
+- node-source-walk: 7.0.1
+-
+- detective-postcss@7.0.1(postcss@8.5.6):
+- dependencies:
+- is-url: 1.2.4
+- postcss: 8.5.6
+- postcss-values-parser: 6.0.2(postcss@8.5.6)
+-
+- detective-sass@6.0.1:
+- dependencies:
+- gonzales-pe: 4.3.0
+- node-source-walk: 7.0.1
++ destr@2.0.3: {}
+
+- detective-scss@5.0.1:
+- dependencies:
+- gonzales-pe: 4.3.0
+- node-source-walk: 7.0.1
++ destr@2.0.5: {}
+
+- detective-stylus@5.0.1: {}
++ destroy@1.2.0: {}
+
+- detective-typescript@14.0.0(typescript@5.9.2):
+- dependencies:
+- '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+- ast-module-types: 6.0.1
+- node-source-walk: 7.0.1
+- typescript: 5.9.2
+- transitivePeerDependencies:
+- - supports-color
++ detect-libc@1.0.3: {}
+
+- detective-vue2@2.2.0(typescript@5.9.2):
+- dependencies:
+- '@dependents/detective-less': 5.0.1
+- '@vue/compiler-sfc': 3.5.18
+- detective-es6: 5.0.1
+- detective-sass: 6.0.1
+- detective-scss: 5.0.1
+- detective-stylus: 5.0.1
+- detective-typescript: 14.0.0(typescript@5.9.2)
+- typescript: 5.9.2
+- transitivePeerDependencies:
+- - supports-color
++ detect-libc@2.0.3: {}
+
+ deterministic-object-hash@2.0.2:
+ dependencies:
+@@ -12717,16 +12438,12 @@ snapshots:
+ dependencies:
+ dequal: 2.0.3
+
+- dfa@1.2.0: {}
+-
+ didyoumean@1.2.2: {}
+
+ diff@5.2.0: {}
+
+ diff@7.0.0: {}
+
+- diff@8.0.2: {}
+-
+ direction@2.0.1: {}
+
+ dlv@1.1.3: {}
+@@ -12747,11 +12464,9 @@ snapshots:
+ dependencies:
+ domelementtype: 2.3.0
+
+- dompurify@3.2.6:
+- optionalDependencies:
+- '@types/trusted-types': 2.0.7
++ dompurify@3.1.7: {}
+
+- domutils@3.2.2:
++ domutils@3.1.0:
+ dependencies:
+ dom-serializer: 2.0.0
+ domelementtype: 2.3.0
+@@ -12760,17 +12475,18 @@ snapshots:
+ dot-case@3.0.4:
+ dependencies:
+ no-case: 3.0.4
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+ dot-prop@9.0.0:
+ dependencies:
+- type-fest: 4.41.0
++ type-fest: 4.30.0
+
+ dotenv@16.0.3: {}
+
+- dotenv@16.6.1: {}
++ dotenv@16.4.5: {}
+
+- dotenv@17.2.1: {}
++ dotenv@16.6.1:
++ optional: true
+
+ draco3d@1.5.7: {}
+
+@@ -12795,9 +12511,12 @@ snapshots:
+
+ ee-first@1.1.1: {}
+
+- electron-to-chromium@1.5.198: {}
++ electron-to-chromium@1.5.182:
++ optional: true
++
++ electron-to-chromium@1.5.71: {}
+
+- emmet@2.4.11:
++ emmet@2.4.7:
+ dependencies:
+ '@emmetio/abbreviation': 2.3.3
+ '@emmetio/css-abbreviation': 2.1.8
+@@ -12810,18 +12529,24 @@ snapshots:
+
+ emoji-regex@9.2.2: {}
+
+- enabled@2.0.0: {}
++ encodeurl@1.0.2: {}
+
+ encodeurl@2.0.0: {}
+
+- end-of-stream@1.4.5:
++ end-of-stream@1.4.4:
+ dependencies:
+ once: 1.4.0
+
+- enhanced-resolve@5.18.3:
++ enhanced-resolve@5.17.1:
++ dependencies:
++ graceful-fs: 4.2.11
++ tapable: 2.2.1
++
++ enhanced-resolve@5.18.2:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.2
++ optional: true
+
+ entities@2.2.0: {}
+
+@@ -12829,25 +12554,28 @@ snapshots:
+
+ entities@4.5.0: {}
+
+- entities@6.0.1: {}
+-
+- env-paths@3.0.0: {}
+-
+ error-ex@1.3.2:
+ dependencies:
+ is-arrayish: 0.2.1
+
+ error-stack-parser-es@0.1.5: {}
+
+- error-stack-parser-es@1.0.5: {}
+-
+ errx@0.1.0: {}
+
++ es-define-property@1.0.0:
++ dependencies:
++ get-intrinsic: 1.2.4
++
+ es-define-property@1.0.1: {}
+
+ es-errors@1.3.0: {}
+
+- es-module-lexer@1.7.0: {}
++ es-module-lexer@1.5.4: {}
++
++ es-module-lexer@1.6.0: {}
++
++ es-module-lexer@1.7.0:
++ optional: true
+
+ es-object-atoms@1.1.1:
+ dependencies:
+@@ -12865,7 +12593,33 @@ snapshots:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.15.0
+ esast-util-from-estree: 2.0.0
+- vfile-message: 4.0.3
++ vfile-message: 4.0.2
++
++ esbuild@0.18.20:
++ optionalDependencies:
++ '@esbuild/android-arm': 0.18.20
++ '@esbuild/android-arm64': 0.18.20
++ '@esbuild/android-x64': 0.18.20
++ '@esbuild/darwin-arm64': 0.18.20
++ '@esbuild/darwin-x64': 0.18.20
++ '@esbuild/freebsd-arm64': 0.18.20
++ '@esbuild/freebsd-x64': 0.18.20
++ '@esbuild/linux-arm': 0.18.20
++ '@esbuild/linux-arm64': 0.18.20
++ '@esbuild/linux-ia32': 0.18.20
++ '@esbuild/linux-loong64': 0.18.20
++ '@esbuild/linux-mips64el': 0.18.20
++ '@esbuild/linux-ppc64': 0.18.20
++ '@esbuild/linux-riscv64': 0.18.20
++ '@esbuild/linux-s390x': 0.18.20
++ '@esbuild/linux-x64': 0.18.20
++ '@esbuild/netbsd-x64': 0.18.20
++ '@esbuild/openbsd-x64': 0.18.20
++ '@esbuild/sunos-x64': 0.18.20
++ '@esbuild/win32-arm64': 0.18.20
++ '@esbuild/win32-ia32': 0.18.20
++ '@esbuild/win32-x64': 0.18.20
++ optional: true
+
+ esbuild@0.21.5:
+ optionalDependencies:
+@@ -12893,62 +12647,60 @@ snapshots:
+ '@esbuild/win32-ia32': 0.21.5
+ '@esbuild/win32-x64': 0.21.5
+
+- esbuild@0.25.5:
++ esbuild@0.24.0:
+ optionalDependencies:
+- '@esbuild/aix-ppc64': 0.25.5
+- '@esbuild/android-arm': 0.25.5
+- '@esbuild/android-arm64': 0.25.5
+- '@esbuild/android-x64': 0.25.5
+- '@esbuild/darwin-arm64': 0.25.5
+- '@esbuild/darwin-x64': 0.25.5
+- '@esbuild/freebsd-arm64': 0.25.5
+- '@esbuild/freebsd-x64': 0.25.5
+- '@esbuild/linux-arm': 0.25.5
+- '@esbuild/linux-arm64': 0.25.5
+- '@esbuild/linux-ia32': 0.25.5
+- '@esbuild/linux-loong64': 0.25.5
+- '@esbuild/linux-mips64el': 0.25.5
+- '@esbuild/linux-ppc64': 0.25.5
+- '@esbuild/linux-riscv64': 0.25.5
+- '@esbuild/linux-s390x': 0.25.5
+- '@esbuild/linux-x64': 0.25.5
+- '@esbuild/netbsd-arm64': 0.25.5
+- '@esbuild/netbsd-x64': 0.25.5
+- '@esbuild/openbsd-arm64': 0.25.5
+- '@esbuild/openbsd-x64': 0.25.5
+- '@esbuild/sunos-x64': 0.25.5
+- '@esbuild/win32-arm64': 0.25.5
+- '@esbuild/win32-ia32': 0.25.5
+- '@esbuild/win32-x64': 0.25.5
+-
+- esbuild@0.25.8:
++ '@esbuild/aix-ppc64': 0.24.0
++ '@esbuild/android-arm': 0.24.0
++ '@esbuild/android-arm64': 0.24.0
++ '@esbuild/android-x64': 0.24.0
++ '@esbuild/darwin-arm64': 0.24.0
++ '@esbuild/darwin-x64': 0.24.0
++ '@esbuild/freebsd-arm64': 0.24.0
++ '@esbuild/freebsd-x64': 0.24.0
++ '@esbuild/linux-arm': 0.24.0
++ '@esbuild/linux-arm64': 0.24.0
++ '@esbuild/linux-ia32': 0.24.0
++ '@esbuild/linux-loong64': 0.24.0
++ '@esbuild/linux-mips64el': 0.24.0
++ '@esbuild/linux-ppc64': 0.24.0
++ '@esbuild/linux-riscv64': 0.24.0
++ '@esbuild/linux-s390x': 0.24.0
++ '@esbuild/linux-x64': 0.24.0
++ '@esbuild/netbsd-x64': 0.24.0
++ '@esbuild/openbsd-arm64': 0.24.0
++ '@esbuild/openbsd-x64': 0.24.0
++ '@esbuild/sunos-x64': 0.24.0
++ '@esbuild/win32-arm64': 0.24.0
++ '@esbuild/win32-ia32': 0.24.0
++ '@esbuild/win32-x64': 0.24.0
++
++ esbuild@0.25.0:
+ optionalDependencies:
+- '@esbuild/aix-ppc64': 0.25.8
+- '@esbuild/android-arm': 0.25.8
+- '@esbuild/android-arm64': 0.25.8
+- '@esbuild/android-x64': 0.25.8
+- '@esbuild/darwin-arm64': 0.25.8
+- '@esbuild/darwin-x64': 0.25.8
+- '@esbuild/freebsd-arm64': 0.25.8
+- '@esbuild/freebsd-x64': 0.25.8
+- '@esbuild/linux-arm': 0.25.8
+- '@esbuild/linux-arm64': 0.25.8
+- '@esbuild/linux-ia32': 0.25.8
+- '@esbuild/linux-loong64': 0.25.8
+- '@esbuild/linux-mips64el': 0.25.8
+- '@esbuild/linux-ppc64': 0.25.8
+- '@esbuild/linux-riscv64': 0.25.8
+- '@esbuild/linux-s390x': 0.25.8
+- '@esbuild/linux-x64': 0.25.8
+- '@esbuild/netbsd-arm64': 0.25.8
+- '@esbuild/netbsd-x64': 0.25.8
+- '@esbuild/openbsd-arm64': 0.25.8
+- '@esbuild/openbsd-x64': 0.25.8
+- '@esbuild/openharmony-arm64': 0.25.8
+- '@esbuild/sunos-x64': 0.25.8
+- '@esbuild/win32-arm64': 0.25.8
+- '@esbuild/win32-ia32': 0.25.8
+- '@esbuild/win32-x64': 0.25.8
++ '@esbuild/aix-ppc64': 0.25.0
++ '@esbuild/android-arm': 0.25.0
++ '@esbuild/android-arm64': 0.25.0
++ '@esbuild/android-x64': 0.25.0
++ '@esbuild/darwin-arm64': 0.25.0
++ '@esbuild/darwin-x64': 0.25.0
++ '@esbuild/freebsd-arm64': 0.25.0
++ '@esbuild/freebsd-x64': 0.25.0
++ '@esbuild/linux-arm': 0.25.0
++ '@esbuild/linux-arm64': 0.25.0
++ '@esbuild/linux-ia32': 0.25.0
++ '@esbuild/linux-loong64': 0.25.0
++ '@esbuild/linux-mips64el': 0.25.0
++ '@esbuild/linux-ppc64': 0.25.0
++ '@esbuild/linux-riscv64': 0.25.0
++ '@esbuild/linux-s390x': 0.25.0
++ '@esbuild/linux-x64': 0.25.0
++ '@esbuild/netbsd-arm64': 0.25.0
++ '@esbuild/netbsd-x64': 0.25.0
++ '@esbuild/openbsd-arm64': 0.25.0
++ '@esbuild/openbsd-x64': 0.25.0
++ '@esbuild/sunos-x64': 0.25.0
++ '@esbuild/win32-arm64': 0.25.0
++ '@esbuild/win32-ia32': 0.25.0
++ '@esbuild/win32-x64': 0.25.0
+
+ escalade@3.2.0: {}
+
+@@ -12960,19 +12712,11 @@ snapshots:
+
+ escape-string-regexp@5.0.0: {}
+
+- escodegen@2.1.0:
++ eslint-config-flat-gitignore@0.3.0(eslint@9.13.0(jiti@2.5.1)):
+ dependencies:
+- esprima: 4.0.1
+- estraverse: 5.3.0
+- esutils: 2.0.3
+- optionalDependencies:
+- source-map: 0.6.1
+-
+- eslint-config-flat-gitignore@0.3.0(eslint@9.32.0(jiti@2.5.1)):
+- dependencies:
+- '@eslint/compat': 1.3.1(eslint@9.32.0(jiti@2.5.1))
+- eslint: 9.32.0(jiti@2.5.1)
+- find-up-simple: 1.0.1
++ '@eslint/compat': 1.2.1(eslint@9.13.0(jiti@2.5.1))
++ eslint: 9.13.0(jiti@2.5.1)
++ find-up-simple: 1.0.0
+
+ eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+@@ -12982,71 +12726,64 @@ snapshots:
+ dependencies:
+ pathe: 1.1.2
+
+- eslint-import-context@0.1.9(unrs-resolver@1.11.1):
+- dependencies:
+- get-tsconfig: 4.10.1
+- stable-hash-x: 0.2.0
+- optionalDependencies:
+- unrs-resolver: 1.11.1
+-
+ eslint-import-resolver-node@0.3.9:
+ dependencies:
+ debug: 3.2.7
+- is-core-module: 2.16.1
+- resolve: 1.22.10
++ is-core-module: 2.15.0
++ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+- optional: true
+
+- eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)):
++ eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4):
+ dependencies:
+- '@typescript-eslint/types': 8.39.0
+- comment-parser: 1.4.1
+- debug: 4.4.1
+- eslint: 9.32.0(jiti@2.5.1)
+- eslint-import-context: 0.1.9(unrs-resolver@1.11.1)
+- is-glob: 4.0.3
+- minimatch: 10.0.3
+- semver: 7.7.2
+- stable-hash-x: 0.2.0
+- unrs-resolver: 1.11.1
+- optionalDependencies:
+- '@typescript-eslint/utils': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
++ '@typescript-eslint/utils': 8.10.0(eslint@9.13.0(jiti@2.5.1))(typescript@5.5.4)
++ debug: 4.4.0(supports-color@9.4.0)
++ doctrine: 3.0.0
++ eslint: 9.13.0(jiti@2.5.1)
+ eslint-import-resolver-node: 0.3.9
++ get-tsconfig: 4.7.5
++ is-glob: 4.0.3
++ minimatch: 9.0.5
++ semver: 7.6.3
++ stable-hash: 0.0.4
++ tslib: 2.6.3
+ transitivePeerDependencies:
+ - supports-color
++ - typescript
+
+- eslint-plugin-jsdoc@50.8.0(eslint@9.32.0(jiti@2.5.1)):
++ eslint-plugin-jsdoc@50.4.3(eslint@9.13.0(jiti@2.5.1)):
+ dependencies:
+- '@es-joy/jsdoccomment': 0.50.2
++ '@es-joy/jsdoccomment': 0.49.0
+ are-docs-informative: 0.0.2
+ comment-parser: 1.4.1
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ escape-string-regexp: 4.0.0
+- eslint: 9.32.0(jiti@2.5.1)
+- espree: 10.4.0
++ eslint: 9.13.0(jiti@2.5.1)
++ espree: 10.2.0
+ esquery: 1.6.0
+- parse-imports-exports: 0.2.4
+- semver: 7.7.2
++ parse-imports: 2.2.1
++ semver: 7.6.3
+ spdx-expression-parse: 4.0.0
++ synckit: 0.9.1
+ transitivePeerDependencies:
+ - supports-color
+
+- eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2):
++ eslint-plugin-prettier@5.5.3(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.32.0(jiti@2.5.1)))(eslint@9.32.0(jiti@2.5.1))(prettier@3.6.2):
+ dependencies:
+ eslint: 9.32.0(jiti@2.5.1)
+ prettier: 3.6.2
+ prettier-linter-helpers: 1.0.0
+ synckit: 0.11.11
+ optionalDependencies:
++ '@types/eslint': 9.6.1
+ eslint-config-prettier: 10.1.8(eslint@9.32.0(jiti@2.5.1))
+
+- eslint-plugin-regexp@2.9.1(eslint@9.32.0(jiti@2.5.1)):
++ eslint-plugin-regexp@2.6.0(eslint@9.13.0(jiti@2.5.1)):
+ dependencies:
+- '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
+- '@eslint-community/regexpp': 4.12.1
++ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@2.5.1))
++ '@eslint-community/regexpp': 4.11.0
+ comment-parser: 1.4.1
+- eslint: 9.32.0(jiti@2.5.1)
++ eslint: 9.13.0(jiti@2.5.1)
+ jsdoc-type-pratt-parser: 4.1.0
+ refa: 0.12.1
+ regexp-ast-analysis: 0.7.1
+@@ -13056,35 +12793,35 @@ snapshots:
+ dependencies:
+ eslint: 9.32.0(jiti@2.5.1)
+
+- eslint-plugin-turbo@2.5.5(eslint@9.32.0(jiti@2.5.1))(turbo@2.5.5):
++ eslint-plugin-turbo@2.5.4(eslint@9.13.0(jiti@2.5.1))(turbo@2.5.4):
+ dependencies:
+ dotenv: 16.0.3
+- eslint: 9.32.0(jiti@2.5.1)
+- turbo: 2.5.5
++ eslint: 9.13.0(jiti@2.5.1)
++ turbo: 2.5.4
+
+- eslint-plugin-unicorn@55.0.0(eslint@9.32.0(jiti@2.5.1)):
++ eslint-plugin-unicorn@55.0.0(eslint@9.13.0(jiti@2.5.1)):
+ dependencies:
+- '@babel/helper-validator-identifier': 7.27.1
+- '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
+- ci-info: 4.3.0
++ '@babel/helper-validator-identifier': 7.25.9
++ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@2.5.1))
++ ci-info: 4.0.0
+ clean-regexp: 1.0.0
+- core-js-compat: 3.45.0
+- eslint: 9.32.0(jiti@2.5.1)
++ core-js-compat: 3.37.1
++ eslint: 9.13.0(jiti@2.5.1)
+ esquery: 1.6.0
+- globals: 15.15.0
++ globals: 15.11.0
+ indent-string: 4.0.0
+ is-builtin-module: 3.2.1
+- jsesc: 3.1.0
++ jsesc: 3.0.2
+ pluralize: 8.0.0
+ read-pkg-up: 7.0.1
+ regexp-tree: 0.1.27
+ regjsparser: 0.10.0
+- semver: 7.7.2
++ semver: 7.6.3
+ strip-indent: 3.0.0
+
+- eslint-plugin-vue@10.4.0(@typescript-eslint/parser@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(vue-eslint-parser@9.4.3(eslint@9.32.0(jiti@2.5.1))):
++ eslint-plugin-vue@10.4.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(vue-eslint-parser@9.4.3(eslint@9.32.0(jiti@2.5.1))):
+ dependencies:
+- '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
++ '@eslint-community/eslint-utils': 4.4.0(eslint@9.32.0(jiti@2.5.1))
+ eslint: 9.32.0(jiti@2.5.1)
+ natural-compare: 1.4.0
+ nth-check: 2.1.1
+@@ -13093,27 +12830,38 @@ snapshots:
+ vue-eslint-parser: 9.4.3(eslint@9.32.0(jiti@2.5.1))
+ xml-name-validator: 4.0.0
+ optionalDependencies:
+- '@typescript-eslint/parser': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
++ '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
+
+- eslint-plugin-vue@9.33.0(eslint@9.32.0(jiti@2.5.1)):
++ eslint-plugin-vue@9.29.0(eslint@9.13.0(jiti@2.5.1)):
+ dependencies:
+- '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
+- eslint: 9.32.0(jiti@2.5.1)
++ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@2.5.1))
++ eslint: 9.13.0(jiti@2.5.1)
+ globals: 13.24.0
+ natural-compare: 1.4.0
+ nth-check: 2.1.1
+ postcss-selector-parser: 6.1.2
+- semver: 7.7.2
+- vue-eslint-parser: 9.4.3(eslint@9.32.0(jiti@2.5.1))
++ semver: 7.6.3
++ vue-eslint-parser: 9.4.3(eslint@9.13.0(jiti@2.5.1))
+ xml-name-validator: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
++ eslint-scope@5.1.1:
++ dependencies:
++ esrecurse: 4.3.0
++ estraverse: 4.3.0
++ optional: true
++
+ eslint-scope@7.2.2:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
++ eslint-scope@8.1.0:
++ dependencies:
++ esrecurse: 4.3.0
++ estraverse: 5.3.0
++
+ eslint-scope@8.4.0:
+ dependencies:
+ esrecurse: 4.3.0
+@@ -13121,6 +12869,8 @@ snapshots:
+
+ eslint-visitor-keys@3.4.3: {}
+
++ eslint-visitor-keys@4.1.0: {}
++
+ eslint-visitor-keys@4.2.1: {}
+
+ eslint@8.57.1:
+@@ -13132,11 +12882,11 @@ snapshots:
+ '@humanwhocodes/config-array': 0.13.0
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+- '@ungap/structured-clone': 1.3.0
++ '@ungap/structured-clone': 1.2.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+@@ -13150,7 +12900,7 @@ snapshots:
+ glob-parent: 6.0.2
+ globals: 13.24.0
+ graphemer: 1.4.0
+- ignore: 5.3.2
++ ignore: 5.3.1
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+@@ -13166,9 +12916,51 @@ snapshots:
+ transitivePeerDependencies:
+ - supports-color
+
++ eslint@9.13.0(jiti@2.5.1):
++ dependencies:
++ '@eslint-community/eslint-utils': 4.4.0(eslint@9.13.0(jiti@2.5.1))
++ '@eslint-community/regexpp': 4.11.0
++ '@eslint/config-array': 0.18.0
++ '@eslint/core': 0.7.0
++ '@eslint/eslintrc': 3.1.0
++ '@eslint/js': 9.13.0
++ '@eslint/plugin-kit': 0.2.1
++ '@humanfs/node': 0.16.5
++ '@humanwhocodes/module-importer': 1.0.1
++ '@humanwhocodes/retry': 0.3.1
++ '@types/estree': 1.0.6
++ '@types/json-schema': 7.0.15
++ ajv: 6.12.6
++ chalk: 4.1.2
++ cross-spawn: 7.0.3
++ debug: 4.4.0(supports-color@9.4.0)
++ escape-string-regexp: 4.0.0
++ eslint-scope: 8.1.0
++ eslint-visitor-keys: 4.1.0
++ espree: 10.2.0
++ esquery: 1.6.0
++ esutils: 2.0.3
++ fast-deep-equal: 3.1.3
++ file-entry-cache: 8.0.0
++ find-up: 5.0.0
++ glob-parent: 6.0.2
++ ignore: 5.3.1
++ imurmurhash: 0.1.4
++ is-glob: 4.0.3
++ json-stable-stringify-without-jsonify: 1.0.1
++ lodash.merge: 4.6.2
++ minimatch: 3.1.2
++ natural-compare: 1.4.0
++ optionator: 0.9.4
++ text-table: 0.2.0
++ optionalDependencies:
++ jiti: 2.5.1
++ transitivePeerDependencies:
++ - supports-color
++
+ eslint@9.32.0(jiti@2.5.1):
+ dependencies:
+- '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
++ '@eslint-community/eslint-utils': 4.4.0(eslint@9.32.0(jiti@2.5.1))
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/config-array': 0.21.0
+ '@eslint/config-helpers': 0.3.0
+@@ -13184,7 +12976,7 @@ snapshots:
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ escape-string-regexp: 4.0.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+@@ -13195,7 +12987,7 @@ snapshots:
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+- ignore: 5.3.2
++ ignore: 5.3.1
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ json-stable-stringify-without-jsonify: 1.0.1
+@@ -13208,6 +13000,12 @@ snapshots:
+ transitivePeerDependencies:
+ - supports-color
+
++ espree@10.2.0:
++ dependencies:
++ acorn: 8.14.0
++ acorn-jsx: 5.3.2(acorn@8.14.0)
++ eslint-visitor-keys: 4.1.0
++
+ espree@10.4.0:
+ dependencies:
+ acorn: 8.15.0
+@@ -13216,8 +13014,8 @@ snapshots:
+
+ espree@9.6.1:
+ dependencies:
+- acorn: 8.15.0
+- acorn-jsx: 5.3.2(acorn@8.15.0)
++ acorn: 8.14.0
++ acorn-jsx: 5.3.2(acorn@8.14.0)
+ eslint-visitor-keys: 3.4.3
+
+ esprima@4.0.1: {}
+@@ -13230,6 +13028,9 @@ snapshots:
+ dependencies:
+ estraverse: 5.3.0
+
++ estraverse@4.3.0:
++ optional: true
++
+ estraverse@5.3.0: {}
+
+ estree-util-attach-comments@3.0.0:
+@@ -13247,14 +13048,14 @@ snapshots:
+
+ estree-util-scope@1.0.0:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ devlop: 1.1.0
+
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+- astring: 1.9.0
+- source-map: 0.7.6
++ astring: 1.8.6
++ source-map: 0.7.4
+
+ estree-util-visit@2.0.0:
+ dependencies:
+@@ -13265,7 +13066,7 @@ snapshots:
+
+ estree-walker@3.0.3:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+
+ esutils@2.0.3: {}
+
+@@ -13289,7 +13090,7 @@ snapshots:
+
+ execa@7.2.0:
+ dependencies:
+- cross-spawn: 7.0.6
++ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 4.3.1
+ is-stream: 3.0.0
+@@ -13301,7 +13102,7 @@ snapshots:
+
+ execa@8.0.1:
+ dependencies:
+- cross-spawn: 7.0.6
++ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+@@ -13318,7 +13119,8 @@ snapshots:
+ '@expressive-code/plugin-shiki': 0.40.2
+ '@expressive-code/plugin-text-markers': 0.40.2
+
+- exsolve@1.0.7: {}
++ exsolve@1.0.7:
++ optional: true
+
+ extend-shallow@2.0.1:
+ dependencies:
+@@ -13328,20 +13130,10 @@ snapshots:
+
+ externality@1.0.2:
+ dependencies:
+- enhanced-resolve: 5.18.3
+- mlly: 1.7.4
++ enhanced-resolve: 5.17.1
++ mlly: 1.7.3
+ pathe: 1.1.2
+- ufo: 1.6.1
+-
+- extract-zip@2.0.1:
+- dependencies:
+- debug: 4.4.1
+- get-stream: 5.2.0
+- yauzl: 2.10.0
+- optionalDependencies:
+- '@types/yauzl': 2.10.3
+- transitivePeerDependencies:
+- - supports-color
++ ufo: 1.5.4
+
+ fast-deep-equal@3.1.3: {}
+
+@@ -13349,7 +13141,7 @@ snapshots:
+
+ fast-fifo@1.3.2: {}
+
+- fast-glob@3.3.3:
++ fast-glob@3.3.2:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+@@ -13363,28 +13155,24 @@ snapshots:
+
+ fast-npm-meta@0.2.2: {}
+
+- fast-npm-meta@0.4.6: {}
+-
+- fast-uri@3.0.6: {}
++ fast-uri@3.0.1: {}
+
+- fastq@1.19.1:
++ fastq@1.17.1:
+ dependencies:
+- reusify: 1.1.0
++ reusify: 1.0.4
+
+- fd-slicer@1.1.0:
+- dependencies:
+- pend: 1.2.0
++ fdir@6.4.2(picomatch@4.0.2):
++ optionalDependencies:
++ picomatch: 4.0.2
++
++ fdir@6.4.3(picomatch@4.0.2):
++ optionalDependencies:
++ picomatch: 4.0.2
+
+ fdir@6.4.6(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
+-
+- fecha@4.2.3: {}
+-
+- fetch-blob@3.2.0:
+- dependencies:
+- node-domexception: 1.0.0
+- web-streams-polyfill: 3.3.3
++ optional: true
+
+ fflate@0.4.8: {}
+
+@@ -13406,9 +13194,7 @@ snapshots:
+ dependencies:
+ to-regex-range: 5.0.1
+
+- filter-obj@6.1.0: {}
+-
+- find-up-simple@1.0.1: {}
++ find-up-simple@1.0.0: {}
+
+ find-up@4.1.0:
+ dependencies:
+@@ -13420,73 +13206,59 @@ snapshots:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+- find-up@7.0.0:
++ find-yarn-workspace-root2@1.2.16:
+ dependencies:
+- locate-path: 7.2.0
+- path-exists: 5.0.0
+- unicorn-magic: 0.1.0
++ micromatch: 4.0.8
++ pkg-dir: 4.2.0
+
+ flat-cache@3.2.0:
+ dependencies:
+- flatted: 3.3.3
++ flatted: 3.3.2
+ keyv: 4.5.4
+ rimraf: 3.0.2
+
+ flat-cache@4.0.1:
+ dependencies:
+- flatted: 3.3.3
++ flatted: 3.3.2
+ keyv: 4.5.4
+
+- flatted@3.3.3: {}
++ flatted@3.3.2: {}
+
+ flattie@1.1.1: {}
+
+- floating-vue@5.2.2(@nuxt/kit@3.18.1(magicast@0.3.5))(vue@3.5.18(typescript@5.9.2)):
++ floating-vue@5.2.2(@nuxt/kit@3.17.5(magicast@0.3.5))(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+ '@floating-ui/dom': 1.1.1
+- vue: 3.5.18(typescript@5.9.2)
+- vue-resize: 2.0.0-alpha.1(vue@3.5.18(typescript@5.9.2))
++ vue: 3.5.13(typescript@5.5.4)
++ vue-resize: 2.0.0-alpha.1(vue@3.5.13(typescript@5.5.4))
+ optionalDependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+-
+- fn.name@1.1.0: {}
++ '@nuxt/kit': 3.17.5(magicast@0.3.5)
+
+- fontace@0.3.0:
++ foreground-child@3.2.1:
+ dependencies:
+- '@types/fontkit': 2.0.8
+- fontkit: 2.0.4
+-
+- fontkit@2.0.4:
+- dependencies:
+- '@swc/helpers': 0.5.17
+- brotli: 1.3.3
+- clone: 2.1.2
+- dfa: 1.2.0
+- fast-deep-equal: 3.1.3
+- restructure: 3.0.2
+- tiny-inflate: 1.0.3
+- unicode-properties: 1.4.1
+- unicode-trie: 2.0.0
+-
+- foreground-child@3.3.1:
+- dependencies:
+- cross-spawn: 7.0.6
++ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+
+- formdata-polyfill@4.0.10:
+- dependencies:
+- fetch-blob: 3.2.0
+-
+ fraction.js@4.3.7: {}
+
+- fresh@2.0.0: {}
++ fresh@0.5.2: {}
+
+- fs-extra@11.3.1:
++ fs-extra@10.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
++ fs-extra@11.2.0:
++ dependencies:
++ graceful-fs: 4.2.11
++ jsonfile: 6.1.0
++ universalify: 2.0.1
++
++ fs-minipass@2.1.0:
++ dependencies:
++ minipass: 3.3.6
++
+ fs.realpath@1.0.0: {}
+
+ fsevents@2.3.3:
+@@ -13496,18 +13268,31 @@ snapshots:
+
+ fuse.js@6.6.2: {}
+
+- fuse.js@7.1.0: {}
++ gauge@3.0.2:
++ dependencies:
++ aproba: 2.0.0
++ color-support: 1.1.3
++ console-control-strings: 1.1.0
++ has-unicode: 2.0.1
++ object-assign: 4.1.1
++ signal-exit: 3.0.7
++ string-width: 4.2.3
++ strip-ansi: 6.0.1
++ wide-align: 1.1.5
+
+ gensync@1.0.0-beta.2: {}
+
+- get-amd-module-type@6.0.1:
+- dependencies:
+- ast-module-types: 6.0.1
+- node-source-walk: 7.0.1
+-
+ get-caller-file@2.0.5: {}
+
+- get-east-asian-width@1.3.0: {}
++ get-east-asian-width@1.2.0: {}
++
++ get-intrinsic@1.2.4:
++ dependencies:
++ es-errors: 1.3.0
++ function-bind: 1.1.2
++ has-proto: 1.0.3
++ has-symbols: 1.0.3
++ hasown: 2.0.2
+
+ get-intrinsic@1.3.0:
+ dependencies:
+@@ -13522,7 +13307,7 @@ snapshots:
+ hasown: 2.0.2
+ math-intrinsics: 1.1.0
+
+- get-port-please@3.2.0: {}
++ get-port-please@3.1.2: {}
+
+ get-proto@1.0.1:
+ dependencies:
+@@ -13531,37 +13316,47 @@ snapshots:
+
+ get-stream@4.1.0:
+ dependencies:
+- pump: 3.0.3
+-
+- get-stream@5.2.0:
+- dependencies:
+- pump: 3.0.3
++ pump: 3.0.2
+
+ get-stream@6.0.1: {}
+
+ get-stream@8.0.1: {}
+
+- get-tsconfig@4.10.1:
++ get-tsconfig@4.7.5:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
++ giget@1.2.3:
++ dependencies:
++ citty: 0.1.6
++ consola: 3.2.3
++ defu: 6.1.4
++ node-fetch-native: 1.6.6
++ nypm: 0.3.12
++ ohash: 1.1.4
++ pathe: 1.1.2
++ tar: 6.2.1
++
+ giget@2.0.0:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.4.2
+ defu: 6.1.4
+- node-fetch-native: 1.6.7
+- nypm: 0.6.1
++ node-fetch-native: 1.6.6
++ nypm: 0.6.0
+ pathe: 2.0.3
++ optional: true
++
++ git-config-path@2.0.0: {}
+
+- git-up@8.1.1:
++ git-up@7.0.0:
+ dependencies:
+- is-ssh: 1.4.1
+- parse-url: 9.2.0
++ is-ssh: 1.4.0
++ parse-url: 8.1.0
+
+- git-url-parse@16.1.0:
++ git-url-parse@15.0.0:
+ dependencies:
+- git-up: 8.1.1
++ git-up: 7.0.0
+
+ github-slugger@2.0.0: {}
+
+@@ -13573,13 +13368,16 @@ snapshots:
+ dependencies:
+ is-glob: 4.0.3
+
+- glob@10.4.5:
++ glob-to-regexp@0.4.1:
++ optional: true
++
++ glob@10.4.2:
+ dependencies:
+- foreground-child: 3.3.1
+- jackspeak: 3.4.3
++ foreground-child: 3.2.1
++ jackspeak: 3.4.0
+ minimatch: 9.0.5
+ minipass: 7.1.2
+- package-json-from-dist: 1.0.1
++ package-json-from-dist: 1.0.0
+ path-scurry: 1.11.1
+
+ glob@7.2.3:
+@@ -13595,24 +13393,26 @@ snapshots:
+ dependencies:
+ ini: 4.1.1
+
++ globals@11.12.0: {}
++
+ globals@13.24.0:
+ dependencies:
+ type-fest: 0.20.2
+
+ globals@14.0.0: {}
+
+- globals@15.15.0: {}
++ globals@15.11.0: {}
+
+ globals@16.3.0: {}
+
+- globby@14.1.0:
++ globby@14.0.2:
+ dependencies:
+ '@sindresorhus/merge-streams': 2.3.0
+- fast-glob: 3.3.3
+- ignore: 7.0.5
+- path-type: 6.0.0
++ fast-glob: 3.3.2
++ ignore: 5.3.1
++ path-type: 5.0.0
+ slash: 5.1.0
+- unicorn-magic: 0.3.0
++ unicorn-magic: 0.1.0
+
+ glsl-token-functions@1.0.1: {}
+
+@@ -13622,14 +13422,16 @@ snapshots:
+ dependencies:
+ through2: 0.6.5
+
+- gonzales-pe@4.3.0:
++ gopd@1.0.1:
+ dependencies:
+- minimist: 1.2.8
++ get-intrinsic: 1.3.0
+
+ gopd@1.2.0: {}
+
+ graceful-fs@4.2.11: {}
+
++ grapheme-splitter@1.0.4: {}
++
+ graphemer@1.4.0: {}
+
+ gray-matter@4.0.3:
+@@ -13643,26 +13445,45 @@ snapshots:
+ dependencies:
+ duplexer: 0.1.2
+
+- h3@1.15.4:
++ h3@1.13.0:
++ dependencies:
++ cookie-es: 1.2.2
++ crossws: 0.3.1
++ defu: 6.1.4
++ destr: 2.0.3
++ iron-webcrypto: 1.2.1
++ ohash: 1.1.4
++ radix3: 1.1.2
++ ufo: 1.5.4
++ uncrypto: 0.1.3
++ unenv: 1.10.0
++
++ h3@1.15.1:
+ dependencies:
+ cookie-es: 1.2.2
+- crossws: 0.3.5
++ crossws: 0.3.4
+ defu: 6.1.4
+ destr: 2.0.5
+ iron-webcrypto: 1.2.1
+- node-mock-http: 1.0.2
++ node-mock-http: 1.0.0
+ radix3: 1.1.2
+- ufo: 1.6.1
++ ufo: 1.5.4
+ uncrypto: 0.1.3
+
+ has-flag@4.0.0: {}
+
+ has-property-descriptors@1.0.2:
+ dependencies:
+- es-define-property: 1.0.1
++ es-define-property: 1.0.0
++
++ has-proto@1.0.3: {}
++
++ has-symbols@1.0.3: {}
+
+ has-symbols@1.1.0: {}
+
++ has-unicode@2.0.1: {}
++
+ hash-sum@2.0.0: {}
+
+ hasown@2.0.2:
+@@ -13674,32 +13495,31 @@ snapshots:
+ '@types/hast': 3.0.4
+ hast-util-is-element: 3.0.0
+
+- hast-util-format@1.1.0:
++ hast-util-from-html@2.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+- hast-util-embedded: 3.0.0
+- hast-util-minify-whitespace: 1.0.1
+- hast-util-phrasing: 3.0.1
+- hast-util-whitespace: 3.0.0
+- html-whitespace-sensitive-tag-names: 3.0.1
+- unist-util-visit-parents: 6.0.1
++ devlop: 1.1.0
++ hast-util-from-parse5: 8.0.1
++ parse5: 7.1.2
++ vfile: 6.0.3
++ vfile-message: 4.0.2
+
+ hast-util-from-html@2.0.3:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+- hast-util-from-parse5: 8.0.3
+- parse5: 7.3.0
++ hast-util-from-parse5: 8.0.1
++ parse5: 7.1.2
+ vfile: 6.0.3
+- vfile-message: 4.0.3
++ vfile-message: 4.0.2
+
+- hast-util-from-parse5@8.0.3:
++ hast-util-from-parse5@8.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+- hastscript: 9.0.1
+- property-information: 7.1.0
++ hastscript: 8.0.0
++ property-information: 6.5.0
+ vfile: 6.0.3
+ vfile-location: 5.0.3
+ web-namespaces: 2.0.1
+@@ -13708,7 +13528,7 @@ snapshots:
+ dependencies:
+ '@types/hast': 3.0.4
+
+- hast-util-is-body-ok-link@3.0.1:
++ hast-util-is-body-ok-link@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+@@ -13716,14 +13536,6 @@ snapshots:
+ dependencies:
+ '@types/hast': 3.0.4
+
+- hast-util-minify-whitespace@1.0.1:
+- dependencies:
+- '@types/hast': 3.0.4
+- hast-util-embedded: 3.0.0
+- hast-util-is-element: 3.0.0
+- hast-util-whitespace: 3.0.0
+- unist-util-is: 6.0.0
+-
+ hast-util-parse-selector@4.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+@@ -13733,46 +13545,47 @@ snapshots:
+ '@types/hast': 3.0.4
+ hast-util-embedded: 3.0.0
+ hast-util-has-property: 3.0.0
+- hast-util-is-body-ok-link: 3.0.1
++ hast-util-is-body-ok-link: 3.0.0
+ hast-util-is-element: 3.0.0
+
+- hast-util-raw@9.1.0:
++ hast-util-raw@9.0.4:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+- '@ungap/structured-clone': 1.3.0
+- hast-util-from-parse5: 8.0.3
++ '@ungap/structured-clone': 1.2.0
++ hast-util-from-parse5: 8.0.1
+ hast-util-to-parse5: 8.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+- parse5: 7.3.0
++ parse5: 7.1.2
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+- hast-util-select@6.0.4:
++ hast-util-select@6.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ bcp-47-match: 2.0.3
+ comma-separated-tokens: 2.0.3
+- css-selector-parser: 3.1.3
++ css-selector-parser: 3.0.5
+ devlop: 1.1.0
+ direction: 2.0.1
+ hast-util-has-property: 3.0.0
+- hast-util-to-string: 3.0.1
++ hast-util-to-string: 3.0.0
+ hast-util-whitespace: 3.0.0
++ not: 0.1.0
+ nth-check: 2.1.1
+- property-information: 7.1.0
++ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+- hast-util-to-estree@3.1.3:
++ hast-util-to-estree@3.1.0:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+@@ -13780,17 +13593,31 @@ snapshots:
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+- mdast-util-mdx-expression: 2.0.1
+- mdast-util-mdx-jsx: 3.2.0
++ mdast-util-mdx-expression: 2.0.0
++ mdast-util-mdx-jsx: 3.1.3
+ mdast-util-mdxjs-esm: 2.0.1
+- property-information: 7.1.0
++ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+- style-to-js: 1.1.17
++ style-to-object: 0.4.4
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+
++ hast-util-to-html@9.0.2:
++ dependencies:
++ '@types/hast': 3.0.4
++ '@types/unist': 3.0.3
++ ccount: 2.0.1
++ comma-separated-tokens: 2.0.3
++ hast-util-whitespace: 3.0.0
++ html-void-elements: 3.0.0
++ mdast-util-to-hast: 13.2.0
++ property-information: 6.5.0
++ space-separated-tokens: 2.0.2
++ stringify-entities: 4.0.4
++ zwitch: 2.0.4
++
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+@@ -13800,28 +13627,28 @@ snapshots:
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+- property-information: 7.1.0
++ property-information: 7.0.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+- hast-util-to-jsx-runtime@2.3.6:
++ hast-util-to-jsx-runtime@2.3.0:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+- mdast-util-mdx-expression: 2.0.1
+- mdast-util-mdx-jsx: 3.2.0
++ mdast-util-mdx-expression: 2.0.0
++ mdast-util-mdx-jsx: 3.1.3
+ mdast-util-mdxjs-esm: 2.0.1
+- property-information: 7.1.0
++ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+- style-to-js: 1.1.17
++ style-to-object: 1.0.7
+ unist-util-position: 5.0.0
+- vfile-message: 4.0.3
++ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -13835,7 +13662,7 @@ snapshots:
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+
+- hast-util-to-string@3.0.1:
++ hast-util-to-string@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+@@ -13850,26 +13677,30 @@ snapshots:
+ dependencies:
+ '@types/hast': 3.0.4
+
+- hastscript@9.0.1:
++ hastscript@8.0.0:
++ dependencies:
++ '@types/hast': 3.0.4
++ comma-separated-tokens: 2.0.3
++ hast-util-parse-selector: 4.0.0
++ property-information: 6.5.0
++ space-separated-tokens: 2.0.2
++
++ hastscript@9.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 4.0.0
+- property-information: 7.1.0
++ property-information: 6.5.0
+ space-separated-tokens: 2.0.2
+
+ he@1.2.0: {}
+
+- highlight.js@11.11.1: {}
++ highlight.js@11.9.0: {}
+
+ hookable@5.5.3: {}
+
+ hosted-git-info@2.8.9: {}
+
+- hosted-git-info@7.0.2:
+- dependencies:
+- lru-cache: 10.4.3
+-
+ html-escaper@3.0.3: {}
+
+ html-minifier-terser@7.2.0:
+@@ -13880,7 +13711,9 @@ snapshots:
+ entities: 4.5.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+- terser: 5.43.1
++ terser: 5.42.0
++
++ html-tags@3.3.1: {}
+
+ html-to-text@9.0.5:
+ dependencies:
+@@ -13892,16 +13725,16 @@ snapshots:
+
+ html-void-elements@3.0.0: {}
+
+- html-whitespace-sensitive-tag-names@3.0.1: {}
++ html-whitespace-sensitive-tag-names@3.0.0: {}
+
+ htmlparser2@8.0.2:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 5.0.3
+- domutils: 3.2.2
++ domutils: 3.1.0
+ entities: 4.5.0
+
+- http-cache-semantics@4.2.0: {}
++ http-cache-semantics@4.1.1: {}
+
+ http-errors@2.0.0:
+ dependencies:
+@@ -13913,14 +13746,21 @@ snapshots:
+
+ http-shutdown@1.2.2: {}
+
+- https-proxy-agent@7.0.6:
++ https-proxy-agent@5.0.1:
++ dependencies:
++ agent-base: 6.0.2
++ debug: 4.4.0(supports-color@9.4.0)
++ transitivePeerDependencies:
++ - supports-color
++
++ https-proxy-agent@7.0.6(supports-color@9.4.0):
+ dependencies:
+- agent-base: 7.1.4
+- debug: 4.4.1
++ agent-base: 7.1.3
++ debug: 4.4.0(supports-color@9.4.0)
+ transitivePeerDependencies:
+ - supports-color
+
+- httpxy@0.1.7: {}
++ httpxy@0.1.5: {}
+
+ human-signals@4.3.1: {}
+
+@@ -13928,7 +13768,7 @@ snapshots:
+
+ i18next@23.16.8:
+ dependencies:
+- '@babel/runtime': 7.28.2
++ '@babel/runtime': 7.25.6
+
+ ieee754@1.2.1: {}
+
+@@ -13937,7 +13777,9 @@ snapshots:
+ execa: 1.0.0
+ is-ci: 2.0.0
+
+- ignore@5.3.2: {}
++ ignore@5.3.1: {}
++
++ ignore@6.0.2: {}
+
+ ignore@7.0.5: {}
+
+@@ -13945,28 +13787,30 @@ snapshots:
+
+ immediate@3.0.6: {}
+
+- immutable@5.1.3: {}
++ immutable@4.3.6: {}
+
+- import-fresh@3.3.1:
++ import-fresh@3.3.0:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ import-meta-resolve@4.1.0: {}
+
+- impound@1.0.0:
++ impound@0.2.0(rollup@4.28.1):
+ dependencies:
+- exsolve: 1.0.7
+- mocked-exports: 0.1.1
+- pathe: 2.0.3
+- unplugin: 2.3.5
+- unplugin-utils: 0.2.5
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ mlly: 1.7.3
++ pathe: 1.1.2
++ unenv: 1.10.0
++ unplugin: 1.16.0
++ transitivePeerDependencies:
++ - rollup
+
+ imurmurhash@0.1.4: {}
+
+ indent-string@4.0.0: {}
+
+- index-to-position@1.1.0: {}
++ index-to-position@0.1.2: {}
+
+ inflight@1.0.6:
+ dependencies:
+@@ -13979,27 +13823,22 @@ snapshots:
+
+ ini@4.1.1: {}
+
+- inline-style-parser@0.2.4: {}
++ inline-style-parser@0.1.1: {}
+
+- intl-messageformat@10.7.16:
+- dependencies:
+- '@formatjs/ecma402-abstract': 2.3.4
+- '@formatjs/fast-memoize': 2.2.7
+- '@formatjs/icu-messageformat-parser': 2.11.2
+- tslib: 2.8.1
++ inline-style-parser@0.2.3: {}
+
+- intl-messageformat@10.7.7:
++ intl-messageformat@10.5.14:
+ dependencies:
+- '@formatjs/ecma402-abstract': 2.2.4
+- '@formatjs/fast-memoize': 2.2.3
+- '@formatjs/icu-messageformat-parser': 2.9.4
+- tslib: 2.8.1
++ '@formatjs/ecma402-abstract': 2.0.0
++ '@formatjs/fast-memoize': 2.2.0
++ '@formatjs/icu-messageformat-parser': 2.7.8
++ tslib: 2.6.3
+
+- ioredis@5.7.0:
++ ioredis@5.4.1:
+ dependencies:
+- '@ioredis/commands': 1.3.0
++ '@ioredis/commands': 1.2.0
+ cluster-key-slot: 1.1.2
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ denque: 2.1.0
+ lodash.defaults: 4.2.0
+ lodash.isarguments: 3.1.0
+@@ -14034,7 +13873,7 @@ snapshots:
+ dependencies:
+ ci-info: 2.0.0
+
+- is-core-module@2.16.1:
++ is-core-module@2.15.0:
+ dependencies:
+ hasown: 2.0.2
+
+@@ -14073,17 +13912,15 @@ snapshots:
+
+ is-path-inside@4.0.0: {}
+
+- is-plain-obj@2.1.0: {}
+-
+ is-plain-obj@4.1.0: {}
+
+ is-reference@1.2.1:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+
+- is-ssh@1.4.1:
++ is-ssh@1.4.0:
+ dependencies:
+- protocols: 2.0.2
++ protocols: 2.0.1
+
+ is-stream@1.1.0: {}
+
+@@ -14091,12 +13928,6 @@ snapshots:
+
+ is-stream@3.0.0: {}
+
+- is-stream@4.0.1: {}
+-
+- is-url-superb@4.0.0: {}
+-
+- is-url@1.2.4: {}
+-
+ is-what@4.1.16: {}
+
+ is-wsl@2.2.0:
+@@ -14119,30 +13950,40 @@ snapshots:
+
+ isexe@2.0.0: {}
+
+- isexe@3.1.1: {}
+-
+ iso-3166-1@2.1.1: {}
+
+- jackspeak@3.4.3:
++ jackspeak@3.4.0:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+- jiti@1.21.7: {}
++ jest-worker@27.5.1:
++ dependencies:
++ '@types/node': 20.14.11
++ merge-stream: 2.0.0
++ supports-color: 8.1.1
++ optional: true
++
++ jiti@1.21.6: {}
++
++ jiti@2.4.2: {}
+
+- jiti@2.5.1: {}
++ jiti@2.5.1:
++ optional: true
+
+ js-beautify@1.15.4:
+ dependencies:
+ config-chain: 1.1.13
+ editorconfig: 1.0.4
+- glob: 10.4.5
++ glob: 10.4.2
+ js-cookie: 3.0.5
+ nopt: 7.2.1
+
+ js-cookie@3.0.5: {}
+
++ js-levenshtein@1.1.6: {}
++
+ js-tokens@4.0.0: {}
+
+ js-tokens@9.0.1: {}
+@@ -14160,7 +14001,7 @@ snapshots:
+
+ jsesc@0.5.0: {}
+
+- jsesc@3.1.0: {}
++ jsesc@3.0.2: {}
+
+ json-buffer@3.0.1: {}
+
+@@ -14172,14 +14013,18 @@ snapshots:
+
+ json-stable-stringify-without-jsonify@1.0.1: {}
+
+- json-stable-stringify@1.3.0:
++ json-stable-stringify@1.1.1:
+ dependencies:
+- call-bind: 1.0.8
+- call-bound: 1.0.4
++ call-bind: 1.0.7
+ isarray: 2.0.5
+ jsonify: 0.0.1
+ object-keys: 1.1.1
+
++ json-to-ast@2.1.0:
++ dependencies:
++ code-error-fragment: 0.0.230
++ grapheme-splitter: 1.0.4
++
+ json5@2.2.3: {}
+
+ jsonc-parser@2.3.1: {}
+@@ -14203,10 +14048,6 @@ snapshots:
+ readable-stream: 2.3.8(patch_hash=h52dazg37p4h3yox67pw36akse)
+ setimmediate: 1.0.5
+
+- junk@4.0.1: {}
+-
+- jwt-decode@4.0.0: {}
+-
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+@@ -14219,22 +14060,17 @@ snapshots:
+
+ klona@2.0.6: {}
+
+- knitwork@1.2.0: {}
++ knitwork@1.1.0: {}
+
+- kolorist@1.8.0: {}
+-
+- kuler@2.0.0: {}
++ knitwork@1.2.0:
++ optional: true
+
+- lambda-local@2.2.0:
+- dependencies:
+- commander: 10.0.1
+- dotenv: 16.6.1
+- winston: 3.17.0
++ kolorist@1.8.0: {}
+
+- launch-editor@2.11.0:
++ launch-editor@2.9.1:
+ dependencies:
+ picocolors: 1.1.1
+- shell-quote: 1.8.3
++ shell-quote: 1.8.1
+
+ lazystream@1.0.1:
+ dependencies:
+@@ -14253,7 +14089,9 @@ snapshots:
+ dependencies:
+ immediate: 3.0.6
+
+- lilconfig@3.1.3: {}
++ lilconfig@2.1.0: {}
++
++ lilconfig@3.1.2: {}
+
+ lines-and-columns@1.2.4: {}
+
+@@ -14267,35 +14105,46 @@ snapshots:
+
+ listhen@1.9.0:
+ dependencies:
+- '@parcel/watcher': 2.5.1
+- '@parcel/watcher-wasm': 2.5.1
++ '@parcel/watcher': 2.4.1
++ '@parcel/watcher-wasm': 2.4.1
+ citty: 0.1.6
+ clipboardy: 4.0.0
+ consola: 3.4.2
+- crossws: 0.3.5
++ crossws: 0.3.4
+ defu: 6.1.4
+- get-port-please: 3.2.0
+- h3: 1.15.4
++ get-port-please: 3.1.2
++ h3: 1.15.1
+ http-shutdown: 1.2.2
+- jiti: 2.5.1
+- mlly: 1.7.4
++ jiti: 2.4.2
++ mlly: 1.7.3
+ node-forge: 1.3.1
+ pathe: 1.1.2
+- std-env: 3.9.0
++ std-env: 3.8.0
+ ufo: 1.6.1
+ untun: 0.1.3
+ uqr: 0.1.2
+
++ load-yaml-file@0.2.0:
++ dependencies:
++ graceful-fs: 4.2.11
++ js-yaml: 3.14.1
++ pify: 4.0.1
++ strip-bom: 3.0.0
++
++ loader-runner@4.3.0:
++ optional: true
++
+ local-pkg@0.5.1:
+ dependencies:
+- mlly: 1.7.4
+- pkg-types: 1.3.1
++ mlly: 1.7.3
++ pkg-types: 1.2.1
+
+ local-pkg@1.1.1:
+ dependencies:
+ mlly: 1.7.4
+ pkg-types: 2.2.0
+ quansync: 0.2.10
++ optional: true
+
+ locate-path@5.0.0:
+ dependencies:
+@@ -14305,18 +14154,12 @@ snapshots:
+ dependencies:
+ p-locate: 5.0.0
+
+- locate-path@7.2.0:
+- dependencies:
+- p-locate: 6.0.0
+-
+- lodash-es@4.17.21: {}
+-
+- lodash.debounce@4.0.8: {}
+-
+ lodash.defaults@4.2.0: {}
+
+ lodash.isarguments@3.1.0: {}
+
++ lodash.isequal@4.5.0: {}
++
+ lodash.memoize@4.1.2: {}
+
+ lodash.merge@4.6.2: {}
+@@ -14325,15 +14168,6 @@ snapshots:
+
+ lodash@4.17.21: {}
+
+- logform@2.7.0:
+- dependencies:
+- '@colors/colors': 1.6.0
+- '@types/triple-beam': 1.3.5
+- fecha: 4.2.3
+- ms: 2.1.3
+- safe-stable-stringify: 2.5.0
+- triple-beam: 1.4.1
+-
+ longest-streak@3.1.0: {}
+
+ loud-rejection@2.2.0:
+@@ -14343,7 +14177,7 @@ snapshots:
+
+ lower-case@2.0.2:
+ dependencies:
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+ lru-cache@10.4.3: {}
+
+@@ -14351,32 +14185,28 @@ snapshots:
+ dependencies:
+ yallist: 3.1.1
+
+- luxon@3.7.1: {}
+-
+- magic-regexp@0.10.0:
++ magic-string-ast@0.6.2:
+ dependencies:
+- estree-walker: 3.0.3
+- magic-string: 0.30.17
+- mlly: 1.7.4
+- regexp-tree: 0.1.27
+- type-level-regexp: 0.1.17
+- ufo: 1.6.1
+- unplugin: 2.3.5
++ magic-string: 0.30.14
+
+- magic-string-ast@1.0.0:
++ magic-string@0.30.14:
+ dependencies:
+- magic-string: 0.30.17
++ '@jridgewell/sourcemap-codec': 1.5.0
+
+ magic-string@0.30.17:
+ dependencies:
+- '@jridgewell/sourcemap-codec': 1.5.4
++ '@jridgewell/sourcemap-codec': 1.5.0
+
+ magicast@0.3.5:
+ dependencies:
+- '@babel/parser': 7.28.0
+- '@babel/types': 7.28.2
++ '@babel/parser': 7.26.3
++ '@babel/types': 7.26.3
+ source-map-js: 1.2.1
+
++ make-dir@3.1.0:
++ dependencies:
++ semver: 6.3.1
++
+ markdown-extensions@2.0.0: {}
+
+ markdown-it@13.0.2:
+@@ -14396,7 +14226,7 @@ snapshots:
+ punycode.js: 2.3.1
+ uc.micro: 2.1.0
+
+- markdown-table@3.0.4: {}
++ markdown-table@3.0.3: {}
+
+ marked@7.0.4: {}
+
+@@ -14408,40 +14238,39 @@ snapshots:
+ '@types/unist': 3.0.3
+ unist-util-visit: 5.0.0
+
+- mdast-util-directive@3.1.0:
++ mdast-util-directive@3.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+- ccount: 2.0.1
+ devlop: 1.1.0
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
+- parse-entities: 4.0.2
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
++ parse-entities: 4.0.1
+ stringify-entities: 4.0.4
+ unist-util-visit-parents: 6.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+- mdast-util-find-and-replace@3.0.2:
++ mdast-util-find-and-replace@3.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
+- mdast-util-from-markdown@2.0.2:
++ mdast-util-from-markdown@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+- decode-named-character-reference: 1.2.0
++ decode-named-character-reference: 1.0.2
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+- micromark: 4.0.2
+- micromark-util-decode-numeric-character-reference: 2.0.2
+- micromark-util-decode-string: 2.0.1
+- micromark-util-normalize-identifier: 2.0.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark: 4.0.0
++ micromark-util-decode-numeric-character-reference: 2.0.1
++ micromark-util-decode-string: 2.0.0
++ micromark-util-normalize-identifier: 2.0.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+@@ -14451,24 +14280,24 @@ snapshots:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+- mdast-util-find-and-replace: 3.0.2
+- micromark-util-character: 2.1.1
++ mdast-util-find-and-replace: 3.0.1
++ micromark-util-character: 2.1.0
+
+- mdast-util-gfm-footnote@2.1.0:
++ mdast-util-gfm-footnote@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
+- micromark-util-normalize-identifier: 2.0.1
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
++ micromark-util-normalize-identifier: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -14476,9 +14305,9 @@ snapshots:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+- markdown-table: 3.0.4
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
++ markdown-table: 3.0.3
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -14486,35 +14315,35 @@ snapshots:
+ dependencies:
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+- mdast-util-gfm@3.1.0:
++ mdast-util-gfm@3.0.0:
+ dependencies:
+- mdast-util-from-markdown: 2.0.2
++ mdast-util-from-markdown: 2.0.1
+ mdast-util-gfm-autolink-literal: 2.0.1
+- mdast-util-gfm-footnote: 2.1.0
++ mdast-util-gfm-footnote: 2.0.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+- mdast-util-mdx-expression@2.0.1:
++ mdast-util-mdx-expression@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+- mdast-util-mdx-jsx@3.2.0:
++ mdast-util-mdx-jsx@3.1.3:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+@@ -14522,22 +14351,22 @@ snapshots:
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
+- parse-entities: 4.0.2
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
++ parse-entities: 4.0.1
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+- vfile-message: 4.0.3
++ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ mdast-util-mdx@3.0.0:
+ dependencies:
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-mdx-expression: 2.0.1
+- mdast-util-mdx-jsx: 3.2.0
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-mdx-expression: 2.0.0
++ mdast-util-mdx-jsx: 3.1.3
+ mdast-util-mdxjs-esm: 2.0.1
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -14547,8 +14376,8 @@ snapshots:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+- mdast-util-from-markdown: 2.0.2
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-from-markdown: 2.0.1
++ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -14561,7 +14390,7 @@ snapshots:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+- '@ungap/structured-clone': 1.3.0
++ '@ungap/structured-clone': 1.2.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+@@ -14569,15 +14398,14 @@ snapshots:
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+
+- mdast-util-to-markdown@2.1.2:
++ mdast-util-to-markdown@2.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+- micromark-util-classify-character: 2.0.1
+- micromark-util-decode-string: 2.0.1
++ micromark-util-decode-string: 2.0.0
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
+@@ -14589,295 +14417,308 @@ snapshots:
+
+ mdn-data@2.0.30: {}
+
+- mdn-data@2.12.2: {}
+-
+ mdurl@1.0.1: {}
+
+ mdurl@2.0.0: {}
+
+- merge-options@3.0.4:
+- dependencies:
+- is-plain-obj: 2.1.0
+-
+ merge-stream@2.0.0: {}
+
+ merge2@1.4.1: {}
+
+ meshoptimizer@0.18.1: {}
+
+- micro-api-client@3.3.0: {}
+-
+- micromark-core-commonmark@2.0.3:
++ micromark-core-commonmark@2.0.1:
+ dependencies:
+- decode-named-character-reference: 1.2.0
++ decode-named-character-reference: 1.0.2
+ devlop: 1.1.0
+- micromark-factory-destination: 2.0.1
+- micromark-factory-label: 2.0.1
+- micromark-factory-space: 2.0.1
+- micromark-factory-title: 2.0.1
+- micromark-factory-whitespace: 2.0.1
++ micromark-factory-destination: 2.0.0
++ micromark-factory-label: 2.0.0
++ micromark-factory-space: 2.0.0
++ micromark-factory-title: 2.0.0
++ micromark-factory-whitespace: 2.0.0
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+- micromark-util-classify-character: 2.0.1
+- micromark-util-html-tag-name: 2.0.1
+- micromark-util-normalize-identifier: 2.0.1
++ micromark-util-classify-character: 2.0.0
++ micromark-util-html-tag-name: 2.0.0
++ micromark-util-normalize-identifier: 2.0.0
+ micromark-util-resolve-all: 2.0.1
+- micromark-util-subtokenize: 2.1.0
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-subtokenize: 2.0.1
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-extension-directive@3.0.2:
++ micromark-extension-directive@3.0.1:
+ dependencies:
+ devlop: 1.1.0
+- micromark-factory-space: 2.0.1
+- micromark-factory-whitespace: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
+- parse-entities: 4.0.2
++ micromark-factory-space: 2.0.0
++ micromark-factory-whitespace: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
++ parse-entities: 4.0.1
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+- micromark-util-character: 2.1.1
+- micromark-util-sanitize-uri: 2.0.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-character: 2.1.0
++ micromark-util-sanitize-uri: 2.0.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+- micromark-core-commonmark: 2.0.3
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-normalize-identifier: 2.0.1
+- micromark-util-sanitize-uri: 2.0.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-core-commonmark: 2.0.1
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-normalize-identifier: 2.0.0
++ micromark-util-sanitize-uri: 2.0.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+- micromark-util-chunked: 2.0.1
+- micromark-util-classify-character: 2.0.1
+- micromark-util-resolve-all: 2.0.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-chunked: 2.0.0
++ micromark-util-classify-character: 2.0.0
++ micromark-util-resolve-all: 2.0.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-extension-gfm-table@2.1.1:
++ micromark-extension-gfm-table@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+- micromark-util-types: 2.0.2
++ micromark-util-types: 2.0.0
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+- micromark-extension-gfm-table: 2.1.1
++ micromark-extension-gfm-table: 2.1.0
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+- micromark-util-combine-extensions: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-combine-extensions: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-extension-mdx-expression@3.0.1:
++ micromark-extension-mdx-expression@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+- micromark-factory-mdx-expression: 2.0.3
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-events-to-acorn: 2.0.3
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-factory-mdx-expression: 2.0.2
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-events-to-acorn: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-extension-mdx-jsx@3.0.2:
++ micromark-extension-mdx-jsx@3.0.1:
+ dependencies:
++ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+- micromark-factory-mdx-expression: 2.0.3
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-events-to-acorn: 2.0.3
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
+- vfile-message: 4.0.3
++ micromark-factory-mdx-expression: 2.0.2
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-events-to-acorn: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
++ vfile-message: 4.0.2
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+- micromark-util-types: 2.0.2
++ micromark-util-types: 2.0.0
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+- micromark-core-commonmark: 2.0.3
+- micromark-util-character: 2.1.1
+- micromark-util-events-to-acorn: 2.0.3
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-core-commonmark: 2.0.1
++ micromark-util-character: 2.1.0
++ micromark-util-events-to-acorn: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+- vfile-message: 4.0.3
++ vfile-message: 4.0.2
+
+ micromark-extension-mdxjs@3.0.0:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+- micromark-extension-mdx-expression: 3.0.1
+- micromark-extension-mdx-jsx: 3.0.2
++ micromark-extension-mdx-expression: 3.0.0
++ micromark-extension-mdx-jsx: 3.0.1
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+- micromark-util-combine-extensions: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-combine-extensions: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-factory-destination@2.0.1:
++ micromark-factory-destination@2.0.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-factory-label@2.0.1:
++ micromark-factory-label@2.0.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-factory-mdx-expression@2.0.3:
++ micromark-factory-mdx-expression@2.0.2:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-events-to-acorn: 2.0.3
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-events-to-acorn: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+- vfile-message: 4.0.3
++ vfile-message: 4.0.2
+
+- micromark-factory-space@2.0.1:
++ micromark-factory-space@2.0.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+- micromark-util-types: 2.0.2
++ micromark-util-types: 2.0.0
+
+- micromark-factory-title@2.0.1:
++ micromark-factory-title@2.0.0:
+ dependencies:
+- micromark-factory-space: 2.0.1
++ micromark-factory-space: 2.0.0
+ micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-factory-whitespace@2.0.1:
++ micromark-factory-whitespace@2.0.0:
+ dependencies:
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
++
++ micromark-util-character@2.1.0:
++ dependencies:
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+ micromark-util-character@2.1.1:
+ dependencies:
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
++
++ micromark-util-chunked@2.0.0:
++ dependencies:
++ micromark-util-symbol: 2.0.0
+
+ micromark-util-chunked@2.0.1:
+ dependencies:
+- micromark-util-symbol: 2.0.1
++ micromark-util-symbol: 2.0.0
+
+- micromark-util-classify-character@2.0.1:
++ micromark-util-classify-character@2.0.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-util-combine-extensions@2.0.1:
++ micromark-util-combine-extensions@2.0.0:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-types: 2.0.0
+
+- micromark-util-decode-numeric-character-reference@2.0.2:
++ micromark-util-decode-numeric-character-reference@2.0.1:
+ dependencies:
+- micromark-util-symbol: 2.0.1
++ micromark-util-symbol: 2.0.0
+
+- micromark-util-decode-string@2.0.1:
++ micromark-util-decode-string@2.0.0:
+ dependencies:
+- decode-named-character-reference: 1.2.0
+- micromark-util-character: 2.1.1
+- micromark-util-decode-numeric-character-reference: 2.0.2
+- micromark-util-symbol: 2.0.1
++ decode-named-character-reference: 1.0.2
++ micromark-util-character: 2.1.0
++ micromark-util-decode-numeric-character-reference: 2.0.1
++ micromark-util-symbol: 2.0.0
+
+- micromark-util-encode@2.0.1: {}
++ micromark-util-encode@2.0.0: {}
+
+- micromark-util-events-to-acorn@2.0.3:
++ micromark-util-events-to-acorn@2.0.2:
+ dependencies:
++ '@types/acorn': 4.0.6
+ '@types/estree': 1.0.8
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
+- vfile-message: 4.0.3
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
++ vfile-message: 4.0.2
+
+- micromark-util-html-tag-name@2.0.1: {}
++ micromark-util-html-tag-name@2.0.0: {}
++
++ micromark-util-normalize-identifier@2.0.0:
++ dependencies:
++ micromark-util-symbol: 2.0.0
+
+- micromark-util-normalize-identifier@2.0.1:
++ micromark-util-resolve-all@2.0.0:
+ dependencies:
+- micromark-util-symbol: 2.0.1
++ micromark-util-types: 2.0.0
+
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+- micromark-util-types: 2.0.2
++ micromark-util-types: 2.0.0
++
++ micromark-util-sanitize-uri@2.0.0:
++ dependencies:
++ micromark-util-character: 2.1.0
++ micromark-util-encode: 2.0.0
++ micromark-util-symbol: 2.0.0
+
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+- micromark-util-encode: 2.0.1
+- micromark-util-symbol: 2.0.1
++ micromark-util-encode: 2.0.0
++ micromark-util-symbol: 2.0.0
+
+- micromark-util-subtokenize@2.1.0:
++ micromark-util-subtokenize@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+
+- micromark-util-symbol@2.0.1: {}
++ micromark-util-symbol@2.0.0: {}
+
+- micromark-util-types@2.0.2: {}
++ micromark-util-types@2.0.0: {}
+
+- micromark@4.0.2:
++ micromark@4.0.0:
+ dependencies:
+ '@types/debug': 4.1.12
+- debug: 4.4.1
+- decode-named-character-reference: 1.2.0
++ debug: 4.4.0(supports-color@9.4.0)
++ decode-named-character-reference: 1.0.2
+ devlop: 1.1.0
+- micromark-core-commonmark: 2.0.3
+- micromark-factory-space: 2.0.1
+- micromark-util-character: 2.1.1
+- micromark-util-chunked: 2.0.1
+- micromark-util-combine-extensions: 2.0.1
+- micromark-util-decode-numeric-character-reference: 2.0.2
+- micromark-util-encode: 2.0.1
+- micromark-util-normalize-identifier: 2.0.1
+- micromark-util-resolve-all: 2.0.1
+- micromark-util-sanitize-uri: 2.0.1
+- micromark-util-subtokenize: 2.1.0
+- micromark-util-symbol: 2.0.1
+- micromark-util-types: 2.0.2
++ micromark-core-commonmark: 2.0.1
++ micromark-factory-space: 2.0.0
++ micromark-util-character: 2.1.0
++ micromark-util-chunked: 2.0.0
++ micromark-util-combine-extensions: 2.0.0
++ micromark-util-decode-numeric-character-reference: 2.0.1
++ micromark-util-encode: 2.0.0
++ micromark-util-normalize-identifier: 2.0.0
++ micromark-util-resolve-all: 2.0.0
++ micromark-util-sanitize-uri: 2.0.0
++ micromark-util-subtokenize: 2.0.1
++ micromark-util-symbol: 2.0.0
++ micromark-util-types: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -14888,57 +14729,69 @@ snapshots:
+
+ mime-db@1.25.0: {}
+
+- mime-db@1.54.0: {}
++ mime-db@1.52.0:
++ optional: true
+
+ mime-types@2.1.13:
+ dependencies:
+ mime-db: 1.25.0
+
+- mime-types@3.0.1:
++ mime-types@2.1.35:
+ dependencies:
+- mime-db: 1.54.0
++ mime-db: 1.52.0
++ optional: true
++
++ mime@1.6.0: {}
+
+ mime@3.0.0: {}
+
+- mime@4.0.7: {}
++ mime@4.0.4: {}
+
+ mimic-fn@4.0.0: {}
+
+ min-indent@1.0.1: {}
+
+- minimatch@10.0.3:
+- dependencies:
+- '@isaacs/brace-expansion': 5.0.0
+-
+ minimatch@3.1.2:
+ dependencies:
+- brace-expansion: 1.1.12
++ brace-expansion: 1.1.11
+
+ minimatch@5.1.6:
+ dependencies:
+- brace-expansion: 2.0.2
++ brace-expansion: 2.0.1
+
+ minimatch@9.0.1:
+ dependencies:
+- brace-expansion: 2.0.2
++ brace-expansion: 2.0.1
+
+ minimatch@9.0.5:
+ dependencies:
+- brace-expansion: 2.0.2
++ brace-expansion: 2.0.1
++
++ minipass@3.3.6:
++ dependencies:
++ yallist: 4.0.0
+
+- minimist@1.2.8: {}
++ minipass@5.0.0: {}
+
+ minipass@7.1.2: {}
+
+- minizlib@3.0.2:
++ minizlib@2.1.2:
+ dependencies:
+- minipass: 7.1.2
++ minipass: 3.3.6
++ yallist: 4.0.0
+
+ mitt@2.1.0: {}
+
+ mitt@3.0.1: {}
+
+- mkdirp@3.0.1: {}
++ mkdirp@1.0.4: {}
++
++ mlly@1.7.3:
++ dependencies:
++ acorn: 8.14.0
++ pathe: 1.1.2
++ pkg-types: 1.2.1
++ ufo: 1.5.4
+
+ mlly@1.7.4:
+ dependencies:
+@@ -14946,15 +14799,13 @@ snapshots:
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
++ optional: true
+
+- mocked-exports@0.1.1: {}
++ mri@1.2.0: {}
+
+- module-definition@6.0.1:
+- dependencies:
+- ast-module-types: 6.0.1
+- node-source-walk: 7.0.1
++ mrmime@2.0.0: {}
+
+- mrmime@2.0.1: {}
++ ms@2.0.0: {}
+
+ ms@2.1.3: {}
+
+@@ -14966,102 +14817,96 @@ snapshots:
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
+- nanoid@3.3.11: {}
++ nanoid@3.3.11:
++ optional: true
++
++ nanoid@3.3.7: {}
+
+- nanoid@5.1.5: {}
++ nanoid@3.3.8: {}
+
+- nanotar@0.2.0: {}
++ nanoid@5.0.7: {}
+
+- napi-postinstall@0.3.2: {}
++ nanotar@0.1.1: {}
+
+ natural-compare@1.4.0: {}
+
+- neotraverse@0.6.18: {}
++ neo-async@2.6.2:
++ optional: true
+
+- netlify@13.3.5:
+- dependencies:
+- '@netlify/open-api': 2.37.0
+- lodash-es: 4.17.21
+- micro-api-client: 3.3.0
+- node-fetch: 3.3.2
+- p-wait-for: 5.0.2
+- qs: 6.14.0
++ neotraverse@0.6.18: {}
+
+ nice-try@1.0.5: {}
+
+- nitropack@2.12.4(@netlify/blobs@9.1.2)(xml2js@0.6.2):
+- dependencies:
+- '@cloudflare/kv-asset-handler': 0.4.0
+- '@netlify/functions': 3.1.10(rollup@4.46.2)
+- '@rollup/plugin-alias': 5.1.1(rollup@4.46.2)
+- '@rollup/plugin-commonjs': 28.0.6(rollup@4.46.2)
+- '@rollup/plugin-inject': 5.0.5(rollup@4.46.2)
+- '@rollup/plugin-json': 6.1.0(rollup@4.46.2)
+- '@rollup/plugin-node-resolve': 16.0.1(rollup@4.46.2)
+- '@rollup/plugin-replace': 6.0.2(rollup@4.46.2)
+- '@rollup/plugin-terser': 0.4.4(rollup@4.46.2)
+- '@vercel/nft': 0.29.4(rollup@4.46.2)
++ nitropack@2.10.4(typescript@5.5.4)(xml2js@0.6.2):
++ dependencies:
++ '@cloudflare/kv-asset-handler': 0.3.4
++ '@netlify/functions': 2.8.2
++ '@rollup/plugin-alias': 5.1.1(rollup@4.28.1)
++ '@rollup/plugin-commonjs': 28.0.1(rollup@4.28.1)
++ '@rollup/plugin-inject': 5.0.5(rollup@4.28.1)
++ '@rollup/plugin-json': 6.1.0(rollup@4.28.1)
++ '@rollup/plugin-node-resolve': 15.3.0(rollup@4.28.1)
++ '@rollup/plugin-replace': 6.0.1(rollup@4.28.1)
++ '@rollup/plugin-terser': 0.4.4(rollup@4.28.1)
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ '@types/http-proxy': 1.17.15
++ '@vercel/nft': 0.27.7(rollup@4.28.1)
+ archiver: 7.0.1
+- c12: 3.2.0(magicast@0.3.5)
+- chokidar: 4.0.3
++ c12: 2.0.1(magicast@0.3.5)
++ chokidar: 3.6.0
+ citty: 0.1.6
+- compatx: 0.2.0
+- confbox: 0.2.2
+- consola: 3.4.2
+- cookie-es: 2.0.0
+- croner: 9.1.0
+- crossws: 0.3.5
+- db0: 0.3.2
++ compatx: 0.1.8
++ confbox: 0.1.8
++ consola: 3.2.3
++ cookie-es: 1.2.2
++ croner: 9.0.0
++ crossws: 0.3.1
++ db0: 0.2.1
+ defu: 6.1.4
+- destr: 2.0.5
++ destr: 2.0.3
+ dot-prop: 9.0.0
+- esbuild: 0.25.8
++ esbuild: 0.24.0
+ escape-string-regexp: 5.0.0
+ etag: 1.8.1
+- exsolve: 1.0.7
+- globby: 14.1.0
++ fs-extra: 11.2.0
++ globby: 14.0.2
+ gzip-size: 7.0.0
+- h3: 1.15.4
++ h3: 1.13.0
+ hookable: 5.5.3
+- httpxy: 0.1.7
+- ioredis: 5.7.0
+- jiti: 2.5.1
++ httpxy: 0.1.5
++ ioredis: 5.4.1
++ jiti: 2.4.2
+ klona: 2.0.6
+- knitwork: 1.2.0
++ knitwork: 1.1.0
+ listhen: 1.9.0
+- magic-string: 0.30.17
++ magic-string: 0.30.14
+ magicast: 0.3.5
+- mime: 4.0.7
+- mlly: 1.7.4
+- node-fetch-native: 1.6.7
+- node-mock-http: 1.0.2
++ mime: 4.0.4
++ mlly: 1.7.3
++ node-fetch-native: 1.6.4
+ ofetch: 1.4.1
+- ohash: 2.0.11
+- pathe: 2.0.3
++ ohash: 1.1.4
++ openapi-typescript: 7.4.4(typescript@5.5.4)
++ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+- pkg-types: 2.2.0
++ pkg-types: 1.2.1
+ pretty-bytes: 6.1.1
+ radix3: 1.1.2
+- rollup: 4.46.2
+- rollup-plugin-visualizer: 6.0.3(rollup@4.46.2)
++ rollup: 4.28.1
++ rollup-plugin-visualizer: 5.12.0(rollup@4.28.1)
+ scule: 1.3.0
+- semver: 7.7.2
++ semver: 7.7.1
+ serve-placeholder: 2.0.2
+- serve-static: 2.2.0
+- source-map: 0.7.6
+- std-env: 3.9.0
+- ufo: 1.6.1
+- ultrahtml: 1.6.0
++ serve-static: 1.16.2
++ std-env: 3.8.0
++ ufo: 1.5.4
+ uncrypto: 0.1.3
+- unctx: 2.4.1
+- unenv: 2.0.0-rc.19
+- unimport: 5.2.0
+- unplugin-utils: 0.2.5
+- unstorage: 1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.7.0)
+- untyped: 2.0.0
++ unctx: 2.3.1
++ unenv: 1.10.0
++ unimport: 3.14.4(rollup@4.28.1)
++ unstorage: 1.13.1(ioredis@5.4.1)
++ untyped: 1.5.1
+ unwasm: 0.3.9
+- youch: 4.1.0-beta.8
+- youch-core: 0.3.3
+ optionalDependencies:
+ xml2js: 0.6.2
+ transitivePeerDependencies:
+@@ -15072,24 +14917,19 @@ snapshots:
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+- - '@deno/kv'
+ - '@electric-sql/pglite'
+ - '@libsql/client'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+- - '@vercel/blob'
+ - '@vercel/kv'
+- - aws4fetch
+ - better-sqlite3
+ - drizzle-orm
+ - encoding
+ - idb-keyval
+ - mysql2
+- - rolldown
+- - sqlite3
+ - supports-color
+- - uploadthing
++ - typescript
+
+ nlcst-to-string@4.0.0:
+ dependencies:
+@@ -15098,151 +14938,144 @@ snapshots:
+ no-case@3.0.4:
+ dependencies:
+ lower-case: 2.0.2
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+- node-addon-api@7.1.1: {}
++ node-addon-api@7.1.0: {}
+
+- node-domexception@1.0.0: {}
++ node-fetch-native@1.6.4: {}
+
+- node-fetch-native@1.6.7: {}
++ node-fetch-native@1.6.6: {}
+
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+- node-fetch@3.3.2:
+- dependencies:
+- data-uri-to-buffer: 4.0.1
+- fetch-blob: 3.2.0
+- formdata-polyfill: 4.0.10
+-
+ node-forge@1.3.1: {}
+
+- node-gyp-build@4.8.4: {}
++ node-gyp-build@4.8.1: {}
++
++ node-mock-http@1.0.0: {}
+
+- node-mock-http@1.0.2: {}
++ node-releases@2.0.18: {}
+
+- node-releases@2.0.19: {}
++ node-releases@2.0.19:
++ optional: true
+
+- node-source-walk@7.0.1:
++ nopt@5.0.0:
+ dependencies:
+- '@babel/parser': 7.28.0
++ abbrev: 1.1.1
+
+ nopt@7.2.1:
+ dependencies:
+ abbrev: 2.0.0
+
+- nopt@8.1.0:
+- dependencies:
+- abbrev: 3.0.1
+-
+ normalize-package-data@2.5.0:
+ dependencies:
+ hosted-git-info: 2.8.9
+- resolve: 1.22.10
++ resolve: 1.22.8
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+
+- normalize-package-data@6.0.2:
+- dependencies:
+- hosted-git-info: 7.0.2
+- semver: 7.7.2
+- validate-npm-package-license: 3.0.4
+-
+- normalize-path@2.1.1:
+- dependencies:
+- remove-trailing-separator: 1.1.0
+-
+ normalize-path@3.0.0: {}
+
+ normalize-range@0.1.2: {}
+
++ not@0.1.0: {}
++
+ npm-run-path@2.0.2:
+ dependencies:
+ path-key: 2.0.1
+
++ npm-run-path@4.0.1:
++ dependencies:
++ path-key: 3.1.1
++
+ npm-run-path@5.3.0:
+ dependencies:
+ path-key: 4.0.0
+
+- npm-run-path@6.0.0:
++ npmlog@5.0.1:
+ dependencies:
+- path-key: 4.0.0
+- unicorn-magic: 0.3.0
++ are-we-there-yet: 2.0.0
++ console-control-strings: 1.1.0
++ gauge: 3.0.2
++ set-blocking: 2.0.0
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+- nuxt@3.18.1(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@20.19.9)(@vue/compiler-sfc@3.5.18)(db0@0.3.2)(eslint@8.57.1)(ioredis@5.7.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue-tsc@2.2.12(typescript@5.9.2))(xml2js@0.6.2)(yaml@2.8.1):
++ nuxi@3.16.0: {}
++
++ nuxt@3.14.1592(@parcel/watcher@2.4.1)(@types/node@20.14.11)(eslint@8.57.1)(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.28.1)(sass@1.77.6)(terser@5.43.1)(typescript@5.5.4)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue-tsc@2.1.6(typescript@5.5.4))(xml2js@0.6.2):
+ dependencies:
+- '@nuxt/cli': 3.27.0(magicast@0.3.5)
+ '@nuxt/devalue': 2.0.2
+- '@nuxt/devtools': 2.6.2(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- '@nuxt/schema': 3.18.1
+- '@nuxt/telemetry': 2.6.6(magicast@0.3.5)
+- '@nuxt/vite-builder': 3.18.1(@types/node@20.19.9)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(vue-tsc@2.2.12(typescript@5.9.2))(vue@3.5.18(typescript@5.9.2))(yaml@2.8.1)
+- '@unhead/vue': 2.0.14(vue@3.5.18(typescript@5.9.2))
+- '@vue/shared': 3.5.18
+- c12: 3.2.0(magicast@0.3.5)
+- chokidar: 4.0.3
+- compatx: 0.2.0
+- consola: 3.4.2
+- cookie-es: 2.0.0
++ '@nuxt/devtools': 1.6.3(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue@3.5.13(typescript@5.5.4))
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ '@nuxt/schema': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
++ '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.28.1)
++ '@nuxt/vite-builder': 3.14.1592(@types/node@20.14.11)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.28.1)(sass@1.77.6)(terser@5.43.1)(typescript@5.5.4)(vue-tsc@2.1.6(typescript@5.5.4))(vue@3.5.13(typescript@5.5.4))
++ '@unhead/dom': 1.11.13
++ '@unhead/shared': 1.11.13
++ '@unhead/ssr': 1.11.13
++ '@unhead/vue': 1.11.13(vue@3.5.13(typescript@5.5.4))
++ '@vue/shared': 3.5.13
++ acorn: 8.14.0
++ c12: 2.0.1(magicast@0.3.5)
++ chokidar: 4.0.1
++ compatx: 0.1.8
++ consola: 3.2.3
++ cookie-es: 1.2.2
+ defu: 6.1.4
+- destr: 2.0.5
++ destr: 2.0.3
+ devalue: 5.1.1
+ errx: 0.1.0
+- esbuild: 0.25.8
++ esbuild: 0.24.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+- exsolve: 1.0.7
+- h3: 1.15.4
++ globby: 14.0.2
++ h3: 1.13.0
+ hookable: 5.5.3
+- ignore: 7.0.5
+- impound: 1.0.0
+- jiti: 2.5.1
++ ignore: 6.0.2
++ impound: 0.2.0(rollup@4.28.1)
++ jiti: 2.4.2
+ klona: 2.0.6
+- knitwork: 1.2.0
+- magic-string: 0.30.17
+- mlly: 1.7.4
+- mocked-exports: 0.1.1
+- nanotar: 0.2.0
+- nitropack: 2.12.4(@netlify/blobs@9.1.2)(xml2js@0.6.2)
+- nypm: 0.6.1
++ knitwork: 1.1.0
++ magic-string: 0.30.14
++ mlly: 1.7.3
++ nanotar: 0.1.1
++ nitropack: 2.10.4(typescript@5.5.4)(xml2js@0.6.2)
++ nuxi: 3.16.0
++ nypm: 0.3.12
+ ofetch: 1.4.1
+- ohash: 2.0.11
+- on-change: 5.0.1
+- oxc-minify: 0.80.0
+- oxc-parser: 0.80.0
+- oxc-transform: 0.80.0
+- oxc-walker: 0.4.0(oxc-parser@0.80.0)
+- pathe: 2.0.3
++ ohash: 1.1.4
++ pathe: 1.1.2
+ perfect-debounce: 1.0.0
+- pkg-types: 2.2.0
++ pkg-types: 1.2.1
+ radix3: 1.1.2
+ scule: 1.3.0
+- semver: 7.7.2
+- std-env: 3.9.0
+- strip-literal: 3.0.0
+- tinyglobby: 0.2.14
+- ufo: 1.6.1
+- ultrahtml: 1.6.0
++ semver: 7.6.3
++ std-env: 3.8.0
++ strip-literal: 2.1.1
++ tinyglobby: 0.2.10
++ ufo: 1.5.4
++ ultrahtml: 1.5.3
+ uncrypto: 0.1.3
+- unctx: 2.4.1
+- unimport: 5.2.0
+- unplugin: 2.3.5
+- unplugin-vue-router: 0.15.0(@vue/compiler-sfc@3.5.18)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2))
+- unstorage: 1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.7.0)
+- untyped: 2.0.0
+- vue: 3.5.18(typescript@5.9.2)
+- vue-bundle-renderer: 2.1.2
++ unctx: 2.3.1
++ unenv: 1.10.0
++ unhead: 1.11.13
++ unimport: 3.14.4(rollup@4.28.1)
++ unplugin: 1.16.0
++ unplugin-vue-router: 0.10.9(rollup@4.28.1)(vue-router@4.5.0(vue@3.5.13(typescript@5.5.4)))(vue@3.5.13(typescript@5.5.4))
++ unstorage: 1.13.1(ioredis@5.4.1)
++ untyped: 1.5.1
++ vue: 3.5.13(typescript@5.5.4)
++ vue-bundle-renderer: 2.1.1
+ vue-devtools-stub: 0.1.0
+- vue-router: 4.5.1(vue@3.5.18(typescript@5.9.2))
++ vue-router: 4.5.0(vue@3.5.13(typescript@5.5.4))
+ optionalDependencies:
+- '@parcel/watcher': 2.5.1
+- '@types/node': 20.19.9
++ '@parcel/watcher': 2.4.1
++ '@types/node': 20.14.11
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+@@ -15252,19 +15085,14 @@ snapshots:
+ - '@azure/storage-blob'
+ - '@biomejs/biome'
+ - '@capacitor/preferences'
+- - '@deno/kv'
+ - '@electric-sql/pglite'
+ - '@libsql/client'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+- - '@vercel/blob'
+ - '@vercel/kv'
+- - '@vue/compiler-sfc'
+- - aws4fetch
+ - better-sqlite3
+ - bufferutil
+- - db0
+ - drizzle-orm
+ - encoding
+ - eslint
+@@ -15276,43 +15104,48 @@ snapshots:
+ - meow
+ - mysql2
+ - optionator
+- - rolldown
+ - rollup
+ - sass
+ - sass-embedded
+- - sqlite3
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+- - tsx
+ - typescript
+- - uploadthing
+ - utf-8-validate
+ - vite
+ - vls
+ - vti
+ - vue-tsc
+ - xml2js
+- - yaml
++
++ nypm@0.3.12:
++ dependencies:
++ citty: 0.1.6
++ consola: 3.2.3
++ execa: 8.0.1
++ pathe: 1.1.2
++ pkg-types: 1.2.1
++ ufo: 1.5.4
+
+ nypm@0.4.1:
+ dependencies:
+ citty: 0.1.6
+- consola: 3.4.2
++ consola: 3.2.3
+ pathe: 1.1.2
+- pkg-types: 1.3.1
+- tinyexec: 0.3.2
+- ufo: 1.6.1
++ pkg-types: 1.2.1
++ tinyexec: 0.3.1
++ ufo: 1.5.4
+
+- nypm@0.6.1:
++ nypm@0.6.0:
+ dependencies:
+ citty: 0.1.6
+ consola: 3.4.2
+ pathe: 2.0.3
+ pkg-types: 2.2.0
+- tinyexec: 1.0.1
++ tinyexec: 0.3.2
++ optional: true
+
+ object-assign@4.1.1: {}
+
+@@ -15324,15 +15157,14 @@ snapshots:
+
+ ofetch@1.4.1:
+ dependencies:
+- destr: 2.0.5
+- node-fetch-native: 1.6.7
+- ufo: 1.6.1
++ destr: 2.0.3
++ node-fetch-native: 1.6.4
++ ufo: 1.5.4
+
+- ohash@1.1.6: {}
++ ohash@1.1.4: {}
+
+- ohash@2.0.11: {}
+-
+- on-change@5.0.1: {}
++ ohash@2.0.11:
++ optional: true
+
+ on-finished@2.4.1:
+ dependencies:
+@@ -15342,34 +15174,22 @@ snapshots:
+ dependencies:
+ wrappy: 1.0.2
+
+- one-time@1.0.0:
+- dependencies:
+- fn.name: 1.1.0
+-
+ onetime@6.0.0:
+ dependencies:
+ mimic-fn: 4.0.0
+
+- oniguruma-parser@0.12.1: {}
+-
+ oniguruma-to-es@2.3.0:
+ dependencies:
+ emoji-regex-xs: 1.0.0
+ regex: 5.1.1
+ regex-recursion: 5.1.1
+
+- oniguruma-to-es@4.3.3:
+- dependencies:
+- oniguruma-parser: 0.12.1
+- regex: 6.0.1
+- regex-recursion: 6.0.2
+-
+- open@10.2.0:
++ open@10.1.0:
+ dependencies:
+ default-browser: 5.2.1
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+- wsl-utils: 0.1.0
++ is-wsl: 3.1.0
+
+ open@8.4.2:
+ dependencies:
+@@ -15379,6 +15199,18 @@ snapshots:
+
+ openapi-types@12.1.3: {}
+
++ openapi-typescript@7.4.4(typescript@5.5.4):
++ dependencies:
++ '@redocly/openapi-core': 1.25.15(supports-color@9.4.0)
++ ansi-colors: 4.1.3
++ change-case: 5.4.4
++ parse-json: 8.1.0
++ supports-color: 9.4.0
++ typescript: 5.5.4
++ yargs-parser: 21.1.1
++ transitivePeerDependencies:
++ - encoding
++
+ optionator@0.9.4:
+ dependencies:
+ deep-is: 0.1.4
+@@ -15388,72 +15220,6 @@ snapshots:
+ type-check: 0.4.0
+ word-wrap: 1.2.5
+
+- oxc-minify@0.80.0:
+- optionalDependencies:
+- '@oxc-minify/binding-android-arm64': 0.80.0
+- '@oxc-minify/binding-darwin-arm64': 0.80.0
+- '@oxc-minify/binding-darwin-x64': 0.80.0
+- '@oxc-minify/binding-freebsd-x64': 0.80.0
+- '@oxc-minify/binding-linux-arm-gnueabihf': 0.80.0
+- '@oxc-minify/binding-linux-arm-musleabihf': 0.80.0
+- '@oxc-minify/binding-linux-arm64-gnu': 0.80.0
+- '@oxc-minify/binding-linux-arm64-musl': 0.80.0
+- '@oxc-minify/binding-linux-riscv64-gnu': 0.80.0
+- '@oxc-minify/binding-linux-s390x-gnu': 0.80.0
+- '@oxc-minify/binding-linux-x64-gnu': 0.80.0
+- '@oxc-minify/binding-linux-x64-musl': 0.80.0
+- '@oxc-minify/binding-wasm32-wasi': 0.80.0
+- '@oxc-minify/binding-win32-arm64-msvc': 0.80.0
+- '@oxc-minify/binding-win32-x64-msvc': 0.80.0
+-
+- oxc-parser@0.80.0:
+- dependencies:
+- '@oxc-project/types': 0.80.0
+- optionalDependencies:
+- '@oxc-parser/binding-android-arm64': 0.80.0
+- '@oxc-parser/binding-darwin-arm64': 0.80.0
+- '@oxc-parser/binding-darwin-x64': 0.80.0
+- '@oxc-parser/binding-freebsd-x64': 0.80.0
+- '@oxc-parser/binding-linux-arm-gnueabihf': 0.80.0
+- '@oxc-parser/binding-linux-arm-musleabihf': 0.80.0
+- '@oxc-parser/binding-linux-arm64-gnu': 0.80.0
+- '@oxc-parser/binding-linux-arm64-musl': 0.80.0
+- '@oxc-parser/binding-linux-riscv64-gnu': 0.80.0
+- '@oxc-parser/binding-linux-s390x-gnu': 0.80.0
+- '@oxc-parser/binding-linux-x64-gnu': 0.80.0
+- '@oxc-parser/binding-linux-x64-musl': 0.80.0
+- '@oxc-parser/binding-wasm32-wasi': 0.80.0
+- '@oxc-parser/binding-win32-arm64-msvc': 0.80.0
+- '@oxc-parser/binding-win32-x64-msvc': 0.80.0
+-
+- oxc-transform@0.80.0:
+- optionalDependencies:
+- '@oxc-transform/binding-android-arm64': 0.80.0
+- '@oxc-transform/binding-darwin-arm64': 0.80.0
+- '@oxc-transform/binding-darwin-x64': 0.80.0
+- '@oxc-transform/binding-freebsd-x64': 0.80.0
+- '@oxc-transform/binding-linux-arm-gnueabihf': 0.80.0
+- '@oxc-transform/binding-linux-arm-musleabihf': 0.80.0
+- '@oxc-transform/binding-linux-arm64-gnu': 0.80.0
+- '@oxc-transform/binding-linux-arm64-musl': 0.80.0
+- '@oxc-transform/binding-linux-riscv64-gnu': 0.80.0
+- '@oxc-transform/binding-linux-s390x-gnu': 0.80.0
+- '@oxc-transform/binding-linux-x64-gnu': 0.80.0
+- '@oxc-transform/binding-linux-x64-musl': 0.80.0
+- '@oxc-transform/binding-wasm32-wasi': 0.80.0
+- '@oxc-transform/binding-win32-arm64-msvc': 0.80.0
+- '@oxc-transform/binding-win32-x64-msvc': 0.80.0
+-
+- oxc-walker@0.4.0(oxc-parser@0.80.0):
+- dependencies:
+- estree-walker: 3.0.3
+- magic-regexp: 0.10.0
+- oxc-parser: 0.80.0
+-
+- p-event@6.0.1:
+- dependencies:
+- p-timeout: 6.1.4
+-
+ p-finally@1.0.0: {}
+
+ p-limit@2.3.0:
+@@ -15464,13 +15230,9 @@ snapshots:
+ dependencies:
+ yocto-queue: 0.1.0
+
+- p-limit@4.0.0:
+- dependencies:
+- yocto-queue: 1.2.1
+-
+ p-limit@6.2.0:
+ dependencies:
+- yocto-queue: 1.2.1
++ yocto-queue: 1.1.1
+
+ p-locate@4.1.0:
+ dependencies:
+@@ -15480,28 +15242,18 @@ snapshots:
+ dependencies:
+ p-limit: 3.1.0
+
+- p-locate@6.0.0:
+- dependencies:
+- p-limit: 4.0.0
+-
+- p-map@7.0.3: {}
+-
+ p-queue@8.1.0:
+ dependencies:
+ eventemitter3: 5.0.1
+- p-timeout: 6.1.4
++ p-timeout: 6.1.2
+
+- p-timeout@6.1.4: {}
++ p-timeout@6.1.2: {}
+
+ p-try@2.2.0: {}
+
+- p-wait-for@5.0.2:
+- dependencies:
+- p-timeout: 6.1.4
+-
+- package-json-from-dist@1.0.1: {}
++ package-json-from-dist@1.0.0: {}
+
+- package-manager-detector@1.3.0: {}
++ package-manager-detector@0.2.7: {}
+
+ pagefind@1.3.0:
+ optionalDependencies:
+@@ -15511,47 +15263,50 @@ snapshots:
+ '@pagefind/linux-x64': 1.3.0
+ '@pagefind/windows-x64': 1.3.0
+
+- pako@0.2.9: {}
+-
+ pako@1.0.11: {}
+
+ param-case@3.0.4:
+ dependencies:
+ dot-case: 3.0.4
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+- parse-entities@4.0.2:
++ parse-entities@4.0.1:
+ dependencies:
+ '@types/unist': 2.0.11
++ character-entities: 2.0.2
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+- decode-named-character-reference: 1.2.0
++ decode-named-character-reference: 1.0.2
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+
+- parse-gitignore@2.0.0: {}
++ parse-git-config@3.0.0:
++ dependencies:
++ git-config-path: 2.0.0
++ ini: 1.3.8
+
+- parse-imports-exports@0.2.4:
++ parse-imports@2.2.1:
+ dependencies:
+- parse-statements: 1.0.11
++ es-module-lexer: 1.5.4
++ slashes: 3.0.12
+
+ parse-json@5.2.0:
+ dependencies:
+- '@babel/code-frame': 7.27.1
++ '@babel/code-frame': 7.26.2
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+- parse-json@8.3.0:
++ parse-json@8.1.0:
+ dependencies:
+- '@babel/code-frame': 7.27.1
+- index-to-position: 1.1.0
+- type-fest: 4.41.0
++ '@babel/code-frame': 7.26.2
++ index-to-position: 0.1.2
++ type-fest: 4.30.0
+
+ parse-latin@7.0.0:
+ dependencies:
+@@ -15562,20 +15317,17 @@ snapshots:
+ unist-util-visit-children: 3.0.0
+ vfile: 6.0.3
+
+- parse-path@7.1.0:
++ parse-path@7.0.0:
+ dependencies:
+- protocols: 2.0.2
+-
+- parse-statements@1.0.11: {}
++ protocols: 2.0.1
+
+- parse-url@9.2.0:
++ parse-url@8.1.0:
+ dependencies:
+- '@types/parse-path': 7.1.0
+- parse-path: 7.1.0
++ parse-path: 7.0.0
+
+- parse5@7.3.0:
++ parse5@7.1.2:
+ dependencies:
+- entities: 6.0.1
++ entities: 4.5.0
+
+ parseley@0.12.1:
+ dependencies:
+@@ -15587,14 +15339,12 @@ snapshots:
+ pascal-case@3.1.2:
+ dependencies:
+ no-case: 3.0.4
+- tslib: 2.8.1
++ tslib: 2.6.3
+
+ path-browserify@1.0.1: {}
+
+ path-exists@4.0.0: {}
+
+- path-exists@5.0.0: {}
+-
+ path-is-absolute@1.0.1: {}
+
+ path-key@2.0.1: {}
+@@ -15610,222 +15360,236 @@ snapshots:
+ lru-cache: 10.4.3
+ minipass: 7.1.2
+
+- path-type@6.0.0: {}
++ path-type@5.0.0: {}
+
+ pathe@1.1.2: {}
+
+- pathe@2.0.3: {}
++ pathe@2.0.3:
++ optional: true
+
+ peberminta@0.9.0: {}
+
+- pend@1.2.0: {}
+-
+ perfect-debounce@1.0.0: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@2.3.1: {}
+
+- picomatch@4.0.3: {}
++ picomatch@4.0.2: {}
++
++ picomatch@4.0.3:
++ optional: true
+
+ pify@2.3.0: {}
+
+- pinia-plugin-persistedstate@4.4.1(@nuxt/kit@3.18.1(magicast@0.3.5))(@pinia/nuxt@0.5.5(magicast@0.3.5)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)))(pinia@2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))):
++ pify@4.0.1: {}
++
++ pinia-plugin-persistedstate@4.4.1(@nuxt/kit@3.17.5(magicast@0.3.5))(@pinia/nuxt@0.5.1(magicast@0.3.5)(rollup@4.28.1)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)))(pinia@2.1.7(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))):
+ dependencies:
+ deep-pick-omit: 1.2.1
+ defu: 6.1.4
+ destr: 2.0.5
+ optionalDependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- '@pinia/nuxt': 0.5.5(magicast@0.3.5)(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
+- pinia: 2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2))
++ '@nuxt/kit': 3.17.5(magicast@0.3.5)
++ '@pinia/nuxt': 0.5.1(magicast@0.3.5)(rollup@4.28.1)(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
++ pinia: 2.1.7(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4))
+
+- pinia@2.3.1(typescript@5.9.2)(vue@3.5.18(typescript@5.9.2)):
++ pinia@2.1.7(typescript@5.5.4)(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+- vue: 3.5.18(typescript@5.9.2)
+- vue-demi: 0.14.10(vue@3.5.18(typescript@5.9.2))
++ vue: 3.5.13(typescript@5.5.4)
++ vue-demi: 0.14.10(vue@3.5.13(typescript@5.5.4))
+ optionalDependencies:
+- typescript: 5.9.2
+- transitivePeerDependencies:
+- - '@vue/composition-api'
++ typescript: 5.5.4
++
++ pirates@4.0.6: {}
+
+- pirates@4.0.7: {}
++ pkg-dir@4.2.0:
++ dependencies:
++ find-up: 4.1.0
++
++ pkg-types@1.2.1:
++ dependencies:
++ confbox: 0.1.8
++ mlly: 1.7.3
++ pathe: 1.1.2
+
+ pkg-types@1.3.1:
+ dependencies:
+ confbox: 0.1.8
+ mlly: 1.7.4
+ pathe: 2.0.3
++ optional: true
+
+ pkg-types@2.2.0:
+ dependencies:
+ confbox: 0.2.2
+ exsolve: 1.0.7
+ pathe: 2.0.3
++ optional: true
+
+ pluralize@8.0.0: {}
+
+- postcss-calc@10.1.1(postcss@8.5.6):
++ postcss-calc@10.0.2(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
+- postcss-selector-parser: 7.1.0
++ postcss: 8.4.49
++ postcss-selector-parser: 6.1.2
+ postcss-value-parser: 4.2.0
+
+- postcss-colormin@7.0.4(postcss@8.5.6):
++ postcss-colormin@7.0.2(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
++ browserslist: 4.24.2
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-convert-values@7.0.6(postcss@8.5.6):
++ postcss-convert-values@7.0.4(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
+- postcss: 8.5.6
++ browserslist: 4.24.2
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-discard-comments@7.0.4(postcss@8.5.6):
++ postcss-discard-comments@7.0.3(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
+- postcss-selector-parser: 7.1.0
++ postcss: 8.4.49
++ postcss-selector-parser: 6.1.2
+
+- postcss-discard-duplicates@7.0.2(postcss@8.5.6):
++ postcss-discard-duplicates@7.0.1(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+
+- postcss-discard-empty@7.0.1(postcss@8.5.6):
++ postcss-discard-empty@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+
+- postcss-discard-overridden@7.0.1(postcss@8.5.6):
++ postcss-discard-overridden@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+
+- postcss-import@15.1.0(postcss@8.5.6):
++ postcss-import@15.1.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+- resolve: 1.22.10
++ resolve: 1.22.8
+
+- postcss-js@4.0.1(postcss@8.5.6):
++ postcss-js@4.0.1(postcss@8.4.49):
+ dependencies:
+ camelcase-css: 2.0.1
+- postcss: 8.5.6
++ postcss: 8.4.49
+
+- postcss-load-config@4.0.2(postcss@8.5.6):
++ postcss-load-config@4.0.2(postcss@8.4.49):
+ dependencies:
+- lilconfig: 3.1.3
+- yaml: 2.8.1
++ lilconfig: 3.1.2
++ yaml: 2.6.1
+ optionalDependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+
+- postcss-merge-longhand@7.0.5(postcss@8.5.6):
++ postcss-merge-longhand@7.0.4(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+- stylehacks: 7.0.6(postcss@8.5.6)
++ stylehacks: 7.0.4(postcss@8.4.49)
+
+- postcss-merge-rules@7.0.6(postcss@8.5.6):
++ postcss-merge-rules@7.0.4(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
++ browserslist: 4.24.2
+ caniuse-api: 3.0.0
+- cssnano-utils: 5.0.1(postcss@8.5.6)
+- postcss: 8.5.6
+- postcss-selector-parser: 7.1.0
++ cssnano-utils: 5.0.0(postcss@8.4.49)
++ postcss: 8.4.49
++ postcss-selector-parser: 6.1.2
+
+- postcss-minify-font-values@7.0.1(postcss@8.5.6):
++ postcss-minify-font-values@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-minify-gradients@7.0.1(postcss@8.5.6):
++ postcss-minify-gradients@7.0.0(postcss@8.4.49):
+ dependencies:
+ colord: 2.9.3
+- cssnano-utils: 5.0.1(postcss@8.5.6)
+- postcss: 8.5.6
++ cssnano-utils: 5.0.0(postcss@8.4.49)
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-minify-params@7.0.4(postcss@8.5.6):
++ postcss-minify-params@7.0.2(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
+- cssnano-utils: 5.0.1(postcss@8.5.6)
+- postcss: 8.5.6
++ browserslist: 4.24.2
++ cssnano-utils: 5.0.0(postcss@8.4.49)
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-minify-selectors@7.0.5(postcss@8.5.6):
++ postcss-minify-selectors@7.0.4(postcss@8.4.49):
+ dependencies:
+ cssesc: 3.0.0
+- postcss: 8.5.6
+- postcss-selector-parser: 7.1.0
++ postcss: 8.4.49
++ postcss-selector-parser: 6.1.2
+
+- postcss-nested@6.2.0(postcss@8.5.6):
++ postcss-nested@6.0.1(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-selector-parser: 6.1.2
+
+- postcss-normalize-charset@7.0.1(postcss@8.5.6):
++ postcss-normalize-charset@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+
+- postcss-normalize-display-values@7.0.1(postcss@8.5.6):
++ postcss-normalize-display-values@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-normalize-positions@7.0.1(postcss@8.5.6):
++ postcss-normalize-positions@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-normalize-repeat-style@7.0.1(postcss@8.5.6):
++ postcss-normalize-repeat-style@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-normalize-string@7.0.1(postcss@8.5.6):
++ postcss-normalize-string@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-normalize-timing-functions@7.0.1(postcss@8.5.6):
++ postcss-normalize-timing-functions@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-normalize-unicode@7.0.4(postcss@8.5.6):
++ postcss-normalize-unicode@7.0.2(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
+- postcss: 8.5.6
++ browserslist: 4.24.2
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-normalize-url@7.0.1(postcss@8.5.6):
++ postcss-normalize-url@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-normalize-whitespace@7.0.1(postcss@8.5.6):
++ postcss-normalize-whitespace@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-ordered-values@7.0.2(postcss@8.5.6):
++ postcss-ordered-values@7.0.1(postcss@8.4.49):
+ dependencies:
+- cssnano-utils: 5.0.1(postcss@8.5.6)
+- postcss: 8.5.6
++ cssnano-utils: 5.0.0(postcss@8.4.49)
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+- postcss-reduce-initial@7.0.4(postcss@8.5.6):
++ postcss-reduce-initial@7.0.2(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
++ browserslist: 4.24.2
+ caniuse-api: 3.0.0
+- postcss: 8.5.6
++ postcss: 8.4.49
+
+- postcss-reduce-transforms@7.0.1(postcss@8.5.6):
++ postcss-reduce-transforms@7.0.0(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+
+ postcss-selector-parser@6.1.2:
+@@ -15833,71 +15597,57 @@ snapshots:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+- postcss-selector-parser@7.1.0:
+- dependencies:
+- cssesc: 3.0.0
+- util-deprecate: 1.0.2
+-
+- postcss-svgo@7.1.0(postcss@8.5.6):
++ postcss-svgo@7.0.1(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
++ postcss: 8.4.49
+ postcss-value-parser: 4.2.0
+- svgo: 4.0.0
++ svgo: 3.3.2
+
+- postcss-unique-selectors@7.0.4(postcss@8.5.6):
++ postcss-unique-selectors@7.0.3(postcss@8.4.49):
+ dependencies:
+- postcss: 8.5.6
+- postcss-selector-parser: 7.1.0
++ postcss: 8.4.49
++ postcss-selector-parser: 6.1.2
+
+ postcss-value-parser@4.2.0: {}
+
+- postcss-values-parser@6.0.2(postcss@8.5.6):
++ postcss@8.4.49:
+ dependencies:
+- color-name: 1.1.4
+- is-url-superb: 4.0.0
+- postcss: 8.5.6
+- quote-unquote: 1.0.0
++ nanoid: 3.3.7
++ picocolors: 1.1.1
++ source-map-js: 1.2.1
++
++ postcss@8.5.3:
++ dependencies:
++ nanoid: 3.3.8
++ picocolors: 1.1.1
++ source-map-js: 1.2.1
+
+ postcss@8.5.6:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
++ optional: true
+
+- posthog-js@1.258.6:
++ posthog-js@1.158.2:
+ dependencies:
+- core-js: 3.45.0
+ fflate: 0.4.8
+- preact: 10.27.0
+- web-vitals: 4.2.4
++ preact: 10.23.2
++ web-vitals: 4.2.3
+
+- postprocessing@6.37.7(three@0.172.0):
++ postprocessing@6.37.6(three@0.172.0):
+ dependencies:
+ three: 0.172.0
+
+ potpack@1.0.2: {}
+
+- preact@10.27.0: {}
+-
+- precinct@12.2.0:
+- dependencies:
+- '@dependents/detective-less': 5.0.1
+- commander: 12.1.0
+- detective-amd: 6.0.1
+- detective-cjs: 6.0.1
+- detective-es6: 5.0.1
+- detective-postcss: 7.0.1(postcss@8.5.6)
+- detective-sass: 6.0.1
+- detective-scss: 5.0.1
+- detective-stylus: 5.0.1
+- detective-typescript: 14.0.0(typescript@5.9.2)
+- detective-vue2: 2.2.0(typescript@5.9.2)
+- module-definition: 6.0.1
+- node-source-walk: 7.0.1
+- postcss: 8.5.6
+- typescript: 5.9.2
+- transitivePeerDependencies:
+- - supports-color
++ preact@10.23.2: {}
++
++ preferred-pm@4.1.1:
++ dependencies:
++ find-up-simple: 1.0.0
++ find-yarn-workspace-root2: 1.2.16
++ which-pm: 3.0.1
+
+ prelude-ls@1.2.1: {}
+
+@@ -15910,7 +15660,7 @@ snapshots:
+ prettier: 3.6.2
+ sql-parser-cst: 0.33.1
+
+- prettier-plugin-tailwindcss@0.6.14(prettier@3.6.2):
++ prettier-plugin-tailwindcss@0.6.5(prettier@3.6.2):
+ dependencies:
+ prettier: 3.6.2
+
+@@ -15922,11 +15672,13 @@ snapshots:
+ prettier@2.8.7:
+ optional: true
+
++ prettier@3.3.2: {}
++
+ prettier@3.6.2: {}
+
+ pretty-bytes@6.1.1: {}
+
+- prismjs@1.30.0: {}
++ prismjs@1.29.0: {}
+
+ process-nextick-args@2.0.1: {}
+
+@@ -15939,34 +15691,35 @@ snapshots:
+
+ property-information@6.5.0: {}
+
+- property-information@7.1.0: {}
++ property-information@7.0.0: {}
+
+ proto-list@1.2.4: {}
+
+- protocols@2.0.2: {}
++ protocols@2.0.1: {}
+
+- pump@3.0.3:
++ pump@3.0.2:
+ dependencies:
+- end-of-stream: 1.4.5
++ end-of-stream: 1.4.4
+ once: 1.4.0
+
+ punycode.js@2.3.1: {}
+
+ punycode@2.3.1: {}
+
+- qrcode.vue@3.6.0(vue@3.5.18(typescript@5.9.2)):
++ qrcode.vue@3.4.1(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+ qs@6.14.0:
+ dependencies:
+ side-channel: 1.1.0
+
+- quansync@0.2.10: {}
++ quansync@0.2.10:
++ optional: true
+
+ queue-microtask@1.2.3: {}
+
+- quote-unquote@1.0.0: {}
++ queue-tick@1.0.1: {}
+
+ radix3@1.1.2: {}
+
+@@ -15979,18 +15732,15 @@ snapshots:
+ rc9@2.1.2:
+ dependencies:
+ defu: 6.1.4
+- destr: 2.0.5
++ destr: 2.0.3
++
++ react@19.1.1:
++ optional: true
+
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
+- read-package-up@11.0.0:
+- dependencies:
+- find-up-simple: 1.0.1
+- read-pkg: 9.0.1
+- type-fest: 4.41.0
+-
+ read-pkg-up@7.0.1:
+ dependencies:
+ find-up: 4.1.0
+@@ -16004,14 +15754,6 @@ snapshots:
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+
+- read-pkg@9.0.1:
+- dependencies:
+- '@types/normalize-package-data': 2.4.4
+- normalize-package-data: 6.0.2
+- parse-json: 8.3.0
+- type-fest: 4.41.0
+- unicorn-magic: 0.1.0
+-
+ readable-stream@1.0.34:
+ dependencies:
+ core-util-is: 1.0.3
+@@ -16035,7 +15777,7 @@ snapshots:
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+- readable-stream@4.7.0:
++ readable-stream@4.5.2:
+ dependencies:
+ abort-controller: 3.0.0
+ buffer: 6.0.3
+@@ -16051,33 +15793,34 @@ snapshots:
+ dependencies:
+ picomatch: 2.3.1
+
+- readdirp@4.1.2: {}
++ readdirp@4.0.2: {}
+
+ recma-build-jsx@1.0.0:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+- recma-jsx@1.0.1(acorn@8.15.0):
++ recma-jsx@1.0.0(acorn@8.14.0):
+ dependencies:
+- acorn: 8.15.0
+- acorn-jsx: 5.3.2(acorn@8.15.0)
++ acorn-jsx: 5.3.2(acorn@8.14.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
++ transitivePeerDependencies:
++ - acorn
+
+ recma-parse@1.0.0:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
+@@ -16090,30 +15833,24 @@ snapshots:
+
+ refa@0.12.1:
+ dependencies:
+- '@eslint-community/regexpp': 4.12.1
++ '@eslint-community/regexpp': 4.11.0
++
++ regenerator-runtime@0.14.1: {}
+
+ regex-recursion@5.1.1:
+ dependencies:
+ regex: 5.1.1
+ regex-utilities: 2.3.0
+
+- regex-recursion@6.0.2:
+- dependencies:
+- regex-utilities: 2.3.0
+-
+ regex-utilities@2.3.0: {}
+
+ regex@5.1.1:
+ dependencies:
+ regex-utilities: 2.3.0
+
+- regex@6.0.1:
+- dependencies:
+- regex-utilities: 2.3.0
+-
+ regexp-ast-analysis@0.7.1:
+ dependencies:
+- '@eslint-community/regexpp': 4.12.1
++ '@eslint-community/regexpp': 4.11.0
+ refa: 0.12.1
+
+ regexp-to-ast@0.5.0: {}
+@@ -16128,59 +15865,86 @@ snapshots:
+ dependencies:
+ expressive-code: 0.40.2
+
+- rehype-format@5.0.1:
++ rehype-format@5.0.0:
++ dependencies:
++ '@types/hast': 3.0.4
++ hast-util-embedded: 3.0.0
++ hast-util-is-element: 3.0.0
++ hast-util-phrasing: 3.0.1
++ hast-util-whitespace: 3.0.0
++ html-whitespace-sensitive-tag-names: 3.0.0
++ rehype-minify-whitespace: 6.0.0
++ unist-util-visit-parents: 6.0.1
++
++ rehype-minify-whitespace@6.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+- hast-util-format: 1.1.0
++ hast-util-embedded: 3.0.0
++ hast-util-is-element: 3.0.0
++ hast-util-whitespace: 3.0.0
++ unist-util-is: 6.0.0
+
+- rehype-parse@9.0.1:
++ rehype-parse@9.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+- hast-util-from-html: 2.0.3
++ hast-util-from-html: 2.0.2
+ unified: 11.0.5
+
+ rehype-raw@7.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+- hast-util-raw: 9.1.0
++ hast-util-raw: 9.0.4
+ vfile: 6.0.3
+
+ rehype-recma@1.0.0:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+- hast-util-to-estree: 3.1.3
++ hast-util-to-estree: 3.1.0
+ transitivePeerDependencies:
+ - supports-color
+
++ rehype-stringify@10.0.0:
++ dependencies:
++ '@types/hast': 3.0.4
++ hast-util-to-html: 9.0.2
++ unified: 11.0.5
++
+ rehype-stringify@10.0.1:
+ dependencies:
+ '@types/hast': 3.0.4
+- hast-util-to-html: 9.0.5
++ hast-util-to-html: 9.0.2
++ unified: 11.0.5
++
++ rehype@13.0.1:
++ dependencies:
++ '@types/hast': 3.0.4
++ rehype-parse: 9.0.0
++ rehype-stringify: 10.0.0
+ unified: 11.0.5
+
+ rehype@13.0.2:
+ dependencies:
+ '@types/hast': 3.0.4
+- rehype-parse: 9.0.1
+- rehype-stringify: 10.0.1
++ rehype-parse: 9.0.0
++ rehype-stringify: 10.0.0
+ unified: 11.0.5
+
+ relateurl@0.2.7: {}
+
+- remark-directive@3.0.1:
++ remark-directive@3.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+- mdast-util-directive: 3.1.0
+- micromark-extension-directive: 3.0.2
++ mdast-util-directive: 3.0.0
++ micromark-extension-directive: 3.0.1
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+- remark-gfm@4.0.1:
++ remark-gfm@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+- mdast-util-gfm: 3.1.0
++ mdast-util-gfm: 3.0.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+@@ -16188,7 +15952,7 @@ snapshots:
+ transitivePeerDependencies:
+ - supports-color
+
+- remark-mdx@3.1.0:
++ remark-mdx@3.0.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+@@ -16198,13 +15962,21 @@ snapshots:
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+- mdast-util-from-markdown: 2.0.2
+- micromark-util-types: 2.0.2
++ mdast-util-from-markdown: 2.0.1
++ micromark-util-types: 2.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
+- remark-rehype@11.1.2:
++ remark-rehype@11.1.0:
++ dependencies:
++ '@types/hast': 3.0.4
++ '@types/mdast': 4.0.4
++ mdast-util-to-hast: 13.2.0
++ unified: 11.0.5
++ vfile: 6.0.3
++
++ remark-rehype@11.1.1:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+@@ -16215,18 +15987,16 @@ snapshots:
+ remark-smartypants@3.0.2:
+ dependencies:
+ retext: 9.0.0
+- retext-smartypants: 6.2.0
++ retext-smartypants: 6.1.1
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ remark-stringify@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+- mdast-util-to-markdown: 2.1.2
++ mdast-util-to-markdown: 2.1.0
+ unified: 11.0.5
+
+- remove-trailing-separator@1.1.0: {}
+-
+ request-light@0.5.8: {}
+
+ request-light@0.7.0: {}
+@@ -16235,8 +16005,6 @@ snapshots:
+
+ require-from-string@2.0.2: {}
+
+- require-package-name@2.0.1: {}
+-
+ resize-observer-polyfill@1.5.1: {}
+
+ resolve-from@4.0.0: {}
+@@ -16245,27 +16013,19 @@ snapshots:
+
+ resolve-pkg-maps@1.0.0: {}
+
+- resolve@1.22.10:
+- dependencies:
+- is-core-module: 2.16.1
+- path-parse: 1.0.7
+- supports-preserve-symlinks-flag: 1.0.0
+-
+- resolve@2.0.0-next.5:
++ resolve@1.22.8:
+ dependencies:
+- is-core-module: 2.16.1
++ is-core-module: 2.15.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+- restructure@3.0.2: {}
+-
+ retext-latin@4.0.0:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ parse-latin: 7.0.0
+ unified: 11.0.5
+
+- retext-smartypants@6.2.0:
++ retext-smartypants@6.1.1:
+ dependencies:
+ '@types/nlcst': 2.0.3
+ nlcst-to-string: 4.0.0
+@@ -16284,7 +16044,7 @@ snapshots:
+ retext-stringify: 4.0.0
+ unified: 11.0.5
+
+- reusify@1.1.0: {}
++ reusify@1.0.4: {}
+
+ rfdc@1.4.1: {}
+
+@@ -16292,39 +16052,68 @@ snapshots:
+ dependencies:
+ glob: 7.2.3
+
+- rollup-plugin-visualizer@6.0.3(rollup@4.46.2):
++ rollup-plugin-visualizer@5.12.0(rollup@4.28.1):
+ dependencies:
+ open: 8.4.2
+- picomatch: 4.0.3
+- source-map: 0.7.6
++ picomatch: 2.3.1
++ source-map: 0.7.4
+ yargs: 17.7.2
+ optionalDependencies:
+- rollup: 4.46.2
++ rollup: 4.28.1
++
++ rollup@3.29.4:
++ optionalDependencies:
++ fsevents: 2.3.3
++ optional: true
++
++ rollup@4.28.1:
++ dependencies:
++ '@types/estree': 1.0.6
++ optionalDependencies:
++ '@rollup/rollup-android-arm-eabi': 4.28.1
++ '@rollup/rollup-android-arm64': 4.28.1
++ '@rollup/rollup-darwin-arm64': 4.28.1
++ '@rollup/rollup-darwin-x64': 4.28.1
++ '@rollup/rollup-freebsd-arm64': 4.28.1
++ '@rollup/rollup-freebsd-x64': 4.28.1
++ '@rollup/rollup-linux-arm-gnueabihf': 4.28.1
++ '@rollup/rollup-linux-arm-musleabihf': 4.28.1
++ '@rollup/rollup-linux-arm64-gnu': 4.28.1
++ '@rollup/rollup-linux-arm64-musl': 4.28.1
++ '@rollup/rollup-linux-loongarch64-gnu': 4.28.1
++ '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1
++ '@rollup/rollup-linux-riscv64-gnu': 4.28.1
++ '@rollup/rollup-linux-s390x-gnu': 4.28.1
++ '@rollup/rollup-linux-x64-gnu': 4.28.1
++ '@rollup/rollup-linux-x64-musl': 4.28.1
++ '@rollup/rollup-win32-arm64-msvc': 4.28.1
++ '@rollup/rollup-win32-ia32-msvc': 4.28.1
++ '@rollup/rollup-win32-x64-msvc': 4.28.1
++ fsevents: 2.3.3
+
+- rollup@4.46.2:
++ rollup@4.34.9:
+ dependencies:
+- '@types/estree': 1.0.8
++ '@types/estree': 1.0.6
+ optionalDependencies:
+- '@rollup/rollup-android-arm-eabi': 4.46.2
+- '@rollup/rollup-android-arm64': 4.46.2
+- '@rollup/rollup-darwin-arm64': 4.46.2
+- '@rollup/rollup-darwin-x64': 4.46.2
+- '@rollup/rollup-freebsd-arm64': 4.46.2
+- '@rollup/rollup-freebsd-x64': 4.46.2
+- '@rollup/rollup-linux-arm-gnueabihf': 4.46.2
+- '@rollup/rollup-linux-arm-musleabihf': 4.46.2
+- '@rollup/rollup-linux-arm64-gnu': 4.46.2
+- '@rollup/rollup-linux-arm64-musl': 4.46.2
+- '@rollup/rollup-linux-loongarch64-gnu': 4.46.2
+- '@rollup/rollup-linux-ppc64-gnu': 4.46.2
+- '@rollup/rollup-linux-riscv64-gnu': 4.46.2
+- '@rollup/rollup-linux-riscv64-musl': 4.46.2
+- '@rollup/rollup-linux-s390x-gnu': 4.46.2
+- '@rollup/rollup-linux-x64-gnu': 4.46.2
+- '@rollup/rollup-linux-x64-musl': 4.46.2
+- '@rollup/rollup-win32-arm64-msvc': 4.46.2
+- '@rollup/rollup-win32-ia32-msvc': 4.46.2
+- '@rollup/rollup-win32-x64-msvc': 4.46.2
++ '@rollup/rollup-android-arm-eabi': 4.34.9
++ '@rollup/rollup-android-arm64': 4.34.9
++ '@rollup/rollup-darwin-arm64': 4.34.9
++ '@rollup/rollup-darwin-x64': 4.34.9
++ '@rollup/rollup-freebsd-arm64': 4.34.9
++ '@rollup/rollup-freebsd-x64': 4.34.9
++ '@rollup/rollup-linux-arm-gnueabihf': 4.34.9
++ '@rollup/rollup-linux-arm-musleabihf': 4.34.9
++ '@rollup/rollup-linux-arm64-gnu': 4.34.9
++ '@rollup/rollup-linux-arm64-musl': 4.34.9
++ '@rollup/rollup-linux-loongarch64-gnu': 4.34.9
++ '@rollup/rollup-linux-powerpc64le-gnu': 4.34.9
++ '@rollup/rollup-linux-riscv64-gnu': 4.34.9
++ '@rollup/rollup-linux-s390x-gnu': 4.34.9
++ '@rollup/rollup-linux-x64-gnu': 4.34.9
++ '@rollup/rollup-linux-x64-musl': 4.34.9
++ '@rollup/rollup-win32-arm64-msvc': 4.34.9
++ '@rollup/rollup-win32-ia32-msvc': 4.34.9
++ '@rollup/rollup-win32-x64-msvc': 4.34.9
+ fsevents: 2.3.3
+
+ rss@1.2.2:
+@@ -16342,21 +16131,32 @@ snapshots:
+
+ safe-buffer@5.2.1: {}
+
+- safe-stable-stringify@2.5.0: {}
+-
+- sass@1.90.0:
++ sass@1.77.6:
+ dependencies:
+- chokidar: 4.0.3
+- immutable: 5.1.3
++ chokidar: 3.6.0
++ immutable: 4.3.6
+ source-map-js: 1.2.1
+- optionalDependencies:
+- '@parcel/watcher': 2.5.1
+
+ sax@1.4.1: {}
+
++ schema-utils@3.3.0:
++ dependencies:
++ '@types/json-schema': 7.0.15
++ ajv: 6.12.6
++ ajv-keywords: 3.5.2(ajv@6.12.6)
++ optional: true
++
++ schema-utils@4.3.2:
++ dependencies:
++ '@types/json-schema': 7.0.15
++ ajv: 8.17.1
++ ajv-formats: 2.1.1(ajv@8.17.1)
++ ajv-keywords: 5.1.0(ajv@8.17.1)
++ optional: true
++
+ scslre@0.3.0:
+ dependencies:
+- '@eslint-community/regexpp': 4.12.1
++ '@eslint-community/regexpp': 4.11.0
+ refa: 0.12.1
+ regexp-ast-analysis: 0.7.1
+
+@@ -16375,21 +16175,27 @@ snapshots:
+
+ semver@6.3.1: {}
+
++ semver@7.6.3: {}
++
++ semver@7.7.1: {}
++
+ semver@7.7.2: {}
+
+- send@1.2.0:
++ send@0.19.0:
+ dependencies:
+- debug: 4.4.1
+- encodeurl: 2.0.0
++ debug: 2.6.9
++ depd: 2.0.0
++ destroy: 1.2.0
++ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+- fresh: 2.0.0
++ fresh: 0.5.2
+ http-errors: 2.0.0
+- mime-types: 3.0.1
++ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+- statuses: 2.0.2
++ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -16401,22 +16207,24 @@ snapshots:
+ dependencies:
+ defu: 6.1.4
+
+- serve-static@2.2.0:
++ serve-static@1.16.2:
+ dependencies:
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+- send: 1.2.0
++ send: 0.19.0
+ transitivePeerDependencies:
+ - supports-color
+
++ set-blocking@2.0.0: {}
++
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+- get-intrinsic: 1.3.0
+- gopd: 1.2.0
++ get-intrinsic: 1.2.4
++ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+
+ setimmediate@1.0.5: {}
+@@ -16426,8 +16234,8 @@ snapshots:
+ sharp@0.33.5:
+ dependencies:
+ color: 4.2.3
+- detect-libc: 2.0.4
+- semver: 7.7.2
++ detect-libc: 2.0.3
++ semver: 7.7.1
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.5
+ '@img/sharp-darwin-x64': 0.33.5
+@@ -16461,7 +16269,7 @@ snapshots:
+
+ shebang-regex@3.0.0: {}
+
+- shell-quote@1.8.3: {}
++ shell-quote@1.8.1: {}
+
+ shiki@1.29.2:
+ dependencies:
+@@ -16474,17 +16282,6 @@ snapshots:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+- shiki@3.9.2:
+- dependencies:
+- '@shikijs/core': 3.9.2
+- '@shikijs/engine-javascript': 3.9.2
+- '@shikijs/engine-oniguruma': 3.9.2
+- '@shikijs/langs': 3.9.2
+- '@shikijs/themes': 3.9.2
+- '@shikijs/types': 3.9.2
+- '@shikijs/vscode-textmate': 10.0.2
+- '@types/hast': 3.0.4
+-
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+@@ -16517,11 +16314,11 @@ snapshots:
+
+ signal-exit@4.1.0: {}
+
+- simple-git@3.28.0:
++ simple-git@3.27.0:
+ dependencies:
+ '@kwsites/file-exists': 1.1.1
+ '@kwsites/promise-deferred': 1.1.1
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -16529,10 +16326,10 @@ snapshots:
+ dependencies:
+ is-arrayish: 0.3.2
+
+- sirv@3.0.1:
++ sirv@3.0.0:
+ dependencies:
+- '@polka/url': 1.0.0-next.29
+- mrmime: 2.0.1
++ '@polka/url': 1.0.0-next.25
++ mrmime: 2.0.0
+ totalist: 3.0.1
+
+ sisteransi@1.0.5: {}
+@@ -16546,9 +16343,11 @@ snapshots:
+
+ slash@5.1.0: {}
+
++ slashes@3.0.12: {}
++
+ smob@1.5.0: {}
+
+- smol-toml@1.4.1: {}
++ smol-toml@1.3.1: {}
+
+ source-map-js@1.2.1: {}
+
+@@ -16559,28 +16358,28 @@ snapshots:
+
+ source-map@0.6.1: {}
+
+- source-map@0.7.6: {}
++ source-map@0.7.4: {}
+
+ space-separated-tokens@2.0.2: {}
+
+ spdx-correct@3.2.0:
+ dependencies:
+ spdx-expression-parse: 3.0.1
+- spdx-license-ids: 3.0.22
++ spdx-license-ids: 3.0.18
+
+ spdx-exceptions@2.5.0: {}
+
+ spdx-expression-parse@3.0.1:
+ dependencies:
+ spdx-exceptions: 2.5.0
+- spdx-license-ids: 3.0.22
++ spdx-license-ids: 3.0.18
+
+ spdx-expression-parse@4.0.0:
+ dependencies:
+ spdx-exceptions: 2.5.0
+- spdx-license-ids: 3.0.22
++ spdx-license-ids: 3.0.18
+
+- spdx-license-ids@3.0.22: {}
++ spdx-license-ids@3.0.18: {}
+
+ speakingurl@14.0.1: {}
+
+@@ -16588,18 +16387,16 @@ snapshots:
+
+ sql-parser-cst@0.33.1: {}
+
+- stable-hash-x@0.2.0: {}
+-
+- stack-trace@0.0.10: {}
++ stable-hash@0.0.4: {}
+
+ standard-as-callback@2.1.0: {}
+
+- starlight-openapi@0.14.4(@astrojs/markdown-remark@6.3.5)(@astrojs/starlight@0.32.6(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)))(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))(openapi-types@12.1.3):
++ starlight-openapi@0.14.0(@astrojs/markdown-remark@6.2.0)(@astrojs/starlight@0.32.2(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)))(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))(openapi-types@12.1.3):
+ dependencies:
+- '@astrojs/markdown-remark': 6.3.5
+- '@astrojs/starlight': 0.32.6(astro@5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1))
+- '@readme/openapi-parser': 2.7.0(openapi-types@12.1.3)
+- astro: 5.12.8(@netlify/blobs@9.1.2)(@types/node@20.19.9)(db0@0.3.2)(ioredis@5.7.0)(jiti@2.5.1)(rollup@4.46.2)(sass@1.90.0)(terser@5.43.1)(typescript@5.9.2)(yaml@2.8.1)
++ '@astrojs/markdown-remark': 6.2.0
++ '@astrojs/starlight': 0.32.2(astro@5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0))
++ '@readme/openapi-parser': 2.5.0(openapi-types@12.1.3)
++ astro: 5.4.1(@types/node@22.4.1)(db0@0.3.2)(jiti@2.5.1)(rollup@4.34.9)(sass@1.77.6)(terser@5.43.1)(typescript@5.8.2)(yaml@2.8.0)
+ github-slugger: 2.0.0
+ url-template: 3.1.1
+ transitivePeerDependencies:
+@@ -16614,18 +16411,20 @@ snapshots:
+
+ statuses@2.0.1: {}
+
+- statuses@2.0.2: {}
++ std-env@3.8.0: {}
+
+- std-env@3.9.0: {}
++ std-env@3.9.0:
++ optional: true
+
+ stream-replace-string@2.0.0: {}
+
+- streamx@2.22.1:
++ streamx@2.18.0:
+ dependencies:
+ fast-fifo: 1.3.2
+- text-decoder: 1.2.3
++ queue-tick: 1.0.1
++ text-decoder: 1.1.0
+ optionalDependencies:
+- bare-events: 2.6.0
++ bare-events: 2.4.2
+
+ string-width@4.2.3:
+ dependencies:
+@@ -16642,7 +16441,7 @@ snapshots:
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.4.0
+- get-east-asian-width: 1.3.0
++ get-east-asian-width: 1.2.0
+ strip-ansi: 7.1.0
+
+ string_decoder@0.10.31: {}
+@@ -16666,10 +16465,12 @@ snapshots:
+
+ strip-ansi@7.1.0:
+ dependencies:
+- ansi-regex: 6.1.0
++ ansi-regex: 6.0.1
+
+ strip-bom-string@1.0.0: {}
+
++ strip-bom@3.0.0: {}
++
+ strip-eof@1.0.0: {}
+
+ strip-final-newline@3.0.0: {}
+@@ -16687,53 +16488,59 @@ snapshots:
+ strip-literal@3.0.0:
+ dependencies:
+ js-tokens: 9.0.1
++ optional: true
+
+- stripe@18.4.0(@types/node@20.19.9):
++ stripe@18.1.1(@types/node@22.4.1):
+ dependencies:
+ qs: 6.14.0
+ optionalDependencies:
+- '@types/node': 20.19.9
+-
+- structured-clone-es@1.0.0: {}
++ '@types/node': 22.4.1
+
+ style-mod@4.1.2: {}
+
+- style-to-js@1.1.17:
++ style-to-object@0.4.4:
+ dependencies:
+- style-to-object: 1.0.9
++ inline-style-parser: 0.1.1
+
+- style-to-object@1.0.9:
++ style-to-object@1.0.7:
+ dependencies:
+- inline-style-parser: 0.2.4
++ inline-style-parser: 0.2.3
+
+- stylehacks@7.0.6(postcss@8.5.6):
++ stylehacks@7.0.4(postcss@8.4.49):
+ dependencies:
+- browserslist: 4.25.1
+- postcss: 8.5.6
+- postcss-selector-parser: 7.1.0
++ browserslist: 4.24.2
++ postcss: 8.4.49
++ postcss-selector-parser: 6.1.2
+
+ sucrase@3.35.0:
+ dependencies:
+- '@jridgewell/gen-mapping': 0.3.12
++ '@jridgewell/gen-mapping': 0.3.5
+ commander: 4.1.1
+- glob: 10.4.5
++ glob: 10.4.2
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+- pirates: 4.0.7
++ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+
+- superjson@2.2.2:
++ superjson@2.2.1:
+ dependencies:
+ copy-anything: 3.0.5
+
+- supports-color@10.1.0: {}
+-
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
++ supports-color@8.1.1:
++ dependencies:
++ has-flag: 4.0.0
++ optional: true
++
++ supports-color@9.4.0: {}
++
+ supports-preserve-symlinks-flag@1.0.0: {}
+
++ svg-tags@1.0.0: {}
++
+ svg.draggable.js@2.2.2:
+ dependencies:
+ svg.js: 2.7.1
+@@ -16769,71 +16576,86 @@ snapshots:
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+- css-select: 5.2.2
++ css-select: 5.1.0
+ css-tree: 2.3.1
+- css-what: 6.2.2
+- csso: 5.0.5
+- picocolors: 1.1.1
+-
+- svgo@4.0.0:
+- dependencies:
+- commander: 11.1.0
+- css-select: 5.2.2
+- css-tree: 3.1.0
+- css-what: 6.2.2
++ css-what: 6.1.0
+ csso: 5.0.5
+ picocolors: 1.1.1
+- sax: 1.4.1
+
+ synckit@0.11.11:
+ dependencies:
+ '@pkgr/core': 0.2.9
+
++ synckit@0.9.1:
++ dependencies:
++ '@pkgr/core': 0.1.1
++ tslib: 2.6.3
++
+ system-architecture@0.1.0: {}
+
+- tailwindcss@3.4.17:
++ tailwindcss@3.4.4:
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+- fast-glob: 3.3.3
++ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+- jiti: 1.21.7
+- lilconfig: 3.1.3
++ jiti: 1.21.6
++ lilconfig: 2.1.0
+ micromatch: 4.0.8
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.1.1
+- postcss: 8.5.6
+- postcss-import: 15.1.0(postcss@8.5.6)
+- postcss-js: 4.0.1(postcss@8.5.6)
+- postcss-load-config: 4.0.2(postcss@8.5.6)
+- postcss-nested: 6.2.0(postcss@8.5.6)
++ postcss: 8.4.49
++ postcss-import: 15.1.0(postcss@8.4.49)
++ postcss-js: 4.0.1(postcss@8.4.49)
++ postcss-load-config: 4.0.2(postcss@8.4.49)
++ postcss-nested: 6.0.1(postcss@8.4.49)
+ postcss-selector-parser: 6.1.2
+- resolve: 1.22.10
++ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+
+- tapable@2.2.2: {}
++ tapable@2.2.1: {}
++
++ tapable@2.2.2:
++ optional: true
+
+ tar-stream@3.1.7:
+ dependencies:
+- b4a: 1.6.7
++ b4a: 1.6.6
+ fast-fifo: 1.3.2
+- streamx: 2.22.1
++ streamx: 2.18.0
+
+- tar@7.4.3:
++ tar@6.2.1:
+ dependencies:
+- '@isaacs/fs-minipass': 4.0.1
+- chownr: 3.0.0
+- minipass: 7.1.2
+- minizlib: 3.0.2
+- mkdirp: 3.0.1
+- yallist: 5.0.0
++ chownr: 2.0.0
++ fs-minipass: 2.1.0
++ minipass: 5.0.0
++ minizlib: 2.1.2
++ mkdirp: 1.0.4
++ yallist: 4.0.0
++
++ terser-webpack-plugin@5.3.14(webpack@5.92.1):
++ dependencies:
++ '@jridgewell/trace-mapping': 0.3.29
++ jest-worker: 27.5.1
++ schema-utils: 4.3.2
++ serialize-javascript: 6.0.2
++ terser: 5.43.1
++ webpack: 5.92.1
++ optional: true
++
++ terser@5.42.0:
++ dependencies:
++ '@jridgewell/source-map': 0.3.6
++ acorn: 8.15.0
++ commander: 2.20.3
++ source-map-support: 0.5.21
+
+ terser@5.43.1:
+ dependencies:
+@@ -16841,12 +16663,11 @@ snapshots:
+ acorn: 8.15.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
++ optional: true
+
+- text-decoder@1.2.3:
++ text-decoder@1.1.0:
+ dependencies:
+- b4a: 1.6.7
+-
+- text-hex@1.0.0: {}
++ b4a: 1.6.6
+
+ text-table@0.2.0: {}
+
+@@ -16858,19 +16679,21 @@ snapshots:
+ dependencies:
+ any-promise: 1.3.0
+
+- three-custom-shader-material@5.4.0(three@0.172.0):
++ three-custom-shader-material@5.4.0(react@19.1.1)(three@0.172.0):
+ dependencies:
+ glsl-token-functions: 1.0.1
+ glsl-token-string: 1.0.1
+ glsl-tokenizer: 2.1.5
+ object-hash: 3.0.0
+ three: 0.172.0
++ optionalDependencies:
++ react: 19.1.1
+
+ three-stdlib@2.36.0(three@0.172.0):
+ dependencies:
+ '@types/draco3d': 1.4.10
+ '@types/offscreencanvas': 2019.7.3
+- '@types/webxr': 0.5.22
++ '@types/webxr': 0.5.21
+ draco3d: 1.5.7
+ fflate: 0.6.10
+ potpack: 1.0.2
+@@ -16883,24 +16706,27 @@ snapshots:
+ readable-stream: 1.0.34
+ xtend: 4.0.2
+
+- tiny-inflate@1.0.3: {}
+-
+ tiny-invariant@1.3.3: {}
+
++ tinyexec@0.3.1: {}
++
+ tinyexec@0.3.2: {}
+
+- tinyexec@1.0.1: {}
++ tinyglobby@0.2.10:
++ dependencies:
++ fdir: 6.4.2(picomatch@4.0.2)
++ picomatch: 4.0.2
++
++ tinyglobby@0.2.12:
++ dependencies:
++ fdir: 6.4.3(picomatch@4.0.2)
++ picomatch: 4.0.2
+
+ tinyglobby@0.2.14:
+ dependencies:
+ fdir: 6.4.6(picomatch@4.0.3)
+ picomatch: 4.0.3
+-
+- tmp-promise@3.0.3:
+- dependencies:
+- tmp: 0.2.4
+-
+- tmp@0.2.4: {}
++ optional: true
+
+ to-regex-range@5.0.1:
+ dependencies:
+@@ -16908,56 +16734,56 @@ snapshots:
+
+ toidentifier@1.0.1: {}
+
+- toml@3.0.0: {}
+-
+ totalist@3.0.1: {}
+
+ tr46@0.0.3: {}
+
+ trim-lines@3.0.1: {}
+
+- triple-beam@1.4.1: {}
+-
+ trough@2.2.0: {}
+
+- ts-api-utils@2.1.0(typescript@5.9.2):
++ ts-api-utils@1.3.0(typescript@5.5.4):
++ dependencies:
++ typescript: 5.5.4
++
++ ts-api-utils@2.1.0(typescript@5.8.3):
+ dependencies:
+- typescript: 5.9.2
++ typescript: 5.8.3
+
+ ts-interface-checker@0.1.13: {}
+
+- tsconfck@3.1.6(typescript@5.9.2):
++ tsconfck@3.1.5(typescript@5.8.2):
+ optionalDependencies:
+- typescript: 5.9.2
++ typescript: 5.8.2
+
+- tslib@2.8.1: {}
++ tslib@2.6.3: {}
+
+- turbo-darwin-64@2.5.5:
++ turbo-darwin-64@2.5.4:
+ optional: true
+
+- turbo-darwin-arm64@2.5.5:
++ turbo-darwin-arm64@2.5.4:
+ optional: true
+
+- turbo-linux-64@2.5.5:
++ turbo-linux-64@2.5.4:
+ optional: true
+
+- turbo-linux-arm64@2.5.5:
++ turbo-linux-arm64@2.5.4:
+ optional: true
+
+- turbo-windows-64@2.5.5:
++ turbo-windows-64@2.5.4:
+ optional: true
+
+- turbo-windows-arm64@2.5.5:
++ turbo-windows-arm64@2.5.4:
+ optional: true
+
+- turbo@2.5.5:
++ turbo@2.5.4:
+ optionalDependencies:
+- turbo-darwin-64: 2.5.5
+- turbo-darwin-arm64: 2.5.5
+- turbo-linux-64: 2.5.5
+- turbo-linux-arm64: 2.5.5
+- turbo-windows-64: 2.5.5
+- turbo-windows-arm64: 2.5.5
++ turbo-darwin-64: 2.5.4
++ turbo-darwin-arm64: 2.5.4
++ turbo-linux-64: 2.5.4
++ turbo-linux-arm64: 2.5.4
++ turbo-windows-64: 2.5.4
++ turbo-windows-arm64: 2.5.4
+
+ type-check@0.4.0:
+ dependencies:
+@@ -16965,78 +16791,86 @@ snapshots:
+
+ type-fest@0.20.2: {}
+
++ type-fest@0.21.3: {}
++
+ type-fest@0.6.0: {}
+
+ type-fest@0.8.1: {}
+
+- type-fest@4.41.0: {}
+-
+- type-level-regexp@0.1.17: {}
++ type-fest@4.30.0: {}
+
+ typesafe-path@0.2.2: {}
+
+- typescript-auto-import-cache@0.3.6:
++ typescript-auto-import-cache@0.3.3:
+ dependencies:
+ semver: 7.7.2
+
+- typescript-eslint@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2):
++ typescript-eslint@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3):
+ dependencies:
+- '@typescript-eslint/eslint-plugin': 8.39.1(@typescript-eslint/parser@8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/parser': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+- '@typescript-eslint/typescript-estree': 8.39.1(typescript@5.9.2)
+- '@typescript-eslint/utils': 8.39.1(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
++ '@typescript-eslint/eslint-plugin': 8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
++ '@typescript-eslint/parser': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
++ '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3)
++ '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
+ eslint: 9.32.0(jiti@2.5.1)
+- typescript: 5.9.2
++ typescript: 5.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+- typescript@5.9.2: {}
++ typescript@5.5.4: {}
++
++ typescript@5.8.2: {}
++
++ typescript@5.8.3: {}
+
+ uc.micro@1.0.6: {}
+
+ uc.micro@2.1.0: {}
+
++ ufo@1.5.4: {}
++
+ ufo@1.6.1: {}
+
+- ultrahtml@1.6.0: {}
++ ultrahtml@1.5.3: {}
+
+ uncrypto@0.1.3: {}
+
++ unctx@2.3.1:
++ dependencies:
++ acorn: 8.14.0
++ estree-walker: 3.0.3
++ magic-string: 0.30.17
++ unplugin: 1.16.0
++
+ unctx@2.4.1:
+ dependencies:
+ acorn: 8.15.0
+ estree-walker: 3.0.3
+ magic-string: 0.30.17
+ unplugin: 2.3.5
++ optional: true
++
++ undici-types@5.26.5: {}
+
+- undici-types@6.21.0: {}
++ undici-types@6.19.8:
++ optional: true
+
+- unenv@2.0.0-rc.19:
++ unenv@1.10.0:
+ dependencies:
++ consola: 3.2.3
+ defu: 6.1.4
+- exsolve: 1.0.7
+- ohash: 2.0.11
+- pathe: 2.0.3
+- ufo: 1.6.1
++ mime: 3.0.0
++ node-fetch-native: 1.6.4
++ pathe: 1.1.2
+
+- unhead@2.0.14:
++ unhead@1.11.13:
+ dependencies:
++ '@unhead/dom': 1.11.13
++ '@unhead/schema': 1.11.13
++ '@unhead/shared': 1.11.13
+ hookable: 5.5.3
+
+- unicode-properties@1.4.1:
+- dependencies:
+- base64-js: 1.5.1
+- unicode-trie: 2.0.0
+-
+- unicode-trie@2.0.0:
+- dependencies:
+- pako: 0.2.9
+- tiny-inflate: 1.0.3
+-
+ unicorn-magic@0.1.0: {}
+
+- unicorn-magic@0.3.0: {}
+-
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+@@ -17047,28 +16881,22 @@ snapshots:
+ trough: 2.2.0
+ vfile: 6.0.3
+
+- unifont@0.5.2:
+- dependencies:
+- css-tree: 3.1.0
+- ofetch: 1.4.1
+- ohash: 2.0.11
+-
+- unimport@3.14.6(rollup@4.46.2):
++ unimport@3.14.4(rollup@4.28.1):
+ dependencies:
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
+- acorn: 8.15.0
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ acorn: 8.14.0
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+- fast-glob: 3.3.3
+- local-pkg: 1.1.1
+- magic-string: 0.30.17
+- mlly: 1.7.4
+- pathe: 2.0.3
+- picomatch: 4.0.3
+- pkg-types: 1.3.1
++ local-pkg: 0.5.1
++ magic-string: 0.30.14
++ mlly: 1.7.3
++ pathe: 1.1.2
++ picomatch: 4.0.2
++ pkg-types: 1.2.1
+ scule: 1.3.0
+ strip-literal: 2.1.1
+- unplugin: 1.16.1
++ tinyglobby: 0.2.10
++ unplugin: 1.16.0
+ transitivePeerDependencies:
+ - rollup
+
+@@ -17087,7 +16915,8 @@ snapshots:
+ strip-literal: 3.0.0
+ tinyglobby: 0.2.14
+ unplugin: 2.3.5
+- unplugin-utils: 0.2.5
++ unplugin-utils: 0.2.4
++ optional: true
+
+ unist-util-find-after@5.0.0:
+ dependencies:
+@@ -17137,43 +16966,42 @@ snapshots:
+
+ universalify@2.0.1: {}
+
+- unixify@1.0.0:
+- dependencies:
+- normalize-path: 2.1.1
+-
+- unplugin-utils@0.2.5:
++ unplugin-utils@0.2.4:
+ dependencies:
+ pathe: 2.0.3
+ picomatch: 4.0.3
++ optional: true
+
+- unplugin-vue-router@0.15.0(@vue/compiler-sfc@3.5.18)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2)):
++ unplugin-vue-router@0.10.9(rollup@4.28.1)(vue-router@4.5.0(vue@3.5.13(typescript@5.5.4)))(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- '@vue-macros/common': 3.0.0-beta.16(vue@3.5.18(typescript@5.9.2))
+- '@vue/compiler-sfc': 3.5.18
+- '@vue/language-core': 3.0.5(typescript@5.9.2)
+- ast-walker-scope: 0.8.1
+- chokidar: 4.0.3
++ '@babel/types': 7.26.3
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ '@vue-macros/common': 1.15.0(rollup@4.28.1)(vue@3.5.13(typescript@5.5.4))
++ ast-walker-scope: 0.6.2
++ chokidar: 3.6.0
++ fast-glob: 3.3.2
+ json5: 2.2.3
+- local-pkg: 1.1.1
+- magic-string: 0.30.17
+- mlly: 1.7.4
+- muggle-string: 0.4.1
+- pathe: 2.0.3
+- picomatch: 4.0.3
++ local-pkg: 0.5.1
++ magic-string: 0.30.14
++ mlly: 1.7.3
++ pathe: 1.1.2
+ scule: 1.3.0
+- tinyglobby: 0.2.14
+- unplugin: 2.3.5
+- unplugin-utils: 0.2.5
+- yaml: 2.8.1
++ unplugin: 2.0.0-beta.1
++ yaml: 2.6.1
+ optionalDependencies:
+- vue-router: 4.5.1(vue@3.5.18(typescript@5.9.2))
++ vue-router: 4.5.0(vue@3.5.13(typescript@5.5.4))
+ transitivePeerDependencies:
+- - typescript
++ - rollup
+ - vue
+
+- unplugin@1.16.1:
++ unplugin@1.16.0:
+ dependencies:
+- acorn: 8.15.0
++ acorn: 8.14.0
++ webpack-virtual-modules: 0.6.2
++
++ unplugin@2.0.0-beta.1:
++ dependencies:
++ acorn: 8.14.0
+ webpack-virtual-modules: 0.6.2
+
+ unplugin@2.3.5:
+@@ -17181,45 +17009,35 @@ snapshots:
+ acorn: 8.15.0
+ picomatch: 4.0.3
+ webpack-virtual-modules: 0.6.2
++ optional: true
+
+- unrs-resolver@1.11.1:
++ unstorage@1.13.1(ioredis@5.4.1):
+ dependencies:
+- napi-postinstall: 0.3.2
++ anymatch: 3.1.3
++ chokidar: 3.6.0
++ citty: 0.1.6
++ destr: 2.0.3
++ h3: 1.13.0
++ listhen: 1.9.0
++ lru-cache: 10.4.3
++ node-fetch-native: 1.6.4
++ ofetch: 1.4.1
++ ufo: 1.5.4
+ optionalDependencies:
+- '@unrs/resolver-binding-android-arm-eabi': 1.11.1
+- '@unrs/resolver-binding-android-arm64': 1.11.1
+- '@unrs/resolver-binding-darwin-arm64': 1.11.1
+- '@unrs/resolver-binding-darwin-x64': 1.11.1
+- '@unrs/resolver-binding-freebsd-x64': 1.11.1
+- '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1
+- '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1
+- '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1
+- '@unrs/resolver-binding-linux-arm64-musl': 1.11.1
+- '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1
+- '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1
+- '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1
+- '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1
+- '@unrs/resolver-binding-linux-x64-gnu': 1.11.1
+- '@unrs/resolver-binding-linux-x64-musl': 1.11.1
+- '@unrs/resolver-binding-wasm32-wasi': 1.11.1
+- '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1
+- '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1
+- '@unrs/resolver-binding-win32-x64-msvc': 1.11.1
+-
+- unstorage@1.16.1(@netlify/blobs@9.1.2)(db0@0.3.2)(ioredis@5.7.0):
++ ioredis: 5.4.1
++
++ unstorage@1.15.0(db0@0.3.2):
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 4.0.3
+- destr: 2.0.5
+- h3: 1.15.4
++ destr: 2.0.3
++ h3: 1.15.1
+ lru-cache: 10.4.3
+- node-fetch-native: 1.6.7
++ node-fetch-native: 1.6.6
+ ofetch: 1.4.1
+- ufo: 1.6.1
++ ufo: 1.5.4
+ optionalDependencies:
+- '@netlify/blobs': 9.1.2
+ db0: 0.3.2
+- ioredis: 5.7.0
+
+ untun@0.1.3:
+ dependencies:
+@@ -17227,6 +17045,18 @@ snapshots:
+ consola: 3.4.2
+ pathe: 1.1.2
+
++ untyped@1.5.1:
++ dependencies:
++ '@babel/core': 7.26.0
++ '@babel/standalone': 7.26.4
++ '@babel/types': 7.26.3
++ defu: 6.1.4
++ jiti: 2.4.2
++ mri: 1.2.0
++ scule: 1.3.0
++ transitivePeerDependencies:
++ - supports-color
++
+ untyped@2.0.0:
+ dependencies:
+ citty: 0.1.6
+@@ -17234,38 +17064,44 @@ snapshots:
+ jiti: 2.5.1
+ knitwork: 1.2.0
+ scule: 1.3.0
++ optional: true
+
+ unwasm@0.3.9:
+ dependencies:
+- knitwork: 1.2.0
+- magic-string: 0.30.17
+- mlly: 1.7.4
++ knitwork: 1.1.0
++ magic-string: 0.30.14
++ mlly: 1.7.3
+ pathe: 1.1.2
+- pkg-types: 1.3.1
+- unplugin: 1.16.1
++ pkg-types: 1.2.1
++ unplugin: 1.16.0
++
++ update-browserslist-db@1.1.1(browserslist@4.24.2):
++ dependencies:
++ browserslist: 4.24.2
++ escalade: 3.2.0
++ picocolors: 1.1.1
+
+ update-browserslist-db@1.1.3(browserslist@4.25.1):
+ dependencies:
+ browserslist: 4.25.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
++ optional: true
+
+ uqr@0.1.2: {}
+
++ uri-js-replace@1.0.1: {}
++
+ uri-js@4.4.1:
+ dependencies:
+ punycode: 2.3.1
+
+ url-template@3.1.1: {}
+
+- urlpattern-polyfill@10.1.0: {}
+-
+ urlpattern-polyfill@8.0.2: {}
+
+ util-deprecate@1.0.2: {}
+
+- uuid@11.1.0: {}
+-
+ validate-npm-package-license@3.0.4:
+ dependencies:
+ spdx-correct: 3.2.0
+@@ -17276,7 +17112,7 @@ snapshots:
+ '@types/unist': 3.0.3
+ vfile: 6.0.3
+
+- vfile-message@4.0.3:
++ vfile-message@4.0.2:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+@@ -17284,29 +17120,19 @@ snapshots:
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+- vfile-message: 4.0.3
+-
+- vite-dev-rpc@1.1.0(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)):
+- dependencies:
+- birpc: 2.5.0
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vite-hot-client: 2.1.0(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+-
+- vite-hot-client@0.2.4(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)):
+- dependencies:
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
++ vfile-message: 4.0.2
+
+- vite-hot-client@2.1.0(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)):
++ vite-hot-client@0.2.3(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)):
+ dependencies:
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
+
+- vite-node@3.2.4(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1):
++ vite-node@2.1.8(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1):
+ dependencies:
+ cac: 6.7.14
+- debug: 4.4.1
+- es-module-lexer: 1.7.0
+- pathe: 2.0.3
+- vite: 5.4.19(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1)
++ debug: 4.4.0(supports-color@9.4.0)
++ es-module-lexer: 1.5.4
++ pathe: 1.1.2
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+@@ -17318,205 +17144,187 @@ snapshots:
+ - supports-color
+ - terser
+
+- vite-plugin-checker@0.10.2(eslint@8.57.1)(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue-tsc@2.2.12(typescript@5.9.2)):
++ vite-plugin-checker@0.8.0(eslint@8.57.1)(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1))(vue-tsc@2.1.6(typescript@5.5.4)):
+ dependencies:
+- '@babel/code-frame': 7.27.1
+- chokidar: 4.0.3
+- npm-run-path: 6.0.0
+- picocolors: 1.1.1
+- picomatch: 4.0.3
+- strip-ansi: 7.1.0
++ '@babel/code-frame': 7.26.2
++ ansi-escapes: 4.3.2
++ chalk: 4.1.2
++ chokidar: 3.6.0
++ commander: 8.3.0
++ fast-glob: 3.3.2
++ fs-extra: 11.2.0
++ npm-run-path: 4.0.1
++ strip-ansi: 6.0.1
+ tiny-invariant: 1.3.3
+- tinyglobby: 0.2.14
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vscode-uri: 3.1.0
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
++ vscode-languageclient: 7.0.0
++ vscode-languageserver: 7.0.0
++ vscode-languageserver-textdocument: 1.0.12
++ vscode-uri: 3.0.8
+ optionalDependencies:
+ eslint: 8.57.1
+ optionator: 0.9.4
+- typescript: 5.9.2
+- vue-tsc: 2.2.12(typescript@5.9.2)
++ typescript: 5.5.4
++ vue-tsc: 2.1.6(typescript@5.5.4)
+
+- vite-plugin-inspect@0.8.9(@nuxt/kit@3.18.1(magicast@0.3.5))(rollup@4.46.2)(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)):
++ vite-plugin-inspect@0.8.9(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.28.1))(rollup@4.28.1)(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)):
+ dependencies:
+ '@antfu/utils': 0.7.10
+- '@rollup/pluginutils': 5.2.0(rollup@4.46.2)
+- debug: 4.4.1
++ '@rollup/pluginutils': 5.1.3(rollup@4.28.1)
++ debug: 4.4.0(supports-color@9.4.0)
+ error-stack-parser-es: 0.1.5
+- fs-extra: 11.3.1
+- open: 10.2.0
++ fs-extra: 11.2.0
++ open: 10.1.0
+ perfect-debounce: 1.0.0
+ picocolors: 1.1.1
+- sirv: 3.0.1
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
++ sirv: 3.0.0
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
+ optionalDependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
++ '@nuxt/kit': 3.14.1592(magicast@0.3.5)(rollup@4.28.1)
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+- vite-plugin-inspect@11.3.2(@nuxt/kit@3.18.1(magicast@0.3.5))(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)):
+- dependencies:
+- ansis: 4.1.0
+- debug: 4.4.1
+- error-stack-parser-es: 1.0.5
+- ohash: 2.0.11
+- open: 10.2.0
+- perfect-debounce: 1.0.0
+- sirv: 3.0.1
+- unplugin-utils: 0.2.5
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vite-dev-rpc: 1.1.0(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))
+- optionalDependencies:
+- '@nuxt/kit': 3.18.1(magicast@0.3.5)
+- transitivePeerDependencies:
+- - supports-color
+-
+- vite-plugin-vue-inspector@5.3.2(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)):
++ vite-plugin-vue-inspector@5.1.3(vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)):
+ dependencies:
+- '@babel/core': 7.28.0
+- '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.0)
+- '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0)
+- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.0)
+- '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0)
+- '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.28.0)
+- '@vue/compiler-dom': 3.5.18
++ '@babel/core': 7.26.0
++ '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.26.0)
++ '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.26.0)
++ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0)
++ '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0)
++ '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
++ '@vue/compiler-dom': 3.5.13
+ kolorist: 1.8.0
+- magic-string: 0.30.17
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
++ magic-string: 0.30.14
++ vite: 5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1)
+ transitivePeerDependencies:
+ - supports-color
+
+- vite-plugin-vue-tracer@1.0.0(vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)):
++ vite-svg-loader@5.1.0(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- estree-walker: 3.0.3
+- exsolve: 1.0.7
+- magic-string: 0.30.17
+- pathe: 2.0.3
+- source-map-js: 1.2.1
+- vite: 7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
+- vue: 3.5.18(typescript@5.9.2)
++ svgo: 3.3.2
++ vue: 3.5.13(typescript@5.5.4)
+
+- vite-svg-loader@5.1.0(vue@3.5.18(typescript@5.9.2)):
++ vite@4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1):
+ dependencies:
+- svgo: 3.3.2
+- vue: 3.5.18(typescript@5.9.2)
++ esbuild: 0.18.20
++ postcss: 8.5.6
++ rollup: 3.29.4
++ optionalDependencies:
++ '@types/node': 22.4.1
++ fsevents: 2.3.3
++ sass: 1.77.6
++ terser: 5.43.1
++ optional: true
+
+- vite@5.4.19(@types/node@20.19.9)(sass@1.90.0)(terser@5.43.1):
++ vite@5.4.11(@types/node@20.14.11)(sass@1.77.6)(terser@5.43.1):
+ dependencies:
+ esbuild: 0.21.5
+- postcss: 8.5.6
+- rollup: 4.46.2
++ postcss: 8.4.49
++ rollup: 4.28.1
+ optionalDependencies:
+- '@types/node': 20.19.9
++ '@types/node': 20.14.11
+ fsevents: 2.3.3
+- sass: 1.90.0
++ sass: 1.77.6
+ terser: 5.43.1
+
+- vite@6.3.5(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1):
++ vite@5.4.11(@types/node@22.4.1)(sass@1.77.6)(terser@5.43.1):
+ dependencies:
+- esbuild: 0.25.8
+- fdir: 6.4.6(picomatch@4.0.3)
+- picomatch: 4.0.3
+- postcss: 8.5.6
+- rollup: 4.46.2
+- tinyglobby: 0.2.14
++ esbuild: 0.21.5
++ postcss: 8.4.49
++ rollup: 4.28.1
+ optionalDependencies:
+- '@types/node': 20.19.9
++ '@types/node': 22.4.1
+ fsevents: 2.3.3
+- jiti: 2.5.1
+- sass: 1.90.0
++ sass: 1.77.6
+ terser: 5.43.1
+- yaml: 2.8.1
+
+- vite@7.1.0(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1):
++ vite@6.2.0(@types/node@22.4.1)(jiti@2.5.1)(sass@1.77.6)(terser@5.43.1)(yaml@2.8.0):
+ dependencies:
+- esbuild: 0.25.8
+- fdir: 6.4.6(picomatch@4.0.3)
+- picomatch: 4.0.3
+- postcss: 8.5.6
+- rollup: 4.46.2
+- tinyglobby: 0.2.14
++ esbuild: 0.25.0
++ postcss: 8.5.3
++ rollup: 4.34.9
+ optionalDependencies:
+- '@types/node': 20.19.9
++ '@types/node': 22.4.1
+ fsevents: 2.3.3
+ jiti: 2.5.1
+- sass: 1.90.0
++ sass: 1.77.6
+ terser: 5.43.1
+- yaml: 2.8.1
++ yaml: 2.8.0
+
+- vitefu@1.1.1(vite@6.3.5(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)):
++ vitefu@1.0.6(vite@6.2.0(@types/node@22.4.1)(jiti@2.5.1)(sass@1.77.6)(terser@5.43.1)(yaml@2.8.0)):
+ optionalDependencies:
+- vite: 6.3.5(@types/node@20.19.9)(jiti@2.5.1)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1)
++ vite: 6.2.0(@types/node@22.4.1)(jiti@2.5.1)(sass@1.77.6)(terser@5.43.1)(yaml@2.8.0)
+
+- volar-service-css@0.0.62(@volar/language-service@2.4.22):
++ volar-service-css@0.0.62(@volar/language-service@2.4.11):
+ dependencies:
+- vscode-css-languageservice: 6.3.7
++ vscode-css-languageservice: 6.3.1
+ vscode-languageserver-textdocument: 1.0.12
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+ optionalDependencies:
+- '@volar/language-service': 2.4.22
++ '@volar/language-service': 2.4.11
+
+- volar-service-emmet@0.0.62(@volar/language-service@2.4.22):
++ volar-service-emmet@0.0.62(@volar/language-service@2.4.11):
+ dependencies:
+ '@emmetio/css-parser': 0.4.0
+ '@emmetio/html-matcher': 1.3.0
+- '@vscode/emmet-helper': 2.11.0
+- vscode-uri: 3.1.0
++ '@vscode/emmet-helper': 2.9.3
++ vscode-uri: 3.0.8
+ optionalDependencies:
+- '@volar/language-service': 2.4.22
++ '@volar/language-service': 2.4.11
+
+- volar-service-html@0.0.62(@volar/language-service@2.4.22):
++ volar-service-html@0.0.62(@volar/language-service@2.4.11):
+ dependencies:
+- vscode-html-languageservice: 5.5.1
++ vscode-html-languageservice: 5.3.1
+ vscode-languageserver-textdocument: 1.0.12
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+ optionalDependencies:
+- '@volar/language-service': 2.4.22
++ '@volar/language-service': 2.4.11
+
+- volar-service-prettier@0.0.62(@volar/language-service@2.4.22)(prettier@3.6.2):
++ volar-service-prettier@0.0.62(@volar/language-service@2.4.11)(prettier@3.6.2):
+ dependencies:
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+ optionalDependencies:
+- '@volar/language-service': 2.4.22
++ '@volar/language-service': 2.4.11
+ prettier: 3.6.2
+
+- volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.22):
++ volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.11):
+ dependencies:
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+ optionalDependencies:
+- '@volar/language-service': 2.4.22
++ '@volar/language-service': 2.4.11
+
+- volar-service-typescript@0.0.62(@volar/language-service@2.4.22):
++ volar-service-typescript@0.0.62(@volar/language-service@2.4.11):
+ dependencies:
+ path-browserify: 1.0.1
+- semver: 7.7.2
+- typescript-auto-import-cache: 0.3.6
++ semver: 7.7.1
++ typescript-auto-import-cache: 0.3.3
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-nls: 5.2.0
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+ optionalDependencies:
+- '@volar/language-service': 2.4.22
++ '@volar/language-service': 2.4.11
+
+- volar-service-yaml@0.0.62(@volar/language-service@2.4.22):
++ volar-service-yaml@0.0.62(@volar/language-service@2.4.11):
+ dependencies:
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+ yaml-language-server: 1.15.0
+ optionalDependencies:
+- '@volar/language-service': 2.4.22
++ '@volar/language-service': 2.4.11
+
+- vscode-css-languageservice@6.3.7:
++ vscode-css-languageservice@6.3.1:
+ dependencies:
+ '@vscode/l10n': 0.0.18
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+- vscode-html-languageservice@5.5.1:
++ vscode-html-languageservice@5.3.1:
+ dependencies:
+ '@vscode/l10n': 0.0.18
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+ vscode-json-languageservice@4.1.8:
+ dependencies:
+@@ -17524,12 +17332,18 @@ snapshots:
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+ vscode-nls: 5.2.0
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+
+ vscode-jsonrpc@6.0.0: {}
+
+ vscode-jsonrpc@8.2.0: {}
+
++ vscode-languageclient@7.0.0:
++ dependencies:
++ minimatch: 3.1.2
++ semver: 7.7.2
++ vscode-languageserver-protocol: 3.16.0
++
+ vscode-languageserver-protocol@3.16.0:
+ dependencies:
+ vscode-jsonrpc: 6.0.0
+@@ -17556,32 +17370,47 @@ snapshots:
+
+ vscode-nls@5.2.0: {}
+
+- vscode-uri@3.1.0: {}
++ vscode-uri@2.1.2: {}
++
++ vscode-uri@3.0.8: {}
+
+- vue-bundle-renderer@2.1.2:
++ vue-bundle-renderer@2.1.1:
+ dependencies:
+- ufo: 1.6.1
++ ufo: 1.5.4
+
+- vue-confetti-explosion@1.0.2(vue@3.5.18(typescript@5.9.2)):
++ vue-confetti-explosion@1.0.2(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- vue-demi@0.14.10(vue@3.5.18(typescript@5.9.2)):
++ vue-demi@0.14.10(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+ vue-devtools-stub@0.1.0: {}
+
++ vue-eslint-parser@9.4.3(eslint@9.13.0(jiti@2.5.1)):
++ dependencies:
++ debug: 4.4.0(supports-color@9.4.0)
++ eslint: 9.13.0(jiti@2.5.1)
++ eslint-scope: 7.2.2
++ eslint-visitor-keys: 3.4.3
++ espree: 9.6.1
++ esquery: 1.6.0
++ lodash: 4.17.21
++ semver: 7.6.3
++ transitivePeerDependencies:
++ - supports-color
++
+ vue-eslint-parser@9.4.3(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+- debug: 4.4.1
++ debug: 4.4.0(supports-color@9.4.0)
+ eslint: 9.32.0(jiti@2.5.1)
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.6.0
+ lodash: 4.17.21
+- semver: 7.7.2
++ semver: 7.6.3
+ transitivePeerDependencies:
+ - supports-color
+
+@@ -17589,82 +17418,132 @@ snapshots:
+
+ vue-multiselect@3.0.0-alpha.2: {}
+
+- vue-observe-visibility@2.0.0-alpha.1(vue@3.5.18(typescript@5.9.2)):
++ vue-observe-visibility@2.0.0-alpha.1(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- vue-resize@2.0.0-alpha.1(vue@3.5.18(typescript@5.9.2)):
++ vue-resize@2.0.0-alpha.1(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- vue-router@4.3.0(vue@3.5.18(typescript@5.9.2)):
++ vue-router@4.3.0(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)):
++ vue-router@4.5.0(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+ '@vue/devtools-api': 6.6.4
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- vue-select@4.0.0-beta.6(vue@3.5.18(typescript@5.9.2)):
++ vue-select@4.0.0-beta.6(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+
+- vue-tsc@2.2.12(typescript@5.9.2):
++ vue-tsc@2.1.6(typescript@5.5.4):
+ dependencies:
+- '@volar/typescript': 2.4.15
+- '@vue/language-core': 2.2.12(typescript@5.9.2)
+- typescript: 5.9.2
++ '@volar/typescript': 2.4.4
++ '@vue/language-core': 2.1.6(typescript@5.5.4)
++ semver: 7.6.3
++ typescript: 5.5.4
+
+- vue-typed-virtual-list@1.0.10(vue@3.5.18(typescript@5.9.2)):
++ vue-typed-virtual-list@1.0.10(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- '@vueuse/core': 9.13.0(vue@3.5.18(typescript@5.9.2))
++ '@vueuse/core': 9.13.0(vue@3.5.13(typescript@5.5.4))
+ debounce: 1.2.1
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+
+- vue-virtual-scroller@2.0.0-beta.8(vue@3.5.18(typescript@5.9.2)):
++ vue-virtual-scroller@2.0.0-beta.8(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+ mitt: 2.1.0
+- vue: 3.5.18(typescript@5.9.2)
+- vue-observe-visibility: 2.0.0-alpha.1(vue@3.5.18(typescript@5.9.2))
+- vue-resize: 2.0.0-alpha.1(vue@3.5.18(typescript@5.9.2))
++ vue: 3.5.13(typescript@5.5.4)
++ vue-observe-visibility: 2.0.0-alpha.1(vue@3.5.13(typescript@5.5.4))
++ vue-resize: 2.0.0-alpha.1(vue@3.5.13(typescript@5.5.4))
+
+- vue3-ace-editor@2.2.4(ace-builds@1.43.2)(vue@3.5.18(typescript@5.9.2)):
++ vue3-ace-editor@2.2.4(ace-builds@1.36.2)(vue@3.5.13(typescript@5.5.4)):
+ dependencies:
+- ace-builds: 1.43.2
++ ace-builds: 1.36.2
+ resize-observer-polyfill: 1.5.1
+- vue: 3.5.18(typescript@5.9.2)
++ vue: 3.5.13(typescript@5.5.4)
++
++ vue3-apexcharts@1.5.3(apexcharts@3.49.2)(vue@3.5.13(typescript@5.5.4)):
++ dependencies:
++ apexcharts: 3.49.2
++ vue: 3.5.13(typescript@5.5.4)
+
+- vue3-apexcharts@1.8.0(apexcharts@3.54.1)(vue@3.5.18(typescript@5.9.2)):
++ vue@3.5.13(typescript@5.5.4):
+ dependencies:
+- apexcharts: 3.54.1
+- vue: 3.5.18(typescript@5.9.2)
++ '@vue/compiler-dom': 3.5.13
++ '@vue/compiler-sfc': 3.5.13
++ '@vue/runtime-dom': 3.5.13
++ '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.5.4))
++ '@vue/shared': 3.5.13
++ optionalDependencies:
++ typescript: 5.5.4
+
+- vue@3.5.18(typescript@5.9.2):
++ vue@3.5.13(typescript@5.8.3):
+ dependencies:
+- '@vue/compiler-dom': 3.5.18
+- '@vue/compiler-sfc': 3.5.18
+- '@vue/runtime-dom': 3.5.18
+- '@vue/server-renderer': 3.5.18(vue@3.5.18(typescript@5.9.2))
+- '@vue/shared': 3.5.18
++ '@vue/compiler-dom': 3.5.13
++ '@vue/compiler-sfc': 3.5.13
++ '@vue/runtime-dom': 3.5.13
++ '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.3))
++ '@vue/shared': 3.5.13
+ optionalDependencies:
+- typescript: 5.9.2
++ typescript: 5.8.3
+
+ w3c-keyname@2.2.8: {}
+
+- web-namespaces@2.0.1: {}
++ watchpack@2.4.4:
++ dependencies:
++ glob-to-regexp: 0.4.1
++ graceful-fs: 4.2.11
++ optional: true
+
+- web-streams-polyfill@3.3.3: {}
++ web-namespaces@2.0.1: {}
+
+- web-vitals@4.2.4: {}
++ web-vitals@4.2.3: {}
+
+ webidl-conversions@3.0.1: {}
+
++ webpack-sources@3.3.3:
++ optional: true
++
+ webpack-virtual-modules@0.6.2: {}
+
++ webpack@5.92.1:
++ dependencies:
++ '@types/eslint-scope': 3.7.7
++ '@types/estree': 1.0.8
++ '@webassemblyjs/ast': 1.14.1
++ '@webassemblyjs/wasm-edit': 1.14.1
++ '@webassemblyjs/wasm-parser': 1.14.1
++ acorn: 8.15.0
++ acorn-import-attributes: 1.9.5(acorn@8.15.0)
++ browserslist: 4.25.1
++ chrome-trace-event: 1.0.4
++ enhanced-resolve: 5.18.2
++ es-module-lexer: 1.7.0
++ eslint-scope: 5.1.1
++ events: 3.3.0
++ glob-to-regexp: 0.4.1
++ graceful-fs: 4.2.11
++ json-parse-even-better-errors: 2.3.1
++ loader-runner: 4.3.0
++ mime-types: 2.1.35
++ neo-async: 2.6.2
++ schema-utils: 3.3.0
++ tapable: 2.2.2
++ terser-webpack-plugin: 5.3.14(webpack@5.92.1)
++ watchpack: 2.4.4
++ webpack-sources: 3.3.3
++ transitivePeerDependencies:
++ - '@swc/core'
++ - esbuild
++ - uglify-js
++ optional: true
++
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+@@ -17672,6 +17551,10 @@ snapshots:
+
+ which-pm-runs@1.1.0: {}
+
++ which-pm@3.0.1:
++ dependencies:
++ load-yaml-file: 0.2.0
++
+ which@1.3.1:
+ dependencies:
+ isexe: 2.0.0
+@@ -17684,34 +17567,14 @@ snapshots:
+ dependencies:
+ isexe: 2.0.0
+
+- which@5.0.0:
++ wide-align@1.1.5:
+ dependencies:
+- isexe: 3.1.1
++ string-width: 4.2.3
+
+ widest-line@5.0.0:
+ dependencies:
+ string-width: 7.2.0
+
+- winston-transport@4.9.0:
+- dependencies:
+- logform: 2.7.0
+- readable-stream: 3.6.2
+- triple-beam: 1.4.1
+-
+- winston@3.17.0:
+- dependencies:
+- '@colors/colors': 1.6.0
+- '@dabh/diagnostics': 2.0.3
+- async: 3.2.6
+- is-stream: 2.0.1
+- logform: 2.7.0
+- one-time: 1.0.0
+- readable-stream: 3.6.2
+- safe-stable-stringify: 2.5.0
+- stack-trace: 0.0.10
+- triple-beam: 1.4.1
+- winston-transport: 4.9.0
+-
+ word-wrap@1.2.5: {}
+
+ wrap-ansi@7.0.0:
+@@ -17734,16 +17597,7 @@ snapshots:
+
+ wrappy@1.0.2: {}
+
+- write-file-atomic@6.0.0:
+- dependencies:
+- imurmurhash: 0.1.4
+- signal-exit: 4.1.0
+-
+- ws@8.18.3: {}
+-
+- wsl-utils@0.1.0:
+- dependencies:
+- is-wsl: 3.1.0
++ ws@8.18.0: {}
+
+ xml-name-validator@4.0.0: {}
+
+@@ -17769,7 +17623,9 @@ snapshots:
+
+ yallist@3.1.1: {}
+
+- yallist@5.0.0: {}
++ yallist@4.0.0: {}
++
++ yaml-ast-parser@0.0.43: {}
+
+ yaml-language-server@1.15.0:
+ dependencies:
+@@ -17781,14 +17637,17 @@ snapshots:
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-languageserver-types: 3.17.5
+ vscode-nls: 5.2.0
+- vscode-uri: 3.1.0
++ vscode-uri: 3.0.8
+ yaml: 2.2.2
+ optionalDependencies:
+ prettier: 2.8.7
+
+ yaml@2.2.2: {}
+
+- yaml@2.8.1: {}
++ yaml@2.6.1: {}
++
++ yaml@2.8.0:
++ optional: true
+
+ yargs-parser@21.1.1: {}
+
+@@ -17802,57 +17661,35 @@ snapshots:
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+
+- yauzl@2.10.0:
+- dependencies:
+- buffer-crc32: 0.2.13
+- fd-slicer: 1.1.0
+-
+ yocto-queue@0.1.0: {}
+
+- yocto-queue@1.2.1: {}
++ yocto-queue@1.1.1: {}
+
+- yocto-spinner@0.2.3:
++ yocto-spinner@0.2.1:
+ dependencies:
+ yoctocolors: 2.1.1
+
+ yoctocolors@2.1.1: {}
+
+- youch-core@0.3.3:
+- dependencies:
+- '@poppinss/exception': 1.2.2
+- error-stack-parser-es: 1.0.5
+-
+- youch@4.1.0-beta.11:
+- dependencies:
+- '@poppinss/colors': 4.1.5
+- '@poppinss/dumper': 0.6.4
+- '@speed-highlight/core': 1.2.7
+- cookie: 1.0.2
+- youch-core: 0.3.3
+-
+- youch@4.1.0-beta.8:
+- dependencies:
+- '@poppinss/colors': 4.1.5
+- '@poppinss/dumper': 0.6.4
+- '@speed-highlight/core': 1.2.7
+- cookie: 1.0.2
+- youch-core: 0.3.3
++ zhead@2.2.4: {}
+
+ zip-stream@6.0.1:
+ dependencies:
+ archiver-utils: 5.0.2
+ compress-commons: 6.0.2
+- readable-stream: 4.7.0
++ readable-stream: 4.5.2
+
+- zod-to-json-schema@3.24.6(zod@3.25.76):
++ zod-to-json-schema@3.24.3(zod@3.24.2):
+ dependencies:
+- zod: 3.25.76
++ zod: 3.24.2
+
+- zod-to-ts@1.2.0(typescript@5.9.2)(zod@3.25.76):
++ zod-to-ts@1.2.0(typescript@5.8.2)(zod@3.24.2):
+ dependencies:
+- typescript: 5.9.2
+- zod: 3.25.76
++ typescript: 5.8.2
++ zod: 3.24.2
++
++ zod@3.23.8: {}
+
+- zod@3.25.76: {}
++ zod@3.24.2: {}
+
+ zwitch@2.0.4: {}
+diff --git a/readme/ru_ru/README.md b/readme/ru_ru/README.md
+deleted file mode 100644
+index ebc252ce7..000000000
+--- a/readme/ru_ru/README.md
++++ /dev/null
+@@ -1,122 +0,0 @@
+-# 📘 Навигация
+-
+-- [🔧 Установка](#установка)
+-- [✨ Возможности](#возможности)
+-- [🚀 Начало работы](#начало-работы)
+-- [⚠️ Отказ от ответственности](#отказ-от-ответственности)
+-- [💰 Поддержать](#поддержать-проект-крипто-кошельки)
+-
+-## Другие языки
+-> [English](../../README.md)
+-
+-## Канал поддержки
+-> [Telegram](https://me.astralium.su/ref/telegram_channel)
+-
+----
+-
+-# О проекте
+-
+-## **AstralRinth • Раскрой потенциал своих приключений в Minecraft**
+-
+-Добро пожаловать в **AstralRinth (AR)** — мощный форк Modrinth, переосмысленный для улучшения твоего опыта в Minecraft. Независимо от того, являешься ли ты поклонником GUI или разработчиком, использующим API Modrinth, **Theseus Core** — это твоя стартовая платформа для новой эры игрового процесса в Minecraft.
+-
+-- *С недавнего времени имеется улучшенная интеграция с Git Astralium API*
+-
+-## **О программе**
+-
+-**AstralRinth** — это специализированная ветка проекта Theseus, сосредоточенная на **офлайн-аутентификации**, предоставляя ещё большую гибкость и ориентированность на пользователя. Путешествуй по мирам Minecraft без необходимости онлайн-авторизации — благодаря AstralRinth.
+-
+-## **AR • Открой безграничные горизонты Minecraft**
+-
+-Уникальный форк с фокусом на предоставление **пробного игрового опыта Minecraft** — без необходимости лицензии. В настоящее время включает:
+-
+----
+-
+-# Установка
+-
+-Чтобы установить лаунчер:
+-
+-1. Перейдите на [страницу релизов](https://git.astralium.su/didirus/AstralRinth/releases), чтобы скачать нужную версию для вашей системы.
+-2. После загрузки нужного исполняемого файла или архива — откройте его.
+-
+-### Поддерживаемые расширения файлов
+-
+-| Расширение | ОС | Примечания |
+-| ---------- | ------- | --------------------------------------------------------------------- |
+-| `.msi` | Windows | Поддерживаются актуальные версии Microsoft Windows |
+-| `.dmg` | macOS | Работает на MacOS Ventura / Sonoma / Sequoia, возможно и на старых |
+-| `.deb` | Linux | Так как дистрибутивов много, совместимость не гарантируется полностью |
+-
+-### Особенности установки
+-
+-Сборки с префиксами ниже **не рекомендуются к установке** и могут содержать ошибки:
+-
+-- `dev`
+-- `nightly`
+-- `dirty`
+-- `dirty-dev`
+-- `dirty-nightly`
+-- `dirty_dev`
+-- `dirty_nightly`
+-
+----
+-
+-# Возможности
+-
+-> _Лаунчер предоставляет возможность использовать знакомый Modrinth с улучшенным пользовательским интерфейсом._
+-
+-## Уникальные функции
+-
+-- Отсутствие рекламы во всём лаунчере.
+-- Кастомные `.svg` векторы для персонализированного интерфейса.
+-- Улучшенная совместимость с лицензионными и пиратскими аккаунтами.
+- - Используйте **официальные аккаунты Microsoft** или **пиратские аккаунты** — без сбоев в авторизации.
+- - Поддержка безлицензионного доступа для тестирования или личного использования.
+- - Нет зависимости от официальных сервисов авторизации.
+-- Интеграция Discord Rich Presence:
+- - Случайные статусные сообщения.
+- - Таймер игры и счётчик AFK.
+-- Жёсткое отключение сбора статистики (метрик Modrinth) через патч AstralRinth — работает независимо от конфигурации.
+-- Удаление рекламы из всех окон лаунчера.
+-- Оптимизация архивов (пакетов).
+-- Встроенная система получения обновлений:
+- - Уведомления о новых версиях на Git.
+- - Возможность автозагрузки и автоустановки.
+-- Исправления миграции базы данных при ошибках (интерактивный режим, проблема Modrinth).
+-- Интеграция системы скинов ElyBy (AuthLib / Java).
+-
+----
+-
+-# Начало работы
+-
+-Чтобы начать приключение с AstralRinth, выполните следующие шаги:
+-
+-1. **Скачайте нужную версию под вашу ОС**
+-
+- - Перейдите на [страницу релизов](https://git.astralium.su/didirus/AstralRinth/releases)
+- - [**Как выбрать файл**](#поддерживаемые-расширения-файлов)
+- - [**Как выбрать релиз**](#особенности-установки)
+-
+-2. **Авторизация**
+-
+- - Войдите с действующей лицензией или используйте пиратский аккаунт для теста AstralRinth.
+-
+-3. **Запуск Minecraft**
+- - Запустите Minecraft через AstralRinth и наслаждайтесь.
+- - Лаунчер попытается автоматически определить рекомендованную JVM для запуска игры, но вы можете всё настроить вручную в настройках.
+-
+----
+-
+-# Отказ от ответственности
+-
+-- **AstralRinth** предназначен только для экспериментов и образовательных целей. Мы не поддерживаем пиратство и рекомендуем приобретать официальную лицензию Minecraft для полноценного игрового опыта.
+-- Пользователям напоминается соблюдать лицензионные соглашения и поддерживать разработчиков Minecraft.
+-
+----
+-
+-# Поддержать проект (крипто-кошельки)
+-
+-Если вы хотите поддержать разработку, вы можете отправить донат на следующие кошельки:
+-
+-- BTC (Telegram): 14g6asNYzcUoaQtB8B2QGKabgEvn55wfLj
+-- TONCOIN (Telegram): UQAqUJ2_hVBI6k_gPyfp_jd-1K0OS61nIFPZuJWN9BwGAvKe