diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..a067bcf
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,41 @@
+{
+ "name": "lockerai",
+ "workspaceFolder": "/workspaces/lockerai/",
+ "dockerComposeFile": ["../docker/docker-compose.development.yaml"],
+ "service": "app",
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "adam-bender.commit-message-editor",
+ "bierner.color-info",
+ "bradlc.vscode-tailwindcss",
+ "christian-kohler.path-intellisense",
+ "dbaeumer.vscode-eslint",
+ "eamodio.gitlens",
+ "ecmel.vscode-html-css",
+ "editorconfig.editorconfig",
+ "esbenp.prettier-vscode",
+ "figma.figma-vscode-extension",
+ "formulahendry.auto-complete-tag",
+ "github.copilot",
+ "github.copilot-labs",
+ "github.vscode-github-actions",
+ "github.vscode-pull-request-github",
+ "graphql.vscode-graphql",
+ "gruntfuggly.todo-tree",
+ "hbenl.vscode-test-explorer",
+ "jock.svg",
+ "mikestead.dotenv",
+ "ms-ossdata.vscode-postgresql",
+ "orta.vscode-jest",
+ "stylelint.vscode-stylelint",
+ "usernamehw.errorlens",
+ "vincaslt.highlight-matching-tag",
+ "visualstudioexptteam.vscodeintellicode",
+ "wix.vscode-import-cost",
+ "wmaurer.change-case",
+ "yoavbls.pretty-ts-errors"
+ ]
+ }
+ }
+}
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..1231c1f
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,25 @@
+# debug
+**/*.log
+
+# deliverable
+**/.next/
+**/build/
+**/dist/
+**/out/
+
+# dependency
+**/node_modules/
+**/.pnpm-store/
+
+# env file
+**/.env*
+!**/.env.example
+
+# storybook
+**/.storybook/static/
+
+# testing
+**/coverage
+
+# typescript
+**/*.tsbuildinfo
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..4a7ea30
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..ddc700a
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,11 @@
+COMPOSE_PROJECT_NAME="lockerai"
+SUPABASE_ACCESS_TOKEN=""
+SUPABASE_ANON_KEY=""
+SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID=""
+SUPABASE_AUTH_EXTERNAL_GOOGLE_SECRET=""
+SUPABASE_AUTH_EXTERNAL_GOOGLE_URL=""
+SUPABASE_JWT_SECRET=""
+SUPABASE_REFERENCE_ID=""
+SUPABASE_SERVICE_ROLE_KEY=""
+TURBO_TEAM=""
+TURBO_TOKEN=""
diff --git a/.github/filter.yaml b/.github/filter.yaml
new file mode 100644
index 0000000..9037e10
--- /dev/null
+++ b/.github/filter.yaml
@@ -0,0 +1,55 @@
+api:
+ - .github/filter.yaml
+ - .github/workflows/api-*.yaml
+ - apps/api/**/*
+ - packages/**/*
+ - .npmrc
+ - package.json
+ - pnpm-workspace.yaml
+ - turbo.json
+
+app:
+ - .github/filter.yaml
+ - .github/workflows/app-*.yaml
+ - apps/**/*
+ - packages/**/*
+ - .npmrc
+ - package.json
+ - pnpm-workspace.yaml
+ - turbo.json
+
+catalog:
+ - .github/filter.yaml
+ - .github/workflows/catalog-*.yaml
+ - apps/catalog/**/*
+ - apps/website/**/*
+ - packages/**/*
+ - .npmrc
+ - package.json
+ - pnpm-workspace.yaml
+ - turbo.json
+
+db:
+ - .github/filter.yaml
+ - .github/workflows/db-*.yaml
+ - apps/api/src/infra/drizzle/schema/**/*.ts
+
+graphql:
+ - .github/filter.yaml
+ - .github/workflows/graphql-*.yaml
+ - apps/api/**/*
+ - packages/**/*
+ - .npmrc
+ - package.json
+ - pnpm-workspace.yaml
+ - turbo.json
+
+website:
+ - .github/filter.yaml
+ - .github/workflows/website-*.yaml
+ - apps/website/**/*
+ - packages/**/*
+ - .npmrc
+ - package.json
+ - pnpm-workspace.yaml
+ - turbo.json
diff --git a/.github/workflows/app-test.yaml b/.github/workflows/app-test.yaml
new file mode 100644
index 0000000..6f6d2ee
--- /dev/null
+++ b/.github/workflows/app-test.yaml
@@ -0,0 +1,234 @@
+name: app test
+
+on: push
+
+env:
+ DATABASE_URL: postgresql://postgres:postgres@localhost:54322/postgres
+ NEXT_PUBLIC_GRAPHQL_ENDPOINT: ${{ secrets.NEXT_PUBLIC_GRAPHQL_ENDPOINT }}
+ NEXT_PUBLIC_WS_ENDPOINT: ${{ secrets.NEXT_PUBLIC_WS_ENDPOINT }}
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+
+jobs:
+ filter:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: read
+ outputs:
+ app: ${{ steps.changes.outputs.app }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: check for file changes
+ uses: dorny/paths-filter@v2
+ id: changes
+ with:
+ token: ${{ github.token }}
+ filters: .github/filter.yaml
+
+ install:
+ runs-on: ubuntu-latest
+ needs: filter
+ if: needs.filter.outputs.app == 'true'
+ outputs:
+ STORE_PATH: ${{ steps.pnpm-env.outputs.STORE_PATH }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ with:
+ run_install: false
+
+ - name: setup pnpm environment variable
+ id: pnpm-env
+ run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
+
+ - name: cache pnpm dependencies
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.pnpm-env.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ format:
+ runs-on: ubuntu-latest
+ needs: install
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: restore pnpm dependencies
+ uses: actions/cache/restore@v3
+ with:
+ path: ${{ needs.install.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: format
+ run: pnpm turbo run fmt
+
+ lint:
+ runs-on: ubuntu-latest
+ needs: install
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: restore pnpm dependencies
+ uses: actions/cache/restore@v3
+ with:
+ path: ${{ needs.install.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install
+ run: pnpm install --frozen-lockfile
+
+ - name: lint
+ run: pnpm turbo run lint -- --max-warnings=0
+
+ style-lint:
+ runs-on: ubuntu-latest
+ needs: install
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: restore pnpm dependencies
+ uses: actions/cache/restore@v3
+ with:
+ path: ${{ needs.install.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: lint styles
+ run: pnpm turbo run style -- --max-warnings=0
+
+ build:
+ runs-on: ubuntu-latest
+ needs: install
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: restore pnpm dependencies
+ uses: actions/cache/restore@v3
+ with:
+ path: ${{ needs.install.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: build
+ run: pnpm turbo run build
+
+ test:
+ runs-on: ubuntu-latest
+ needs: [install, build]
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup supabase cli
+ uses: supabase/setup-cli@v1
+ with:
+ version: latest
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: restore pnpm dependencies
+ uses: actions/cache/restore@v3
+ with:
+ path: ${{ needs.install.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: authenticate to supabase
+ run: pnpm supabase link --project-ref ${{ secrets.SUPABASE_REFERENCE_ID }} --password ${{ secrets.SUPABASE_DATABASE_PASSWORD }}
+
+ - name: test
+ run: pnpm turbo run test
+
+ app-test-check:
+ runs-on: ubuntu-latest
+ needs: [format, lint, style-lint, build, test]
+ if: ${{ ! failure() }}
+ steps:
+ - name: check
+ run: echo "test is successfully executed."
diff --git a/.github/workflows/catalog-deploy-chromatic.yaml b/.github/workflows/catalog-deploy-chromatic.yaml
new file mode 100644
index 0000000..cd4a3e0
--- /dev/null
+++ b/.github/workflows/catalog-deploy-chromatic.yaml
@@ -0,0 +1,81 @@
+name: app test
+
+on: push
+
+env:
+ DATABASE_URL: postgresql://postgres:postgres@localhost:54322/postgres
+ NEXT_PUBLIC_GRAPHQL_ENDPOINT: ${{ secrets.NEXT_PUBLIC_GRAPHQL_ENDPOINT }}
+ NEXT_PUBLIC_WS_ENDPOINT: ${{ secrets.NEXT_PUBLIC_WS_ENDPOINT }}
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+
+jobs:
+ filter:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: read
+ outputs:
+ catalog: ${{ steps.changes.outputs.catalog }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: check for file changes
+ uses: dorny/paths-filter@v2
+ id: changes
+ with:
+ token: ${{ github.token }}
+ filters: .github/filter.yaml
+
+ deploy-chromatic:
+ runs-on: ubuntu-latest
+ needs: filter
+ if: needs.filter.outputs.catalog == 'true'
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ ref: ${{ github.event.workflow_run.head_sha }}
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: setup pnpm environment variable
+ id: pnpm-env
+ run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
+
+ - name: cache pnpm dependencies
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.pnpm-env.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: publish storybook
+ uses: chromaui/action@v1
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
+ workingDir: apps/catalog/
+ buildScriptName: sb:build
+
+ app-test-check:
+ runs-on: ubuntu-latest
+ needs: deploy-chromatic
+ if: ${{ ! failure() }}
+ steps:
+ - name: check
+ run: echo "test is successfully executed."
diff --git a/.github/workflows/db-commit-migration.yaml b/.github/workflows/db-commit-migration.yaml
new file mode 100644
index 0000000..bce8058
--- /dev/null
+++ b/.github/workflows/db-commit-migration.yaml
@@ -0,0 +1,111 @@
+name: db commit migration
+
+on: push
+
+env:
+ DATABASE_URL: postgresql://postgres:postgres@localhost:54322/postgres
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+
+jobs:
+ filter:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: read
+ outputs:
+ db: ${{ steps.changes.outputs.db }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.workflow_run.head_sha }}
+
+ - name: check for file changes
+ uses: dorny/paths-filter@v2
+ id: changes
+ with:
+ token: ${{ github.token }}
+ filters: .github/filter.yaml
+
+ commit:
+ runs-on: ubuntu-latest
+ needs: filter
+ if: needs.filter.outputs.db == 'true'
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ ref: ${{ github.event.workflow_run.head_sha }}
+ token: ${{ secrets.PAT }}
+
+ - name: setup supabase cli
+ uses: supabase/setup-cli@v1
+ with:
+ version: latest
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: setup pnpm environment variable
+ id: pnpm-env
+ run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
+
+ - name: cache pnpm dependencies
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.pnpm-env.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: authenticate to supabase
+ run: pnpm supabase link --project-ref ${{ secrets.SUPABASE_REFERENCE_ID }} --password ${{ secrets.SUPABASE_DATABASE_PASSWORD }}
+
+ - name: update migration file
+ run: echo y | (supabase db pull --schema public && supabase migration squash)
+ continue-on-error: true
+
+ - name: commit migration file update
+ run: |
+ git config --global user.name "github-actions[bot]"
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
+ if git diff --name-only --diff-filter=D | grep -q "supabase/migrations/.*_remote_schema.sql"; then \
+ git add $(git diff --name-only --diff-filter=D); \
+ OLD_VERSION=$(git diff --name-only --diff-filter=D --staged | grep "supabase/migrations/.*_remote_schema.sql" | cut -d/ -f3 | cut -d_ -f1); \
+ git add supabase/migrations/*_remote_schema.sql -N; \
+ NEW_VERSION=$(git diff --name-only --diff-filter=A | grep "supabase/migrations/.*_remote_schema.sql" | cut -d/ -f3 | cut -d_ -f1); \
+ pnpm supabase migration repair ${OLD_VERSION} --status reverted; \
+ pnpm supabase migration repair ${NEW_VERSION} --status reverted; \
+ pnpm supabase migration repair ${NEW_VERSION} --status applied; \
+ git add supabase/migrations/*_remote_schema.sql; \
+ git commit -m "actions: ๐ค (supabase) updated migration file"; \
+ git push origin HEAD:${GITHUB_REF} --force; \
+ echo "Committed changes to migration history"; \
+ elif grep -q "supabase/migrations/.*_remote_schema.sql"; then \
+ git add supabase/migrations/*_remote_schema.sql; \
+ git commit -m "actions: ๐ค (supabase) created migration file"; \
+ git push origin HEAD:${GITHUB_REF} --force; \
+ echo "Committed changes to migration history"; \
+ else \
+ echo "No changes detected in migration history"; \
+ fi
+
+ db-commit-migration-check:
+ runs-on: ubuntu-latest
+ needs: commit
+ if: ${{ ! failure() }}
+ steps:
+ - name: check
+ run: echo "test is successfully executed."
diff --git a/.github/workflows/graphql-commit-schema.yaml b/.github/workflows/graphql-commit-schema.yaml
new file mode 100644
index 0000000..dfcb0c9
--- /dev/null
+++ b/.github/workflows/graphql-commit-schema.yaml
@@ -0,0 +1,91 @@
+name: graphql commit schema
+
+on: push
+
+env:
+ DATABASE_URL: postgresql://postgres:postgres@localhost:54322/postgres
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+
+jobs:
+ filter:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: read
+ outputs:
+ graphql: ${{ steps.changes.outputs.graphql }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.workflow_run.head_sha }}
+
+ - name: check for file changes
+ uses: dorny/paths-filter@v2
+ id: changes
+ with:
+ token: ${{ github.token }}
+ filters: .github/filter.yaml
+
+ commit:
+ runs-on: ubuntu-latest
+ needs: filter
+ if: needs.filter.outputs.graphql == 'true'
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ ref: ${{ github.event.workflow_run.head_sha }}
+ token: ${{ secrets.PAT }}
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: setup pnpm environment variable
+ id: pnpm-env
+ run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
+
+ - name: cache pnpm dependencies
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.pnpm-env.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: generate and update graphql schema
+ run: seq 2 | timeout 30 xargs -P 2 -I {} sh .github/workflows/script/graphql-commit-schema.sh {}
+ continue-on-error: true
+
+ - name: commit graphql schema update
+ run: |
+ git config --global user.name "github-actions[bot]"
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
+ if git diff --name-only | grep -q "apps/website/graphql.schema.json"; then \
+ git add ./apps/website/graphql.schema.json; \
+ git commit -m "actions: ๐ค (graphql) updated graphql schema"; \
+ git push origin HEAD:${GITHUB_REF} --force; \
+ echo "Committed changes to GraphQL schema"; \
+ else \
+ echo "No changes detected in GraphQL schema"; \
+ fi
+
+ graphql-commit-schema-check:
+ runs-on: ubuntu-latest
+ needs: commit
+ if: ${{ ! failure() }}
+ steps:
+ - name: check
+ run: echo "test is successfully executed."
diff --git a/.github/workflows/graphql-deploy-apollo-studio.yaml b/.github/workflows/graphql-deploy-apollo-studio.yaml
new file mode 100644
index 0000000..2d151ab
--- /dev/null
+++ b/.github/workflows/graphql-deploy-apollo-studio.yaml
@@ -0,0 +1,80 @@
+name: graphql deploy apollo studio
+
+on:
+ push:
+ branches:
+ - main
+
+env:
+ DATABASE_URL: postgresql://postgres:postgres@localhost:54322/postgres
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+
+jobs:
+ filter:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ pull-requests: read
+ outputs:
+ graphql: ${{ steps.changes.outputs.graphql }}
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: check for file changes
+ uses: dorny/paths-filter@v2
+ id: changes
+ with:
+ token: ${{ github.token }}
+ filters: .github/filter.yaml
+
+ deploy-apollo-studio:
+ runs-on: ubuntu-latest
+ env:
+ APOLLO_KEY: ${{ secrets.APOLLO_KEY }}
+ needs: filter
+ if: needs.filter.outputs.graphql == 'true'
+ steps:
+ - name: checkout
+ uses: actions/checkout@v4
+
+ - name: setup node
+ uses: actions/setup-node@v3
+ with:
+ node-version-file: "package.json"
+
+ - name: setup pnpm
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ run_install: false
+
+ - name: setup pnpm environment variable
+ id: pnpm-env
+ run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
+
+ - name: cache pnpm dependencies
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.pnpm-env.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-dependencies-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: ${{ runner.os }}-pnpm-dependencies-
+
+ - name: install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: generate graphql schema
+ run: timeout 15 pnpm api dev
+ continue-on-error: true
+
+ - name: publish graphs
+ run: pnpm api apollo:rover
+
+ app-test-check:
+ runs-on: ubuntu-latest
+ needs: deploy-apollo-studio
+ if: ${{ ! failure() }}
+ steps:
+ - name: check
+ run: echo "test is successfully executed."
diff --git a/.github/workflows/script/graphql-commit-schema.sh b/.github/workflows/script/graphql-commit-schema.sh
new file mode 100644
index 0000000..a5b91f1
--- /dev/null
+++ b/.github/workflows/script/graphql-commit-schema.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ "$1" = 1 ]; then
+ pnpm api dev
+elif [ "$1" = 2 ]; then
+ sleep 15 && pnpm --filter='@shio/website' gql:introspect
+fi
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8e8361a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,39 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.pnpm-debug.log*
+
+# deliverable
+.next/
+build/
+dist/
+out/
+
+# dependency
+node_modules/
+.pnpm-store/
+
+# env file
+.env*
+!.env.example
+
+# misc
+.DS_Store
+*.pem
+
+# storybook
+**/.storybook/static/
+
+# testing
+coverage/
+
+# typescript
+*.tsbuildinfo
+
+# vercel
+.vercel/
+.turbo/
+.vercel
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 0000000..a5a29d9
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+pnpm lint-staged
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..cc8a270
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1,3 @@
+auto-install-peers = true
+engine-strict = true
+save-exact = true
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..c8e48ca
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,182 @@
+{
+ "commit-message-editor.tokens": [
+ {
+ "label": "Type",
+ "name": "type",
+ "type": "enum",
+ "description": "Type of changes.",
+ "combobox": true,
+ "options": [
+ {
+ "label": "feat: โจ",
+ "value": "feat: โจ",
+ "description": "Implementation of new features."
+ },
+ {
+ "label": "feat: ๐",
+ "value": "feat: ๐",
+ "description": "Repair of existing features."
+ },
+ {
+ "label": "feat: โฐ๏ธ",
+ "value": "feat: โฐ๏ธ",
+ "description": "Deletion of features."
+ },
+ {
+ "label": "fix: ๐",
+ "value": "fix: ๐",
+ "description": "Bug fixes."
+ },
+ {
+ "label": "fix: ๐๏ธ",
+ "value": "fix: ๐๏ธ",
+ "description": "Critical bug fixes or major changes."
+ },
+ {
+ "label": "doc: ๐",
+ "value": "doc: ๐",
+ "description": "Documentation changes."
+ },
+ {
+ "label": "typo: ๐๏ธ",
+ "value": "typo: ๐๏ธ",
+ "description": "Typography changes."
+ },
+ {
+ "label": "style: ๐",
+ "value": "style: ๐",
+ "description": "Style changes."
+ },
+ {
+ "label": "refactor: โป๏ธ",
+ "value": "refactor: โป๏ธ",
+ "description": "Code formatting or refactoring."
+ },
+ {
+ "label": "test: ๐งช",
+ "value": "test: ๐งช",
+ "description": "Test cases changes."
+ },
+ {
+ "label": "ci: ๐ฆบ",
+ "value": "ci: ๐ฆบ",
+ "description": "CI changes."
+ },
+ {
+ "label": "build: ๐ฆ๏ธ",
+ "value": "build: ๐ฆ๏ธ",
+ "description": "Build system or dependency changes."
+ },
+ {
+ "label": "container: ๐ณ",
+ "value": "container: ๐ณ",
+ "description": "The Dockerfile changes."
+ },
+ {
+ "label": "container: ๐",
+ "value": "container: ๐",
+ "description": "The docker-compose changes."
+ },
+ {
+ "label": "chore: ๐ง",
+ "value": "chore: ๐ง",
+ "description": "Configuration changes."
+ },
+ {
+ "label": "chore: ๐จ",
+ "value": "chore: ๐จ",
+ "description": "Development script changes."
+ },
+ {
+ "label": "chore: ๐ฑ",
+ "value": "chore: ๐ฑ",
+ "description": "Assets changes."
+ },
+ {
+ "label": "revert: โช๏ธ",
+ "value": "revert: โช๏ธ",
+ "description": "Reversion of changes."
+ },
+ {
+ "label": "wip: ๐ง",
+ "value": "wip: ๐ง",
+ "description": "Changes that will be squashed."
+ },
+ {
+ "label": "initial: ๐",
+ "value": "initial: ๐",
+ "description": "The first commit."
+ }
+ ]
+ },
+ {
+ "label": "Scope",
+ "name": "scope",
+ "type": "text",
+ "description": "Scope of changes.",
+ "prefix": " (",
+ "suffix": ")"
+ },
+ {
+ "label": "Short Description",
+ "name": "description",
+ "type": "text",
+ "description": "Commit summary.",
+ "prefix": " "
+ },
+ {
+ "label": "Body",
+ "name": "body",
+ "type": "text",
+ "description": "Detailed description of commit.",
+ "maxLines": 10,
+ "multiline": true,
+ "lines": 5
+ },
+ {
+ "label": "Footer",
+ "name": "footer",
+ "description": "Description of disruptive changes or signature.",
+ "type": "text",
+ "multiline": true
+ }
+ ],
+ "commit-message-editor.dynamicTemplate": [
+ "{type}{scope}{description}",
+ "",
+ "{body}",
+ "",
+ "{footer}"
+ ],
+ "commit-message-editor.staticTemplate": [
+ "label: emoji (scope) short-description",
+ "",
+ "body",
+ "",
+ "footer"
+ ],
+ "commit-message-editor.view.defaultView": "form",
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "eslint.format.enable": true,
+ "eslint.workingDirectories": [
+ "apps/api/",
+ "apps/catalog/",
+ "apps/website/",
+ "packages/core/",
+ "packages/design-token/",
+ "packages/jest/",
+ "packages/postcss/",
+ "packages/stylelint",
+ "packages/tailwind/",
+ "packages/type/",
+ "packages/urql/"
+ ],
+ "files.encoding": "utf8",
+ "files.eol": "\n",
+ "jest.jestCommandLine": "pnpm all -- test",
+ "tailwindCSS.classAttributes": ["class", "className"],
+ "tailwindCSS.experimental.classRegex": [
+ ["tv\\(([^)]*)\\)", "[\"']([^\"']*).*?[\"']"],
+ ["className:.*cn\\(([^)]*)\\)", "[\"']([^\"']*).*?[\"']"]
+ ]
+}
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..d44270d
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,9 @@
+# MIT License
+
+Copyright © 2023 NITIC PBL P8
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..92516fc
--- /dev/null
+++ b/README.md
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Locker.ai ๐๏ธ
+
+Locker.ai is a service that uses a unique AI-driven authentication mechanism to safely report and retrieve lost items.
+
+## Core Contributors ๐ ๏ธ
+
+| shio | st20089ki | ituki |
+| :--------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: |
+| [](https://github.com/dino3616) | [](https://github.com/st20089ki) | [](https://github.com/ituki0426) |
+| `#repository-owner` `#designer` `#backend-engineer` | `#frontend-engineer` | `#backend-engineer` `#ml-engineer` |
+
+## Setup with Docker Compose ๐
+
+You can easily launch the development environment of Locker.ai with Docker Compose.
+Here is the step-by-step guide.
+
+### Attention
+
+- This method cannot build the [Supabase development environment locally](https://supabase.com/docs/guides/cli/local-development). If you wish to do so, please refer to the next section, [Setup locally](#setup-locally-๏ธ).
+- You need to install [Docker](https://docs.docker.com/get-docker) and [Docker Compose](https://docs.docker.com/compose/install) before.
+- Developers in a Windows environment are encouraged to run Docker on WSL2 instead of directly on Windows due to performance concerns.
+- [Optional] You should install project recommended VSCode extensions that specified in [`.devcontainer/devcontainer.json`](./.devcontainer/devcontainer.json#L8C6-L38C8) before.
+
+### 1. clone git repository
+
+```bash
+git clone "https://github.com/nitic-pbl-p8/lockerai" && cd "./lockerai"
+```
+
+### 2. launch conatiner
+
+```bash
+docker compose -f "./docker/docker-compose.development.yaml" -p "lockerai" up -d
+```
+
+### 3. set environment variables
+
+See `.env.example` or contact the [repository owner](https://github.com/dino3616) for more details.
+
+### 4. install dependencies
+
+```bash
+pnpm install
+```
+
+## Setup locally ๐ฅ๏ธ
+
+If you need to build the [Supabase development environment locally](https://supabase.com/docs/guides/cli/local-development), please follow the steps below.
+
+### Attention
+
+- You need to install [Docker](https://docs.docker.com/get-docker) and [Docker Compose](https://docs.docker.com/compose/install), and [Volta](https://docs.volta.sh/guide/getting-started) (optional) before.
+- You need to install [Node.js](https://nodejs.org/en/download) and [pnpm](https://pnpm.io/installation) that specified in [`package.json`](./package.json#L7C2-L15C5) before. (With Volta, you can easily install a specified version of the tool. Recommendation.)
+- [Optional] You should install project recommended VSCode extensions that specified in [`.devcontainer/devcontainer.json`](./.devcontainer/devcontainer.json#L8C6-L38C8) before.
+
+### 1. clone git repository
+
+```bash
+git clone "https://github.com/nitic-pbl-p8/lockerai" && cd "./lockerai"
+```
+
+### 2. set environment variables
+
+See `.env.example` or contact the [repository owner](https://github.com/dino3616) for more details.
+
+### 3. install dependencies
+
+```bash
+pnpm install
+```
+
+### 4. setup supabase
+
+See [Supabase official documentation](https://supabase.com/docs/guides/cli/local-development) for more details.
+
+## Project Useful Links ๐
+
+Here are some useful links for this project.
+
+## Design
+
+- [Figma](https://www.figma.com/file/xNKAhniAfPPTsL987xRCVe/website?type=design&node-id=20%3A35&mode=design&t=oAlQP6Jqqk0ZcqOy-1)
+
+## Component Catalog
+
+- [Storybook](https://main--653402bb608cd8eb750c3867.chromatic.com)
+- [Chromatic](https://www.chromatic.com/library?appId=653402bb608cd8eb750c3867&branch=main)
diff --git a/apps/api/.env.example b/apps/api/.env.example
new file mode 100644
index 0000000..a0b9d40
--- /dev/null
+++ b/apps/api/.env.example
@@ -0,0 +1,5 @@
+APOLLO_KEY="service::"
+APOLLO_GRAPH_REF="@"
+APOLLO_SCHEMA_REPORTING="true"
+DATABASE_SSL_CERT=""
+DATABASE_URL="postgresql://:@:/"
diff --git a/apps/api/.eslintignore b/apps/api/.eslintignore
new file mode 100644
index 0000000..9c054e2
--- /dev/null
+++ b/apps/api/.eslintignore
@@ -0,0 +1,4 @@
+coverage/
+dist/
+generated/
+node_modules/
diff --git a/apps/api/.eslintrc.cjs b/apps/api/.eslintrc.cjs
new file mode 100644
index 0000000..9720fd0
--- /dev/null
+++ b/apps/api/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-node'],
+};
diff --git a/apps/api/.gitignore b/apps/api/.gitignore
new file mode 100644
index 0000000..4a545a7
--- /dev/null
+++ b/apps/api/.gitignore
@@ -0,0 +1,8 @@
+# graphql schema
+schema.gql
+
+# auto generated folder
+generated
+
+# certificates
+*.crt
diff --git a/apps/api/.lintstagedrc.cjs b/apps/api/.lintstagedrc.cjs
new file mode 100644
index 0000000..ba79164
--- /dev/null
+++ b/apps/api/.lintstagedrc.cjs
@@ -0,0 +1,4 @@
+module.exports = {
+ '**/*.{js,ts}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+};
diff --git a/apps/api/.prettierignore b/apps/api/.prettierignore
new file mode 100644
index 0000000..9c054e2
--- /dev/null
+++ b/apps/api/.prettierignore
@@ -0,0 +1,4 @@
+coverage/
+dist/
+generated/
+node_modules/
diff --git a/apps/api/.prettierrc.cjs b/apps/api/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/apps/api/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/apps/api/drizzle.config.ts b/apps/api/drizzle.config.ts
new file mode 100644
index 0000000..680762c
--- /dev/null
+++ b/apps/api/drizzle.config.ts
@@ -0,0 +1,34 @@
+import dotenv from 'dotenv';
+import type { Config } from 'drizzle-kit';
+import { match } from 'ts-pattern';
+
+const envFilePath = match(process.env['NODE_ENV'])
+ .with('development', () => ['.env', '.env.development'])
+ .with('production', () => ['.env', '.env.production'])
+ .with('test', () => ['.env', '.env.test'])
+ .otherwise(() => ['.env', '.env.development']);
+
+envFilePath.forEach((path) => dotenv.config({ path }));
+
+if (!process.env['DATABASE_URL']) {
+ throw new Error('DATABASE_URL is not defined.');
+}
+
+const drizzleConfig: Config = {
+ schema: './src/infra/drizzle/schema/**/*.ts',
+ out: './src/infra/drizzle/migration',
+ breakpoints: true,
+ strict: true,
+ driver: 'pg',
+ dbCredentials:
+ process.env['NODE_ENV'] === 'production'
+ ? {
+ connectionString: `${process.env['DATABASE_URL']}?sslmode=verify-full&sslrootcert=prod-ca-2021.crt`,
+ ssl: true,
+ }
+ : {
+ connectionString: process.env['DATABASE_URL'],
+ },
+};
+
+export default drizzleConfig;
diff --git a/apps/api/jest.config.cjs b/apps/api/jest.config.cjs
new file mode 100644
index 0000000..354e666
--- /dev/null
+++ b/apps/api/jest.config.cjs
@@ -0,0 +1,6 @@
+const config = require('@lockerai/jest/jest.node.cjs');
+
+/** @type {import('jest').Config} */
+module.exports = {
+ ...config,
+};
diff --git a/apps/api/package.json b/apps/api/package.json
new file mode 100644
index 0000000..b053a79
--- /dev/null
+++ b/apps/api/package.json
@@ -0,0 +1,67 @@
+{
+ "name": "@lockerai/api",
+ "version": "0.1.0",
+ "repository": "https://github.com/cardo-lockerai/lockerai.git",
+ "author": "dino3616 <85730998+dino3616@users.noreply.github.com>",
+ "license": "MIT",
+ "private": true,
+ "type": "commonjs",
+ "module": "nodenext",
+ "scripts": {
+ "prebuild": "rimraf dist",
+ "build": "nest build",
+ "dev": "cross-env NODE_ENV=development nest start --watch",
+ "start": "cross-env NODE_ENV=production nest start",
+ "start:dev": "cross-env NODE_ENV=development nest start",
+ "prod": "cross-env NODE_ENV=production node dist/main",
+ "prod:dev": "cross-env NODE_ENV=development node dist/main",
+ "lint": "eslint './**/{*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "test": "cross-env NODE_ENV=test jest --silent=false --verbose false --passWithNoTests",
+ "db:generate": "drizzle-kit generate:pg --config ./drizzle.config.ts",
+ "db:push:dev": "cross-env NODE_ENV=development drizzle-kit push:pg --config ./drizzle.config.ts",
+ "db:push:prod": "cross-env NODE_ENV=production drizzle-kit push:pg --config ./drizzle.config.ts",
+ "db:push:test": "cross-env NODE_ENV=test drizzle-kit push:pg --config ./drizzle.config.ts",
+ "db:studio:dev": "cross-env NODE_ENV=development drizzle-kit studio --config ./drizzle.config.ts",
+ "db:studio:prod": "cross-env NODE_ENV=production drizzle-kit studio --config ./drizzle.config.ts",
+ "apollo:rover": "rover graph publish lockerai@current --schema ./schema.gql"
+ },
+ "dependencies": {
+ "@apollo/server": "4.9.4",
+ "@nestjs/apollo": "12.0.9",
+ "@nestjs/cli": "10.1.18",
+ "@nestjs/common": "10.2.7",
+ "@nestjs/config": "3.1.1",
+ "@nestjs/core": "10.2.7",
+ "@nestjs/graphql": "12.0.9",
+ "@nestjs/platform-express": "10.2.7",
+ "@nestjs/testing": "10.2.7",
+ "class-transformer": "0.5.1",
+ "class-validator": "0.14.0",
+ "dataloader": "2.2.2",
+ "dotenv": "16.3.1",
+ "drizzle-orm": "0.28.6",
+ "graphql-subscriptions": "2.0.0",
+ "graphql-validation-complexity": "0.4.2",
+ "postgres": "3.4.0",
+ "ts-pattern": "5.0.5",
+ "uuid": "9.0.1"
+ },
+ "devDependencies": {
+ "@apollo/rover": "0.20.0",
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/postcss": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/stylelint": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@lockerai/type": "workspace:*",
+ "@nestjs/schematics": "10.0.2",
+ "@types/graphql-validation-complexity": "0.4.3",
+ "@types/pg": "8.10.7",
+ "drizzle-kit": "0.19.13",
+ "eslint-config-lockerai-node": "workspace:*",
+ "pg": "8.11.3"
+ }
+}
diff --git a/apps/api/src/app/app.module.ts b/apps/api/src/app/app.module.ts
new file mode 100644
index 0000000..8bf4a95
--- /dev/null
+++ b/apps/api/src/app/app.module.ts
@@ -0,0 +1,12 @@
+import { Module } from '@nestjs/common';
+import { CacheModule } from '#api/common/service/cache/cache.module';
+import { EnvModule } from '#api/common/service/env/env.module';
+import { PubSubModule } from '#api/common/service/pubsub/pubsub.module';
+import { GraphQLConfigModule } from '#api/config/graphql/graphql-config.module';
+import { DrizzleModule } from '#api/infra/drizzle/drizzle.module';
+import { Modules } from '#api/module';
+
+@Module({
+ imports: [EnvModule, GraphQLConfigModule, DrizzleModule, CacheModule, PubSubModule, ...Modules],
+})
+export class AppModule {}
diff --git a/apps/api/src/common/constant/injection-token.ts b/apps/api/src/common/constant/injection-token.ts
new file mode 100644
index 0000000..e25afcb
--- /dev/null
+++ b/apps/api/src/common/constant/injection-token.ts
@@ -0,0 +1,5 @@
+// eslint-disable-next-line no-shadow
+export enum InjectionToken {
+ USER_REPOSITORY = 'USER_REPOSITORY',
+ USER_USE_CASE = 'USER_USE_CASE',
+}
diff --git a/apps/api/src/common/service/cache/base.dataloader.ts b/apps/api/src/common/service/cache/base.dataloader.ts
new file mode 100644
index 0000000..0e26817
--- /dev/null
+++ b/apps/api/src/common/service/cache/base.dataloader.ts
@@ -0,0 +1,27 @@
+import DataLoader from 'dataloader';
+
+export abstract class BaseDataLoader extends Object {
+ protected dataloader: DataLoader = new DataLoader(this.batchLoad.bind(this));
+
+ public clear(key: K): DataLoader {
+ return this.dataloader.clear(key);
+ }
+
+ public clearAll(): DataLoader {
+ return this.dataloader.clearAll();
+ }
+
+ public async load(key: K): Promise {
+ return this.dataloader.load(key);
+ }
+
+ public async loadMany(keys: K[]): Promise<(V | Error)[]> {
+ return this.dataloader.loadMany(keys);
+ }
+
+ public prime(key: K, value: V): DataLoader {
+ return this.dataloader.prime(key, value);
+ }
+
+ protected abstract batchLoad(keys: readonly K[]): Promise<(V | Error)[]>;
+}
diff --git a/apps/api/src/common/service/cache/cache.module.ts b/apps/api/src/common/service/cache/cache.module.ts
new file mode 100644
index 0000000..2f25fae
--- /dev/null
+++ b/apps/api/src/common/service/cache/cache.module.ts
@@ -0,0 +1,9 @@
+import { Global, Module } from '@nestjs/common';
+import { DataLoaderCacheService } from './data-loader-cache.service';
+
+@Global()
+@Module({
+ providers: [DataLoaderCacheService],
+ exports: [DataLoaderCacheService],
+})
+export class CacheModule {}
diff --git a/apps/api/src/common/service/cache/data-loader-cache.service.ts b/apps/api/src/common/service/cache/data-loader-cache.service.ts
new file mode 100644
index 0000000..32c0141
--- /dev/null
+++ b/apps/api/src/common/service/cache/data-loader-cache.service.ts
@@ -0,0 +1,22 @@
+import { Injectable, Logger } from '@nestjs/common';
+import type DataLoader from 'dataloader';
+
+@Injectable()
+// eslint-disable-next-line no-use-before-define
+export class DataLoaderCacheService, K, C = K> {
+ private readonly logger = new Logger(DataLoaderCacheService.name);
+
+ constructor() {
+ this.logger.debug(`${DataLoaderCacheService.name} constructed`);
+ }
+
+ prime(dataLoader: DataLoader, obj: T) {
+ dataLoader.prime(obj.id, obj);
+ }
+
+ primeMany(dataLoader: DataLoader, objs: T[]) {
+ objs.forEach((obj) => {
+ dataLoader.prime(obj.id, obj);
+ });
+ }
+}
diff --git a/apps/api/src/common/service/env/env.module.ts b/apps/api/src/common/service/env/env.module.ts
new file mode 100644
index 0000000..8c3b530
--- /dev/null
+++ b/apps/api/src/common/service/env/env.module.ts
@@ -0,0 +1,25 @@
+import { Global, Module } from '@nestjs/common';
+import { ConfigModule } from '@nestjs/config';
+import { match } from 'ts-pattern';
+import { EnvService } from './env.service';
+import { validate } from './validate';
+
+const envFilePath = match(process.env['NODE_ENV'])
+ .with('development', () => ['.env', '.env.development'])
+ .with('production', () => ['.env', '.env.production'])
+ .with('test', () => ['.env', '.env.test'])
+ .otherwise(() => ['.env', '.env.development']);
+
+@Global()
+@Module({
+ imports: [
+ ConfigModule.forRoot({
+ envFilePath,
+ isGlobal: true,
+ validate,
+ }),
+ ],
+ providers: [EnvService],
+ exports: [EnvService],
+})
+export class EnvModule {}
diff --git a/apps/api/src/common/service/env/env.service.ts b/apps/api/src/common/service/env/env.service.ts
new file mode 100644
index 0000000..13e85fa
--- /dev/null
+++ b/apps/api/src/common/service/env/env.service.ts
@@ -0,0 +1,46 @@
+import type { ApolloConfigInput } from '@apollo/server';
+import { Inject, Injectable, Logger } from '@nestjs/common';
+import { ConfigService } from '@nestjs/config';
+
+@Injectable()
+export class EnvService {
+ private readonly logger = new Logger(EnvService.name);
+
+ constructor(@Inject(ConfigService) private readonly configService: ConfigService) {
+ this.logger.debug(`${EnvService.name} constructed`);
+ this.logger.log(`NODE_ENV: ${this.NodeEnv}`);
+ }
+
+ get NodeEnv(): 'development' | 'production' | 'test' {
+ const nodeEnv = this.configService.get<'development' | 'production' | 'test'>('NODE_ENV', 'development');
+
+ return nodeEnv;
+ }
+
+ get Port(): number {
+ const port = this.configService.get('PORT', 4000);
+
+ return port;
+ }
+
+ get DatabaseUrl(): string {
+ const databaseUrl = this.configService.getOrThrow('DATABASE_URL');
+
+ return databaseUrl;
+ }
+
+ get DatabaseSslCert(): string {
+ const databaseSslCert = this.configService.getOrThrow('DATABASE_SSL_CERT');
+
+ return databaseSslCert;
+ }
+
+ get ApolloStudioConfig(): ApolloConfigInput {
+ const apolloConfigInput: ApolloConfigInput = {
+ key: this.configService.getOrThrow('APOLLO_KEY'),
+ graphRef: this.configService.getOrThrow('APOLLO_GRAPH_REF'),
+ };
+
+ return apolloConfigInput;
+ }
+}
diff --git a/apps/api/src/common/service/env/validate.ts b/apps/api/src/common/service/env/validate.ts
new file mode 100644
index 0000000..b7c3663
--- /dev/null
+++ b/apps/api/src/common/service/env/validate.ts
@@ -0,0 +1,36 @@
+import { Transform, plainToClass } from 'class-transformer';
+import { IsEnum, IsNumber, IsUrl, validateSync } from 'class-validator';
+
+export class EnvValidator {
+ @IsEnum(['development', 'production', 'test'])
+ NODE_ENV!: 'development' | 'production' | 'test';
+
+ @Transform(({ value }) => parseInt(value, 10))
+ @IsNumber()
+ PORT = 4000;
+
+ @IsUrl({ protocols: ['postgresql'], require_tld: process.env['NODE_ENV'] === 'production' })
+ DATABASE_URL!: string;
+
+ DATABASE_SSL_CERT!: string;
+
+ APOLLO_KEY!: string;
+
+ APOLLO_GRAPH_REF!: string;
+}
+
+export const validate = (config: Record) => {
+ const validatedConfig = plainToClass(EnvValidator, config, {
+ enableImplicitConversion: true,
+ });
+
+ const errors = validateSync(validatedConfig, {
+ skipMissingProperties: false,
+ });
+
+ if (errors.length > 0) {
+ throw new Error(errors.toString());
+ }
+
+ return validatedConfig;
+};
diff --git a/apps/api/src/common/service/pubsub/pubsub.module.ts b/apps/api/src/common/service/pubsub/pubsub.module.ts
new file mode 100644
index 0000000..3cc0f33
--- /dev/null
+++ b/apps/api/src/common/service/pubsub/pubsub.module.ts
@@ -0,0 +1,9 @@
+import { Global, Module } from '@nestjs/common';
+import { PubSubService } from './pubsub.service';
+
+@Global()
+@Module({
+ providers: [PubSubService],
+ exports: [PubSubService],
+})
+export class PubSubModule {}
diff --git a/apps/api/src/common/service/pubsub/pubsub.service.ts b/apps/api/src/common/service/pubsub/pubsub.service.ts
new file mode 100644
index 0000000..0e250bd
--- /dev/null
+++ b/apps/api/src/common/service/pubsub/pubsub.service.ts
@@ -0,0 +1,13 @@
+import { Injectable, Logger } from '@nestjs/common';
+import { PubSub } from 'graphql-subscriptions';
+
+@Injectable()
+export class PubSubService extends PubSub {
+ private readonly logger = new Logger(PubSubService.name);
+
+ constructor() {
+ super();
+
+ this.logger.debug(`${PubSubService.name} constructed`);
+ }
+}
diff --git a/apps/api/src/config/graphql/graphql-config.module.ts b/apps/api/src/config/graphql/graphql-config.module.ts
new file mode 100644
index 0000000..6afbb8c
--- /dev/null
+++ b/apps/api/src/config/graphql/graphql-config.module.ts
@@ -0,0 +1,44 @@
+import { join } from 'path';
+import { ApolloServerPluginLandingPageLocalDefault } from '@apollo/server/plugin/landingPage/default';
+import { ApolloDriver, type ApolloDriverConfig } from '@nestjs/apollo';
+import { GraphQLModule } from '@nestjs/graphql';
+import { createComplexityLimitRule } from 'graphql-validation-complexity';
+import { match } from 'ts-pattern';
+import { EnvService } from '#api/common/service/env/env.service';
+
+const baseConfig: ApolloDriverConfig = {
+ autoSchemaFile: join(process.cwd(), './schema.gql'),
+ cache: 'bounded',
+ context: undefined,
+ introspection: true,
+ path: '/graphql',
+ playground: false,
+ plugins: [ApolloServerPluginLandingPageLocalDefault()],
+ sortSchema: true,
+ subscriptions: {
+ 'graphql-ws': true,
+ },
+ validationRules: [createComplexityLimitRule(5000)],
+};
+
+const createDevelopmentConfig = (): ApolloDriverConfig => baseConfig;
+
+const createProductionConfig = (envService: EnvService): ApolloDriverConfig => ({
+ ...baseConfig,
+ apollo: envService.ApolloStudioConfig,
+});
+
+const createTestConfig = (): ApolloDriverConfig => baseConfig;
+
+const gqlFactory = (envService: EnvService): ApolloDriverConfig =>
+ match(envService.NodeEnv)
+ .with('development', () => createDevelopmentConfig())
+ .with('production', () => createProductionConfig(envService))
+ .with('test', () => createTestConfig())
+ .otherwise(() => createDevelopmentConfig());
+
+export const GraphQLConfigModule = GraphQLModule.forRootAsync({
+ driver: ApolloDriver,
+ useFactory: gqlFactory,
+ inject: [EnvService],
+});
diff --git a/apps/api/src/infra/drizzle/drizzle.module.ts b/apps/api/src/infra/drizzle/drizzle.module.ts
new file mode 100644
index 0000000..890fca9
--- /dev/null
+++ b/apps/api/src/infra/drizzle/drizzle.module.ts
@@ -0,0 +1,32 @@
+import { Global, Module } from '@nestjs/common';
+import { drizzle } from 'drizzle-orm/node-postgres';
+import { Pool } from 'pg';
+import { EnvService } from '#api/common/service/env/env.service';
+import * as schema from './schema';
+
+export const PG_CONNECTION = 'PG_CONNECTION';
+
+export type PgConnection = ReturnType>;
+
+@Global()
+@Module({
+ providers: [
+ {
+ provide: PG_CONNECTION,
+ inject: [EnvService],
+ useFactory: (envService: EnvService): PgConnection => {
+ const pool = new Pool({
+ connectionString: envService.DatabaseUrl,
+ ssl: envService.NodeEnv === 'production' && {
+ ca: envService.DatabaseSslCert,
+ cert: envService.DatabaseSslCert,
+ },
+ });
+
+ return drizzle(pool, { schema, logger: true });
+ },
+ },
+ ],
+ exports: [PG_CONNECTION],
+})
+export class DrizzleModule {}
diff --git a/apps/api/src/infra/drizzle/schema/constant/relation-key.ts b/apps/api/src/infra/drizzle/schema/constant/relation-key.ts
new file mode 100644
index 0000000..11ab0fb
--- /dev/null
+++ b/apps/api/src/infra/drizzle/schema/constant/relation-key.ts
@@ -0,0 +1,6 @@
+export const relationKey = {
+ 'drawer-and-lost-item': 'drawer-and-lost-item',
+ 'locker-and-drawers': 'locker-and-drawers',
+ 'owner-and-retrieved-lost-items': 'owner-and-retrieved-lost-items',
+ 'reporter-and-reported-lost-items': 'reporter-and-reported-lost-items',
+} as const satisfies Record;
diff --git a/apps/api/src/infra/drizzle/schema/drawers.ts b/apps/api/src/infra/drizzle/schema/drawers.ts
new file mode 100644
index 0000000..1e6df4a
--- /dev/null
+++ b/apps/api/src/infra/drizzle/schema/drawers.ts
@@ -0,0 +1,18 @@
+import { relations } from 'drizzle-orm';
+import { pgTable, serial, timestamp, uuid } from 'drizzle-orm/pg-core';
+import { relationKey } from './constant/relation-key';
+import { lockers } from './lockers';
+import { lostItems } from './lost-items';
+
+export const drawers = pgTable('drawers', {
+ id: serial('id').primaryKey(),
+ lockerId: uuid('locker_id')
+ .references(() => lockers.id)
+ .notNull(),
+ createdAt: timestamp('created_at').notNull().defaultNow(),
+});
+
+export const drawersRelations = relations(drawers, ({ one }) => ({
+ locker: one(lockers, { fields: [drawers.lockerId], references: [lockers.id], relationName: relationKey['locker-and-drawers'] }),
+ lostItem: one(lostItems, { fields: [drawers.id], references: [lostItems.drawerId], relationName: relationKey['drawer-and-lost-item'] }),
+}));
diff --git a/apps/api/src/infra/drizzle/schema/enum/lost-and-found-state.ts b/apps/api/src/infra/drizzle/schema/enum/lost-and-found-state.ts
new file mode 100644
index 0000000..88deaab
--- /dev/null
+++ b/apps/api/src/infra/drizzle/schema/enum/lost-and-found-state.ts
@@ -0,0 +1,3 @@
+import { pgEnum } from 'drizzle-orm/pg-core';
+
+export const lostAndFoundStateEnum = pgEnum('lost_and_found_state', ['NONE', 'DELIVERING', 'RETRIEVING']);
diff --git a/apps/api/src/infra/drizzle/schema/index.ts b/apps/api/src/infra/drizzle/schema/index.ts
new file mode 100644
index 0000000..c0f4f3f
--- /dev/null
+++ b/apps/api/src/infra/drizzle/schema/index.ts
@@ -0,0 +1,5 @@
+export { lostAndFoundStateEnum } from './enum/lost-and-found-state';
+export { drawers, drawersRelations } from './drawers';
+export { lockers, lockersRelations } from './lockers';
+export { lostItems, lostItemsRelations } from './lost-items';
+export { users, usersRelations } from './users';
diff --git a/apps/api/src/infra/drizzle/schema/lockers.ts b/apps/api/src/infra/drizzle/schema/lockers.ts
new file mode 100644
index 0000000..b60e859
--- /dev/null
+++ b/apps/api/src/infra/drizzle/schema/lockers.ts
@@ -0,0 +1,14 @@
+import { relations } from 'drizzle-orm';
+import { pgTable, timestamp, uuid, varchar } from 'drizzle-orm/pg-core';
+import { relationKey } from './constant/relation-key';
+import { drawers } from './drawers';
+
+export const lockers = pgTable('lockers', {
+ id: uuid('id').primaryKey().defaultRandom(),
+ name: varchar('name', { length: 32 }).unique().notNull(),
+ createdAt: timestamp('created_at').notNull().defaultNow(),
+});
+
+export const lockersRelations = relations(lockers, ({ many }) => ({
+ drawers: many(drawers, { relationName: relationKey['locker-and-drawers'] }),
+}));
diff --git a/apps/api/src/infra/drizzle/schema/lost-items.ts b/apps/api/src/infra/drizzle/schema/lost-items.ts
new file mode 100644
index 0000000..a4ae414
--- /dev/null
+++ b/apps/api/src/infra/drizzle/schema/lost-items.ts
@@ -0,0 +1,26 @@
+import { relations } from 'drizzle-orm';
+import { pgTable, serial, text, timestamp, uuid } from 'drizzle-orm/pg-core';
+import { relationKey } from './constant/relation-key';
+import { drawers } from './drawers';
+import { users } from './users';
+
+export const lostItems = pgTable('lost_items', {
+ id: uuid('id').primaryKey().defaultRandom(),
+ // TODO: Determine the best json type according to the Google Vision API response.
+ // features: jsonb('features').notNull(),
+ imageUrls: text('image_urls').array().notNull(),
+ drawerId: serial('drawer_id').references(() => drawers.id),
+ reporterId: uuid('reporter_id')
+ .references(() => users.id)
+ .notNull(),
+ ownerId: uuid('owner_id').references(() => users.id),
+ reportedAt: timestamp('reported_at').notNull().defaultNow(),
+ deliveredAt: timestamp('delivered_at'),
+ retrievedAt: timestamp('retrieved_at'),
+});
+
+export const lostItemsRelations = relations(lostItems, ({ one }) => ({
+ drawer: one(drawers, { fields: [lostItems.drawerId], references: [drawers.id], relationName: relationKey['drawer-and-lost-item'] }),
+ reporter: one(users, { fields: [lostItems.reporterId], references: [users.id], relationName: relationKey['reporter-and-reported-lost-items'] }),
+ owner: one(users, { fields: [lostItems.ownerId], references: [users.id], relationName: relationKey['owner-and-retrieved-lost-items'] }),
+}));
diff --git a/apps/api/src/infra/drizzle/schema/users.ts b/apps/api/src/infra/drizzle/schema/users.ts
new file mode 100644
index 0000000..6285bf0
--- /dev/null
+++ b/apps/api/src/infra/drizzle/schema/users.ts
@@ -0,0 +1,20 @@
+import { relations } from 'drizzle-orm';
+import { pgTable, text, timestamp, uuid } from 'drizzle-orm/pg-core';
+import { relationKey } from './constant/relation-key';
+import { lostAndFoundStateEnum } from './enum/lost-and-found-state';
+import { lostItems } from './lost-items';
+
+export const users = pgTable('users', {
+ id: uuid('id').primaryKey().defaultRandom(),
+ // TODO: Change to varchar as soon as the length of the string is known.
+ authId: text('auth_id').unique().notNull(),
+ // TODO: Change to varchar as soon as the length of the string is known.
+ fingerprintId: text('fingerprint_id').unique(),
+ lostAndFoundState: lostAndFoundStateEnum('lost_and_found_state').notNull().default('NONE'),
+ createdAt: timestamp('created_at').notNull().defaultNow(),
+});
+
+export const usersRelations = relations(users, ({ many }) => ({
+ reportedLostItems: many(lostItems, { relationName: relationKey['reporter-and-reported-lost-items'] }),
+ retrievedLostItems: many(lostItems, { relationName: relationKey['owner-and-retrieved-lost-items'] }),
+}));
diff --git a/apps/api/src/main.ts b/apps/api/src/main.ts
new file mode 100644
index 0000000..d78d8ff
--- /dev/null
+++ b/apps/api/src/main.ts
@@ -0,0 +1,20 @@
+import { Logger } from '@nestjs/common';
+import { NestFactory } from '@nestjs/core';
+import { AppModule } from './app/app.module';
+import { EnvService } from './common/service/env/env.service';
+
+const bootstrap = async () => {
+ const logger = new Logger(bootstrap.name);
+
+ const app = await NestFactory.create(AppModule, {
+ cors: true,
+ });
+
+ const port = app.get(EnvService).Port;
+
+ logger.log(`Locker.ai API is running on port ${port} ๐`);
+
+ await app.listen(port);
+};
+
+bootstrap();
diff --git a/apps/api/src/module/index.ts b/apps/api/src/module/index.ts
new file mode 100644
index 0000000..e426ed4
--- /dev/null
+++ b/apps/api/src/module/index.ts
@@ -0,0 +1,3 @@
+import { UserModule } from './user/user.module';
+
+export const Modules = [UserModule];
diff --git a/apps/api/src/module/user/controller/dto/enum/user-lost-and-found-state.enum.ts b/apps/api/src/module/user/controller/dto/enum/user-lost-and-found-state.enum.ts
new file mode 100644
index 0000000..020c80d
--- /dev/null
+++ b/apps/api/src/module/user/controller/dto/enum/user-lost-and-found-state.enum.ts
@@ -0,0 +1,10 @@
+import { registerEnumType } from '@nestjs/graphql';
+
+// eslint-disable-next-line no-shadow
+export enum UserLostAndFoundStateEnum {
+ NONE = 'NONE',
+ DELIVERING = 'DELIVERING',
+ RETRIEVING = 'RETRIEVING',
+}
+
+registerEnumType(UserLostAndFoundStateEnum, { name: 'UserLostAndFoundState' });
diff --git a/apps/api/src/module/user/controller/dto/input/user-create.input.ts b/apps/api/src/module/user/controller/dto/input/user-create.input.ts
new file mode 100644
index 0000000..7d61f93
--- /dev/null
+++ b/apps/api/src/module/user/controller/dto/input/user-create.input.ts
@@ -0,0 +1,8 @@
+import { Field, InputType } from '@nestjs/graphql';
+import type { User } from '#api/module/user/domain/user.model';
+
+@InputType()
+export class UserCreateInput implements Omit {
+ @Field(() => String, { nullable: false })
+ authId!: string;
+}
diff --git a/apps/api/src/module/user/controller/dto/input/user-where-unique.input.ts b/apps/api/src/module/user/controller/dto/input/user-where-unique.input.ts
new file mode 100644
index 0000000..41255a0
--- /dev/null
+++ b/apps/api/src/module/user/controller/dto/input/user-where-unique.input.ts
@@ -0,0 +1,10 @@
+import { Field, ID, InputType } from '@nestjs/graphql';
+import { IsUUID } from 'class-validator';
+import type { User } from '#api/module/user/domain/user.model';
+
+@InputType()
+export class UserWhereUniqueInput implements Record<'userId', User['id']> {
+ @Field(() => ID, { nullable: false })
+ @IsUUID()
+ userId!: string;
+}
diff --git a/apps/api/src/module/user/controller/dto/object/user.object.ts b/apps/api/src/module/user/controller/dto/object/user.object.ts
new file mode 100644
index 0000000..ae21cbc
--- /dev/null
+++ b/apps/api/src/module/user/controller/dto/object/user.object.ts
@@ -0,0 +1,23 @@
+import { Field, ID, ObjectType } from '@nestjs/graphql';
+import { IsUUID } from 'class-validator';
+import { UserLostAndFoundStateEnum } from '#api/module/user/controller/dto/enum/user-lost-and-found-state.enum';
+import { User } from '#api/module/user/domain/user.model';
+
+@ObjectType(User.name)
+export class UserObject implements User {
+ @Field(() => ID, { nullable: false })
+ @IsUUID()
+ id!: string;
+
+ @Field(() => ID, { nullable: false })
+ authId!: string;
+
+ @Field(() => ID, { nullable: true })
+ fingerprintId!: string | null;
+
+ @Field(() => UserLostAndFoundStateEnum, { nullable: false })
+ lostAndFoundState!: UserLostAndFoundStateEnum;
+
+ @Field(() => Date, { nullable: false })
+ createdAt!: Date;
+}
diff --git a/apps/api/src/module/user/controller/user-mutation.resolver.ts b/apps/api/src/module/user/controller/user-mutation.resolver.ts
new file mode 100644
index 0000000..9fb9567
--- /dev/null
+++ b/apps/api/src/module/user/controller/user-mutation.resolver.ts
@@ -0,0 +1,31 @@
+import { Inject, Logger, ValidationPipe } from '@nestjs/common';
+import { Args, Mutation, Resolver } from '@nestjs/graphql';
+import { InjectionToken } from '#api/common/constant/injection-token';
+import type { User } from '#api/module/user/domain/user.model';
+// TODO: Once this issue is resolved, modify to use `import type` syntax.
+// https://github.com/typescript-eslint/typescript-eslint/issues/5468
+import { type UserUseCaseInterface } from '#api/module/user/use-case/user.use-case';
+import { UserCreateInput } from './dto/input/user-create.input';
+import { UserObject } from './dto/object/user.object';
+
+@Resolver()
+export class UserMutation {
+ private readonly logger = new Logger(UserMutation.name);
+
+ constructor(
+ @Inject(InjectionToken.USER_USE_CASE)
+ private readonly userUseCase: UserUseCaseInterface,
+ ) {}
+
+ @Mutation(() => UserObject)
+ async createUser(
+ @Args('user', { type: () => UserCreateInput }, ValidationPipe)
+ user: UserCreateInput,
+ ): Promise {
+ this.logger.log(`${this.createUser.name} called`);
+
+ const createdUser = await this.userUseCase.createUser(user);
+
+ return createdUser;
+ }
+}
diff --git a/apps/api/src/module/user/controller/user-query.resolver.ts b/apps/api/src/module/user/controller/user-query.resolver.ts
new file mode 100644
index 0000000..11bb990
--- /dev/null
+++ b/apps/api/src/module/user/controller/user-query.resolver.ts
@@ -0,0 +1,31 @@
+import { Inject, Logger, ValidationPipe } from '@nestjs/common';
+import { Args, Query, Resolver } from '@nestjs/graphql';
+import { InjectionToken } from '#api/common/constant/injection-token';
+import type { User } from '#api/module/user/domain/user.model';
+// TODO: Once this issue is resolved, modify to use `import type` syntax.
+// https://github.com/typescript-eslint/typescript-eslint/issues/5468
+import { type UserUseCaseInterface } from '#api/module/user/use-case/user.use-case';
+import { UserWhereUniqueInput } from './dto/input/user-where-unique.input';
+import { UserObject } from './dto/object/user.object';
+
+@Resolver()
+export class UserQuery {
+ private readonly logger = new Logger(UserQuery.name);
+
+ constructor(
+ @Inject(InjectionToken.USER_USE_CASE)
+ private readonly userUseCase: UserUseCaseInterface,
+ ) {}
+
+ @Query(() => UserObject, { nullable: true })
+ async findUser(
+ @Args('where', { type: () => UserWhereUniqueInput }, ValidationPipe)
+ where: UserWhereUniqueInput,
+ ): Promise {
+ this.logger.log(`${this.findUser.name} called`);
+
+ const foundUser = await this.userUseCase.findUser(where.userId);
+
+ return foundUser;
+ }
+}
diff --git a/apps/api/src/module/user/domain/user.model.ts b/apps/api/src/module/user/domain/user.model.ts
new file mode 100644
index 0000000..400fcfc
--- /dev/null
+++ b/apps/api/src/module/user/domain/user.model.ts
@@ -0,0 +1,21 @@
+type UserLostAndFoundState = 'NONE' | 'DELIVERING' | 'RETRIEVING';
+
+export class User {
+ readonly id: string;
+
+ readonly authId: string;
+
+ readonly fingerprintId: string | null;
+
+ readonly lostAndFoundState: UserLostAndFoundState;
+
+ readonly createdAt: Date;
+
+ constructor({ id, authId, fingerprintId, lostAndFoundState, createdAt }: Omit) {
+ this.id = id;
+ this.authId = authId;
+ this.fingerprintId = fingerprintId;
+ this.lostAndFoundState = lostAndFoundState;
+ this.createdAt = createdAt;
+ }
+}
diff --git a/apps/api/src/module/user/repository/impl/user.repository.ts b/apps/api/src/module/user/repository/impl/user.repository.ts
new file mode 100644
index 0000000..4f8a195
--- /dev/null
+++ b/apps/api/src/module/user/repository/impl/user.repository.ts
@@ -0,0 +1,29 @@
+import { Inject, Injectable } from '@nestjs/common';
+import { eq } from 'drizzle-orm';
+import { PG_CONNECTION, type PgConnection } from '#api/infra/drizzle/drizzle.module';
+import { users } from '#api/infra/drizzle/schema';
+import { User } from '#api/module/user/domain/user.model';
+import type { UserRepositoryInterface } from '#api/module/user/repository/user.repository';
+
+@Injectable()
+export class UserRepository implements UserRepositoryInterface {
+ constructor(@Inject(PG_CONNECTION) private readonly conn: PgConnection) {}
+
+ async find(userId: Parameters[0]): Promise {
+ const foundUser = (await this.conn.select().from(users).where(eq(users.id, userId))).at(0);
+ if (foundUser === undefined) {
+ return null;
+ }
+
+ return new User(foundUser);
+ }
+
+ async create(user: Parameters[0]): Promise {
+ const createdUser = (await this.conn.insert(users).values(user).returning()).at(0);
+ if (createdUser === undefined) {
+ throw new Error('Failed to create user');
+ }
+
+ return new User(createdUser);
+ }
+}
diff --git a/apps/api/src/module/user/repository/user.repository.ts b/apps/api/src/module/user/repository/user.repository.ts
new file mode 100644
index 0000000..462e5c5
--- /dev/null
+++ b/apps/api/src/module/user/repository/user.repository.ts
@@ -0,0 +1,6 @@
+import type { User } from '#api/module/user/domain/user.model';
+
+export interface UserRepositoryInterface {
+ find(userId: User['id']): Promise;
+ create(user: Omit): Promise;
+}
diff --git a/apps/api/src/module/user/use-case/impl/user.use-case.ts b/apps/api/src/module/user/use-case/impl/user.use-case.ts
new file mode 100644
index 0000000..51f532f
--- /dev/null
+++ b/apps/api/src/module/user/use-case/impl/user.use-case.ts
@@ -0,0 +1,27 @@
+import { Inject, Injectable } from '@nestjs/common';
+import { InjectionToken } from '#api/common/constant/injection-token';
+import type { User } from '#api/module/user/domain/user.model';
+// TODO: Once this issue is resolved, modify to use `import type` syntax.
+// https://github.com/typescript-eslint/typescript-eslint/issues/5468
+import { type UserRepositoryInterface } from '#api/module/user/repository/user.repository';
+import type { UserUseCaseInterface } from '#api/module/user/use-case/user.use-case';
+
+@Injectable()
+export class UserUseCase implements UserUseCaseInterface {
+ constructor(
+ @Inject(InjectionToken.USER_REPOSITORY)
+ private readonly userRepository: UserRepositoryInterface,
+ ) {}
+
+ async findUser(userId: Parameters[0]): Promise {
+ const foundUser = await this.userRepository.find(userId);
+
+ return foundUser;
+ }
+
+ async createUser(user: Parameters[0]): Promise {
+ const createdUser = await this.userRepository.create(user);
+
+ return createdUser;
+ }
+}
diff --git a/apps/api/src/module/user/use-case/user.use-case.ts b/apps/api/src/module/user/use-case/user.use-case.ts
new file mode 100644
index 0000000..12a0d22
--- /dev/null
+++ b/apps/api/src/module/user/use-case/user.use-case.ts
@@ -0,0 +1,6 @@
+import type { User } from '#api/module/user/domain/user.model';
+
+export interface UserUseCaseInterface {
+ findUser(userId: User['id']): Promise;
+ createUser(user: Omit): Promise;
+}
diff --git a/apps/api/src/module/user/user.module.ts b/apps/api/src/module/user/user.module.ts
new file mode 100644
index 0000000..968285b
--- /dev/null
+++ b/apps/api/src/module/user/user.module.ts
@@ -0,0 +1,17 @@
+import { Module } from '@nestjs/common';
+import { InjectionToken } from '#api/common/constant/injection-token';
+import { UserMutation } from './controller/user-mutation.resolver';
+import { UserQuery } from './controller/user-query.resolver';
+import { UserRepository } from './repository/impl/user.repository';
+import { UserUseCase } from './use-case/impl/user.use-case';
+
+@Module({
+ providers: [
+ { provide: InjectionToken.USER_REPOSITORY, useClass: UserRepository },
+ { provide: InjectionToken.USER_USE_CASE, useClass: UserUseCase },
+ UserQuery,
+ UserMutation,
+ ],
+ exports: [{ provide: InjectionToken.USER_REPOSITORY, useClass: UserRepository }],
+})
+export class UserModule {}
diff --git a/apps/api/tsconfig.build.json b/apps/api/tsconfig.build.json
new file mode 100644
index 0000000..d14e690
--- /dev/null
+++ b/apps/api/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["./drizzle.config.ts", "./*.*js", "**/test/**/*", "**/*.spec.ts"]
+}
diff --git a/apps/api/tsconfig.json b/apps/api/tsconfig.json
new file mode 100644
index 0000000..6ea1f3f
--- /dev/null
+++ b/apps/api/tsconfig.json
@@ -0,0 +1,14 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.node.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/",
+ "paths": {
+ "#api/*": ["./src/*"],
+ "#core/*": ["../../packages/core/*"]
+ }
+ },
+ "include": ["./src/**/*", "./*.*ts"],
+ "exclude": ["**/node_modules/**/*", "./*.*js"]
+}
diff --git a/apps/catalog/.env.example b/apps/catalog/.env.example
new file mode 100644
index 0000000..abbd38b
--- /dev/null
+++ b/apps/catalog/.env.example
@@ -0,0 +1 @@
+CHROMATIC_PROJECT_TOKEN=""
diff --git a/apps/catalog/.eslintignore b/apps/catalog/.eslintignore
new file mode 100644
index 0000000..8433021
--- /dev/null
+++ b/apps/catalog/.eslintignore
@@ -0,0 +1,5 @@
+!.storybook/
+.storybook/static/
+coverage/
+generated/
+node_modules/
diff --git a/apps/catalog/.eslintrc.cjs b/apps/catalog/.eslintrc.cjs
new file mode 100644
index 0000000..db62f50
--- /dev/null
+++ b/apps/catalog/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-react'],
+};
diff --git a/apps/catalog/.gitignore b/apps/catalog/.gitignore
new file mode 100644
index 0000000..c41e5ac
--- /dev/null
+++ b/apps/catalog/.gitignore
@@ -0,0 +1,2 @@
+# auto generated folder
+generated/
diff --git a/apps/catalog/.lintstagedrc.cjs b/apps/catalog/.lintstagedrc.cjs
new file mode 100644
index 0000000..6cf7dae
--- /dev/null
+++ b/apps/catalog/.lintstagedrc.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.{js,ts,tsx}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,tsx,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+ '**/*.{css,scss}': (/** @type {string[]} */ filenames) => `pnpm stylelint --fix ${filenames.join(' --fix ')}`,
+};
diff --git a/apps/catalog/.prettierignore b/apps/catalog/.prettierignore
new file mode 100644
index 0000000..55c4860
--- /dev/null
+++ b/apps/catalog/.prettierignore
@@ -0,0 +1,4 @@
+.storybook/static/
+coverage/
+generated/
+node_modules/
diff --git a/apps/catalog/.prettierrc.cjs b/apps/catalog/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/apps/catalog/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/apps/catalog/.storybook/main.ts b/apps/catalog/.storybook/main.ts
new file mode 100644
index 0000000..fba1ca1
--- /dev/null
+++ b/apps/catalog/.storybook/main.ts
@@ -0,0 +1,51 @@
+import path from 'path';
+import type { StorybookConfig } from '@storybook/nextjs';
+
+const config: StorybookConfig = {
+ addons: ['@storybook/addon-a11y', '@storybook/addon-essentials', '@storybook/addon-styling'],
+ docs: {
+ autodocs: true,
+ },
+ framework: {
+ name: '@storybook/nextjs',
+ options: {},
+ },
+ staticDirs: ['../../website/public'],
+ stories: [
+ {
+ directory: '../../website/src',
+ files: '**/*.story.tsx',
+ titlePrefix: 'website',
+ },
+ {
+ directory: '../../../packages/core',
+ files: '**/*.story.tsx',
+ titlePrefix: 'core',
+ },
+ ],
+ typescript: {
+ reactDocgenTypescriptOptions: {
+ // NOTE: This setting is necessary to recognize JSDoc for components under monorepo.
+ // ref: https://github.com/storybookjs/storybook/issues/21399#issuecomment-1473800791
+ include: ['../../../**/*.tsx'],
+ },
+ },
+ webpackFinal: (webpackConfig) => {
+ const finalConfig: typeof webpackConfig = {
+ ...webpackConfig,
+ resolve: {
+ ...webpackConfig.resolve,
+ alias: {
+ ...webpackConfig.resolve?.alias,
+ '~website': path.resolve(__dirname, '../../website'),
+ '#website': path.resolve(__dirname, '../../website/src'),
+ '#core': path.resolve(__dirname, '../../../packages/core'),
+ },
+ },
+ };
+
+ return finalConfig;
+ },
+};
+
+export default config;
diff --git a/apps/catalog/.storybook/manager.ts b/apps/catalog/.storybook/manager.ts
new file mode 100644
index 0000000..9f3f9c3
--- /dev/null
+++ b/apps/catalog/.storybook/manager.ts
@@ -0,0 +1,6 @@
+import { addons } from '@storybook/addons';
+import { theme } from './theme';
+
+addons.setConfig({
+ theme,
+});
diff --git a/apps/catalog/.storybook/preview.tsx b/apps/catalog/.storybook/preview.tsx
new file mode 100644
index 0000000..9a252e0
--- /dev/null
+++ b/apps/catalog/.storybook/preview.tsx
@@ -0,0 +1,48 @@
+import { Image } from '@lockerai/core/component/image';
+import { ThemeProvider } from '@lockerai/core/component/theme-provider';
+import { firaCode, getFontVariables, notoSans } from '@lockerai/core/font/family';
+import { cn } from '@lockerai/tailwind';
+import { withThemeByDataAttribute } from '@storybook/addon-styling';
+import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
+import type { Preview } from '@storybook/react';
+import React from 'react';
+import './storybook.css';
+
+Image.defaultProps = {
+ unoptimized: true,
+};
+
+const themeDataAttribute = 'data-theme';
+const defaultTheme = 'light';
+
+const preview: Preview = {
+ decorators: [
+ (Story) => (
+
+
+
+ ),
+ // FIXME: I'm trying to add fontFamily to className and load the font by next/font, but oddly enough this does not work correctly.
+ // Probably due to the fact that it work on monorepo.
+ (Story) => (
+
+
+
+ ),
+ withThemeByDataAttribute({
+ attributeName: themeDataAttribute,
+ themes: {
+ light: 'light',
+ dark: 'dark',
+ },
+ defaultTheme: defaultTheme,
+ }),
+ ],
+ parameters: {
+ viewport: {
+ viewports: INITIAL_VIEWPORTS,
+ },
+ },
+};
+
+export default preview;
diff --git a/apps/catalog/.storybook/storybook.css b/apps/catalog/.storybook/storybook.css
new file mode 100644
index 0000000..0836e66
--- /dev/null
+++ b/apps/catalog/.storybook/storybook.css
@@ -0,0 +1 @@
+@import '@lockerai/tailwind/tailwind';
diff --git a/apps/catalog/.storybook/theme.ts b/apps/catalog/.storybook/theme.ts
new file mode 100644
index 0000000..103eba9
--- /dev/null
+++ b/apps/catalog/.storybook/theme.ts
@@ -0,0 +1,31 @@
+import { getBaseUrl } from '@lockerai/core/util/get-base-url';
+import { create } from '@storybook/theming';
+
+const brandLogo = `
+
+`;
+
+export const theme = create({
+ base: 'dark',
+ brandTitle: 'Locker.ai',
+ brandUrl: getBaseUrl({ app: 'website' }).toString(),
+ brandImage: `data:image/svg+xml;base64,${btoa(brandLogo)}`,
+});
diff --git a/apps/catalog/.stylelintignore b/apps/catalog/.stylelintignore
new file mode 100644
index 0000000..55c4860
--- /dev/null
+++ b/apps/catalog/.stylelintignore
@@ -0,0 +1,4 @@
+.storybook/static/
+coverage/
+generated/
+node_modules/
diff --git a/apps/catalog/.stylelintrc.cjs b/apps/catalog/.stylelintrc.cjs
new file mode 100644
index 0000000..bae308b
--- /dev/null
+++ b/apps/catalog/.stylelintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('stylelint').Config} */
+module.exports = {
+ extends: ['@lockerai/stylelint'],
+};
diff --git a/apps/catalog/jest.config.cjs b/apps/catalog/jest.config.cjs
new file mode 100644
index 0000000..354e666
--- /dev/null
+++ b/apps/catalog/jest.config.cjs
@@ -0,0 +1,6 @@
+const config = require('@lockerai/jest/jest.node.cjs');
+
+/** @type {import('jest').Config} */
+module.exports = {
+ ...config,
+};
diff --git a/apps/catalog/package.json b/apps/catalog/package.json
new file mode 100644
index 0000000..8270df8
--- /dev/null
+++ b/apps/catalog/package.json
@@ -0,0 +1,49 @@
+{
+ "name": "@lockerai/catalog",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "module": "nodenext",
+ "scripts": {
+ "lint": "eslint './**/{*.*js,*.*ts,*.*tsx}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts,*.*tsx}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "style": "stylelint ./{,.}**/*.{css,scss}",
+ "style:fix": "stylelint ./{,.}**/*.{css,scss} --fix",
+ "test": "jest --silent=false --verbose false --passWithNoTests",
+ "sb": "storybook dev --port 6006",
+ "sb:build": "storybook build -o ./.storybook/static",
+ "chromatic": "pnpx chromatic --project-token=$CHROMATIC_PROJECT_TOKEN"
+ },
+ "dependencies": {
+ "@lockerai/core": "workspace:*",
+ "@lockerai/design-token": "workspace:*",
+ "@lockerai/tailwind": "workspace:*",
+ "dotenv": "16.3.1",
+ "react": "18.2.0",
+ "react-dom": "18.2.0"
+ },
+ "devDependencies": {
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/postcss": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/stylelint": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@storybook/addon-a11y": "7.5.1",
+ "@storybook/addon-essentials": "7.5.1",
+ "@storybook/addon-styling": "1.3.7",
+ "@storybook/addon-viewport": "7.5.1",
+ "@storybook/addons": "7.5.1",
+ "@storybook/nextjs": "7.5.1",
+ "@storybook/react": "7.5.1",
+ "@storybook/theming": "7.5.1",
+ "@types/react": "18.2.31",
+ "@types/react-dom": "18.2.14",
+ "chromatic": "7.4.0",
+ "eslint-config-lockerai-react": "workspace:*",
+ "storybook": "7.5.1"
+ }
+}
diff --git a/apps/catalog/postcss.config.cjs b/apps/catalog/postcss.config.cjs
new file mode 100644
index 0000000..f832f74
--- /dev/null
+++ b/apps/catalog/postcss.config.cjs
@@ -0,0 +1,3 @@
+module.exports = {
+ ...require('@lockerai/postcss'),
+};
diff --git a/apps/catalog/tailwind.config.ts b/apps/catalog/tailwind.config.ts
new file mode 100644
index 0000000..1a7cb1f
--- /dev/null
+++ b/apps/catalog/tailwind.config.ts
@@ -0,0 +1,8 @@
+import { createConfig } from '@lockerai/tailwind/config';
+
+const config = createConfig((defaultConfig) => ({
+ ...defaultConfig,
+ content: ['./.storybook/**/*.{ts,tsx}', '../../**/*.{ts,tsx}', '!../../**/*.d.ts'],
+}));
+
+export default config;
diff --git a/apps/catalog/tsconfig.build.json b/apps/catalog/tsconfig.build.json
new file mode 100644
index 0000000..1d20c3f
--- /dev/null
+++ b/apps/catalog/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts", "**/*.story.tsx"]
+}
diff --git a/apps/catalog/tsconfig.json b/apps/catalog/tsconfig.json
new file mode 100644
index 0000000..a9afe3e
--- /dev/null
+++ b/apps/catalog/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.nextjs.json",
+ "compilerOptions": {
+ "baseUrl": "./"
+ },
+ "include": ["./*.*js", "./*.*ts", "./**/*.*ts", "./**/*.*tsx", "./.storybook/**/*"],
+ "exclude": ["./.storybook/static/**/*", "**/node_modules/**/*"]
+}
diff --git a/apps/website/.env.example b/apps/website/.env.example
new file mode 100644
index 0000000..63393d6
--- /dev/null
+++ b/apps/website/.env.example
@@ -0,0 +1,3 @@
+NEXT_PUBLIC_GRAPHQL_ENDPOINT="https:///graphql"
+NEXT_PUBLIC_WS_ENDPOINT="wss:///graphql"
+REVALIDATE_TOKEN=""
diff --git a/apps/website/.eslintignore b/apps/website/.eslintignore
new file mode 100644
index 0000000..67461fd
--- /dev/null
+++ b/apps/website/.eslintignore
@@ -0,0 +1,6 @@
+.next/
+.storybook/static/
+coverage/
+generated/
+node_modules/
+graphql.schema.json
diff --git a/apps/website/.eslintrc.cjs b/apps/website/.eslintrc.cjs
new file mode 100644
index 0000000..b9363d0
--- /dev/null
+++ b/apps/website/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-nextjs'],
+};
diff --git a/apps/website/.gitignore b/apps/website/.gitignore
new file mode 100644
index 0000000..9d4c808
--- /dev/null
+++ b/apps/website/.gitignore
@@ -0,0 +1,3 @@
+# auto generated folder
+generated/
+.vercel
diff --git a/apps/website/.lintstagedrc.cjs b/apps/website/.lintstagedrc.cjs
new file mode 100644
index 0000000..6cf7dae
--- /dev/null
+++ b/apps/website/.lintstagedrc.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.{js,ts,tsx}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,tsx,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+ '**/*.{css,scss}': (/** @type {string[]} */ filenames) => `pnpm stylelint --fix ${filenames.join(' --fix ')}`,
+};
diff --git a/apps/website/.prettierignore b/apps/website/.prettierignore
new file mode 100644
index 0000000..67461fd
--- /dev/null
+++ b/apps/website/.prettierignore
@@ -0,0 +1,6 @@
+.next/
+.storybook/static/
+coverage/
+generated/
+node_modules/
+graphql.schema.json
diff --git a/apps/website/.prettierrc.cjs b/apps/website/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/apps/website/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/apps/website/.stylelintignore b/apps/website/.stylelintignore
new file mode 100644
index 0000000..4bbb8cc
--- /dev/null
+++ b/apps/website/.stylelintignore
@@ -0,0 +1,5 @@
+.next/
+.storybook/static/
+coverage/
+generated/
+node_modules/
diff --git a/apps/website/.stylelintrc.cjs b/apps/website/.stylelintrc.cjs
new file mode 100644
index 0000000..bae308b
--- /dev/null
+++ b/apps/website/.stylelintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('stylelint').Config} */
+module.exports = {
+ extends: ['@lockerai/stylelint'],
+};
diff --git a/apps/website/codegen-introspect.ts b/apps/website/codegen-introspect.ts
new file mode 100644
index 0000000..a8271c8
--- /dev/null
+++ b/apps/website/codegen-introspect.ts
@@ -0,0 +1,14 @@
+import type { CodegenConfig } from '@graphql-codegen/cli';
+
+const config: CodegenConfig = {
+ overwrite: true,
+ schema: process.env['NEXT_PUBLIC_GRAPHQL_ENDPOINT'] || 'http://localhost:4000/graphql',
+ documents: ['src/infra/graphql/document/**/*.gql'],
+ generates: {
+ './graphql.schema.json': {
+ plugins: ['introspection'],
+ },
+ },
+};
+
+export default config;
diff --git a/apps/website/codegen.ts b/apps/website/codegen.ts
new file mode 100644
index 0000000..8275041
--- /dev/null
+++ b/apps/website/codegen.ts
@@ -0,0 +1,21 @@
+import type { CodegenConfig } from '@graphql-codegen/cli';
+
+const config: CodegenConfig = {
+ overwrite: true,
+ schema: './graphql.schema.json',
+ documents: ['src/infra/graphql/document/**/*.gql'],
+ generates: {
+ './src/infra/graphql/generated/graphql.ts': {
+ config: {
+ scalars: {
+ DateTime: 'Date',
+ },
+ strictScalars: true,
+ withHooks: false,
+ },
+ plugins: ['typescript', 'typescript-operations', 'typescript-urql'],
+ },
+ },
+};
+
+export default config;
diff --git a/apps/website/graphql.schema.json b/apps/website/graphql.schema.json
new file mode 100644
index 0000000..cb1b835
--- /dev/null
+++ b/apps/website/graphql.schema.json
@@ -0,0 +1,1323 @@
+{
+ "__schema": {
+ "queryType": {
+ "name": "Query"
+ },
+ "mutationType": {
+ "name": "Mutation"
+ },
+ "subscriptionType": null,
+ "types": [
+ {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "description": "The `Boolean` scalar type represents `true` or `false`.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "description": "A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "ID",
+ "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Mutation",
+ "description": null,
+ "fields": [
+ {
+ "name": "createUser",
+ "description": null,
+ "args": [
+ {
+ "name": "user",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "UserCreateInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "Query",
+ "description": null,
+ "fields": [
+ {
+ "name": "findUser",
+ "description": null,
+ "args": [
+ {
+ "name": "where",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "UserWhereUniqueInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "SCALAR",
+ "name": "String",
+ "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "User",
+ "description": null,
+ "fields": [
+ {
+ "name": "authId",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "createdAt",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "DateTime",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "fingerprintId",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "id",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "lostAndFoundState",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "UserLostAndFoundState",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "UserCreateInput",
+ "description": null,
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "authId",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "UserLostAndFoundState",
+ "description": null,
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "DELIVERING",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "NONE",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "RETRIEVING",
+ "description": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "INPUT_OBJECT",
+ "name": "UserWhereUniqueInput",
+ "description": null,
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "userId",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "__Directive",
+ "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",
+ "fields": [
+ {
+ "name": "name",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "description",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "isRepeatable",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "locations",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "__DirectiveLocation",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "args",
+ "description": null,
+ "args": [
+ {
+ "name": "includeDeprecated",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__InputValue",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "__DirectiveLocation",
+ "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "QUERY",
+ "description": "Location adjacent to a query operation.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "MUTATION",
+ "description": "Location adjacent to a mutation operation.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SUBSCRIPTION",
+ "description": "Location adjacent to a subscription operation.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "FIELD",
+ "description": "Location adjacent to a field.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "FRAGMENT_DEFINITION",
+ "description": "Location adjacent to a fragment definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "FRAGMENT_SPREAD",
+ "description": "Location adjacent to a fragment spread.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INLINE_FRAGMENT",
+ "description": "Location adjacent to an inline fragment.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "VARIABLE_DEFINITION",
+ "description": "Location adjacent to a variable definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SCHEMA",
+ "description": "Location adjacent to a schema definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SCALAR",
+ "description": "Location adjacent to a scalar definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "OBJECT",
+ "description": "Location adjacent to an object type definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "FIELD_DEFINITION",
+ "description": "Location adjacent to a field definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ARGUMENT_DEFINITION",
+ "description": "Location adjacent to an argument definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INTERFACE",
+ "description": "Location adjacent to an interface definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UNION",
+ "description": "Location adjacent to a union definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ENUM",
+ "description": "Location adjacent to an enum definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ENUM_VALUE",
+ "description": "Location adjacent to an enum value definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INPUT_OBJECT",
+ "description": "Location adjacent to an input object type definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INPUT_FIELD_DEFINITION",
+ "description": "Location adjacent to an input object field definition.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "__EnumValue",
+ "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",
+ "fields": [
+ {
+ "name": "name",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "description",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "isDeprecated",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "deprecationReason",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "__Field",
+ "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",
+ "fields": [
+ {
+ "name": "name",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "description",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "args",
+ "description": null,
+ "args": [
+ {
+ "name": "includeDeprecated",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__InputValue",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "type",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "isDeprecated",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "deprecationReason",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "__InputValue",
+ "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",
+ "fields": [
+ {
+ "name": "name",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "description",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "type",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "defaultValue",
+ "description": "A GraphQL-formatted string representing the default value for this input value.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "isDeprecated",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "deprecationReason",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "__Schema",
+ "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",
+ "fields": [
+ {
+ "name": "description",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "types",
+ "description": "A list of all types supported by this server.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "queryType",
+ "description": "The type that query operations will be rooted at.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "mutationType",
+ "description": "If this server supports mutation, the type that mutation operations will be rooted at.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "subscriptionType",
+ "description": "If this server support subscription, the type that subscription operations will be rooted at.",
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "directives",
+ "description": "A list of all directives supported by this server.",
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Directive",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",
+ "fields": [
+ {
+ "name": "kind",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "__TypeKind",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "description",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "specifiedByURL",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "fields",
+ "description": null,
+ "args": [
+ {
+ "name": "includeDeprecated",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Field",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "interfaces",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "possibleTypes",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "enumValues",
+ "description": null,
+ "args": [
+ {
+ "name": "includeDeprecated",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__EnumValue",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "inputFields",
+ "description": null,
+ "args": [
+ {
+ "name": "includeDeprecated",
+ "description": null,
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "__InputValue",
+ "ofType": null
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ofType",
+ "description": null,
+ "args": [],
+ "type": {
+ "kind": "OBJECT",
+ "name": "__Type",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
+ "name": "__TypeKind",
+ "description": "An enum describing what kind of type a given `__Type` is.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "SCALAR",
+ "description": "Indicates this type is a scalar.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "OBJECT",
+ "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INTERFACE",
+ "description": "Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UNION",
+ "description": "Indicates this type is a union. `possibleTypes` is a valid field.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "ENUM",
+ "description": "Indicates this type is an enum. `enumValues` is a valid field.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "INPUT_OBJECT",
+ "description": "Indicates this type is an input object. `inputFields` is a valid field.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "LIST",
+ "description": "Indicates this type is a list. `ofType` is a valid field.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "NON_NULL",
+ "description": "Indicates this type is a non-null. `ofType` is a valid field.",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ }
+ ],
+ "directives": [
+ {
+ "name": "deprecated",
+ "description": "Marks an element of a GraphQL schema as no longer supported.",
+ "isRepeatable": false,
+ "locations": [
+ "ARGUMENT_DEFINITION",
+ "ENUM_VALUE",
+ "FIELD_DEFINITION",
+ "INPUT_FIELD_DEFINITION"
+ ],
+ "args": [
+ {
+ "name": "reason",
+ "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": "\"No longer supported\"",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ]
+ },
+ {
+ "name": "include",
+ "description": "Directs the executor to include this field or fragment only when the `if` argument is true.",
+ "isRepeatable": false,
+ "locations": [
+ "FIELD",
+ "FRAGMENT_SPREAD",
+ "INLINE_FRAGMENT"
+ ],
+ "args": [
+ {
+ "name": "if",
+ "description": "Included when true.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "defaultValue": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ]
+ },
+ {
+ "name": "skip",
+ "description": "Directs the executor to skip this field or fragment when the `if` argument is true.",
+ "isRepeatable": false,
+ "locations": [
+ "FIELD",
+ "FRAGMENT_SPREAD",
+ "INLINE_FRAGMENT"
+ ],
+ "args": [
+ {
+ "name": "if",
+ "description": "Skipped when true.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ }
+ },
+ "defaultValue": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ]
+ },
+ {
+ "name": "specifiedBy",
+ "description": "Exposes a URL that specifies the behavior of this scalar.",
+ "isRepeatable": false,
+ "locations": [
+ "SCALAR"
+ ],
+ "args": [
+ {
+ "name": "url",
+ "description": "The URL that specifies the behavior of this scalar.",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null,
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ]
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/apps/website/jest.config.cjs b/apps/website/jest.config.cjs
new file mode 100644
index 0000000..b31295a
--- /dev/null
+++ b/apps/website/jest.config.cjs
@@ -0,0 +1,10 @@
+/** @type {(overrideConfig: import('jest').Config) => Promise} */
+const createConfig = require('@lockerai/jest/jest.nextjs.cjs');
+
+module.exports = createConfig({
+ moduleNameMapper: {
+ '^~website/(.*)$': '/$1',
+ '^#website/(.*)$': '/src/$1',
+ '^#core/(.*)$': '/../../packages/core/$1',
+ },
+});
diff --git a/apps/website/next-env.d.ts b/apps/website/next-env.d.ts
new file mode 100644
index 0000000..4f11a03
--- /dev/null
+++ b/apps/website/next-env.d.ts
@@ -0,0 +1,5 @@
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/apps/website/next.config.mjs b/apps/website/next.config.mjs
new file mode 100644
index 0000000..ef4be5e
--- /dev/null
+++ b/apps/website/next.config.mjs
@@ -0,0 +1,10 @@
+/** @type {import('next').NextConfig} */
+const config = {
+ experimental: {
+ typedRoutes: true,
+ },
+ reactStrictMode: true,
+ transpilePackages: ['@lockerai/core'],
+};
+
+export default config;
diff --git a/apps/website/package.json b/apps/website/package.json
new file mode 100644
index 0000000..3efaf96
--- /dev/null
+++ b/apps/website/package.json
@@ -0,0 +1,55 @@
+{
+ "name": "@lockerai/website",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "module": "nodenext",
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint",
+ "lint:fix": "next lint --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "style": "stylelint ./**/*.{css,scss}",
+ "style:fix": "stylelint ./**/*.{css,scss} --fix",
+ "test": "jest --silent=false --verbose false --passWithNoTests",
+ "gql:introspect": "graphql-codegen --config codegen-introspect.ts -r dotenv/config"
+ },
+ "dependencies": {
+ "@lockerai/core": "workspace:*",
+ "@lockerai/design-token": "workspace:*",
+ "@lockerai/tailwind": "workspace:*",
+ "@lockerai/urql": "workspace:*",
+ "dotenv": "16.3.1",
+ "framer-motion": "10.16.4",
+ "graphql-tag": "2.12.6",
+ "next": "13.5.6",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "schema-dts": "1.1.2",
+ "sharp": "0.32.6",
+ "ts-pattern": "5.0.5"
+ },
+ "devDependencies": {
+ "@graphql-codegen/cli": "5.0.0",
+ "@graphql-codegen/introspection": "4.0.0",
+ "@graphql-codegen/typescript": "4.0.1",
+ "@graphql-codegen/typescript-operations": "4.0.1",
+ "@graphql-codegen/typescript-urql": "4.0.0",
+ "@graphql-codegen/urql-introspection": "3.0.0",
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/postcss": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/stylelint": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@lockerai/type": "workspace:*",
+ "@storybook/react": "7.5.1",
+ "@types/react": "18.2.31",
+ "@types/react-dom": "18.2.14",
+ "eslint-config-lockerai-nextjs": "workspace:*"
+ }
+}
diff --git a/apps/website/postcss.config.cjs b/apps/website/postcss.config.cjs
new file mode 100644
index 0000000..f832f74
--- /dev/null
+++ b/apps/website/postcss.config.cjs
@@ -0,0 +1,3 @@
+module.exports = {
+ ...require('@lockerai/postcss'),
+};
diff --git a/apps/website/public/.gitkeep b/apps/website/public/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/apps/website/src/app/apple-icon.png b/apps/website/src/app/apple-icon.png
new file mode 100644
index 0000000..14e7cce
Binary files /dev/null and b/apps/website/src/app/apple-icon.png differ
diff --git a/apps/website/src/app/favicon.ico b/apps/website/src/app/favicon.ico
new file mode 100644
index 0000000..078f075
Binary files /dev/null and b/apps/website/src/app/favicon.ico differ
diff --git a/apps/website/src/app/icon.png b/apps/website/src/app/icon.png
new file mode 100644
index 0000000..445665d
Binary files /dev/null and b/apps/website/src/app/icon.png differ
diff --git a/apps/website/src/app/json-ld.ts b/apps/website/src/app/json-ld.ts
new file mode 100644
index 0000000..93adb64
--- /dev/null
+++ b/apps/website/src/app/json-ld.ts
@@ -0,0 +1,35 @@
+import { getBaseUrl } from '@lockerai/core/util/get-base-url';
+import type { WebApplication, WithContext } from 'schema-dts';
+
+export const jsonLd: WithContext = {
+ '@context': 'https://schema.org',
+ '@type': 'WebApplication',
+ '@id': getBaseUrl({ app: 'website' }).toString(),
+ applicationCategory: ['LifestyleApplication', 'SecurityApplication', 'UtilitiesApplication'],
+ applicationSubCategory: ['LostAndFound'],
+ browserRequirements: 'Requires JavaScript. Requires HTML5.',
+ description: 'Locker.ai is a service that uses a unique AI-driven authentication mechanism to safely report and retrieve lost items.',
+ featureList: ['Search for lost items', 'Register lost items'],
+ genre: ['Lifestyle', 'Security', 'Utilities', 'Lost and Found'],
+ image: `${getBaseUrl({ app: 'website' })}/ogp.png`,
+ inLanguage: 'en',
+ license: 'https://creativecommons.org/licenses/by/4.0',
+ maintainer: {
+ '@type': 'Organization',
+ name: 'NITIC PBL P8',
+ url: 'https://github.com/nitic-pbl-p8',
+ },
+ name: 'Locker.ai',
+ offers: {
+ '@type': 'Offer',
+ price: '0',
+ },
+ provider: {
+ '@type': 'Organization',
+ name: 'NITIC PBL P8',
+ url: 'https://github.com/nitic-pbl-p8',
+ },
+ // TODO: Take a screenshot of the /dashboard page and publish it.
+ screenshot: '',
+ url: getBaseUrl({ app: 'website' }).toString(),
+};
diff --git a/apps/website/src/app/layout.tsx b/apps/website/src/app/layout.tsx
new file mode 100644
index 0000000..d5772cb
--- /dev/null
+++ b/apps/website/src/app/layout.tsx
@@ -0,0 +1,63 @@
+import { ThemeProvider } from '@lockerai/core/component/theme-provider';
+import { firaCode, getFontVariables, notoSans } from '@lockerai/core/font/family';
+import { getBaseUrl } from '@lockerai/core/util/get-base-url';
+import { colors } from '@lockerai/design-token';
+import { cn } from '@lockerai/tailwind';
+import type { Metadata, NextPage } from 'next';
+import type { ReactNode } from 'react';
+import { Footer } from '#website/common/component/footer';
+import { Header } from '#website/common/component/header';
+import '#website/style/global.css';
+
+type RootLayoutProps = {
+ children: ReactNode;
+};
+
+const RootLayout: NextPage = ({ children }) => (
+
+
+
+
+
+
+ {children}
+
+
+
+
+);
+
+export default RootLayout;
+
+export const generateMetadata = async (): Promise => {
+ const title = 'Locker.ai | deliver, store, retrieve lost items securely';
+ const description = 'Locker.ai is a service that uses a unique AI-driven authentication mechanism to safely report and retrieve lost items.';
+
+ return {
+ description,
+ metadataBase: getBaseUrl({ app: 'website' }),
+ openGraph: {
+ title,
+ description,
+ locale: 'en_US',
+ url: getBaseUrl({ app: 'website' }),
+ },
+ themeColor: [
+ { media: '(prefers-color-scheme: light)', color: colors.light.green['7'] },
+ { media: '(prefers-color-scheme: dark)', color: colors.dark.green['7'] },
+ ],
+ title: {
+ default: title,
+ template: '%s | Locker.ai',
+ },
+ twitter: {
+ card: 'summary_large_image',
+ },
+ };
+};
diff --git a/apps/website/src/app/opengraph-image.png b/apps/website/src/app/opengraph-image.png
new file mode 100644
index 0000000..145a29d
Binary files /dev/null and b/apps/website/src/app/opengraph-image.png differ
diff --git a/apps/website/src/app/page.tsx b/apps/website/src/app/page.tsx
new file mode 100644
index 0000000..be8d368
--- /dev/null
+++ b/apps/website/src/app/page.tsx
@@ -0,0 +1,12 @@
+import type { NextPage } from 'next';
+import { HeroSection } from '#website/module/introduction/ui/page/hero-section';
+import { jsonLd } from './json-ld';
+
+const RootPage: NextPage = () => (
+ <>
+
+
+ >
+);
+
+export default RootPage;
diff --git a/apps/website/src/app/report/page.tsx b/apps/website/src/app/report/page.tsx
new file mode 100644
index 0000000..6c736b9
--- /dev/null
+++ b/apps/website/src/app/report/page.tsx
@@ -0,0 +1,5 @@
+import type { NextPage } from 'next';
+
+const ReportPage: NextPage = () => null;
+
+export default ReportPage;
diff --git a/apps/website/src/app/robots.ts b/apps/website/src/app/robots.ts
new file mode 100644
index 0000000..87be549
--- /dev/null
+++ b/apps/website/src/app/robots.ts
@@ -0,0 +1,13 @@
+import { getBaseUrl } from '@lockerai/core/util/get-base-url';
+import type { MetadataRoute } from 'next';
+
+const robots = (): MetadataRoute.Robots => ({
+ rules: {
+ userAgent: '*',
+ allow: '/',
+ disallow: ['/api', '/_next'],
+ },
+ sitemap: `${getBaseUrl({ app: 'website' }).toString()}/sitemap.xml`,
+});
+
+export default robots;
diff --git a/apps/website/src/app/search/page.tsx b/apps/website/src/app/search/page.tsx
new file mode 100644
index 0000000..3c4d568
--- /dev/null
+++ b/apps/website/src/app/search/page.tsx
@@ -0,0 +1,5 @@
+import type { NextPage } from 'next';
+
+const SearchPage: NextPage = () => null;
+
+export default SearchPage;
diff --git a/apps/website/src/app/sitemap.ts b/apps/website/src/app/sitemap.ts
new file mode 100644
index 0000000..872b674
--- /dev/null
+++ b/apps/website/src/app/sitemap.ts
@@ -0,0 +1,11 @@
+import { getBaseUrl } from '@lockerai/core/util/get-base-url';
+import type { MetadataRoute } from 'next';
+
+const sitemap = (): MetadataRoute.Sitemap => [
+ {
+ url: getBaseUrl({ app: 'website' }).toString(),
+ lastModified: new Date(),
+ },
+];
+
+export default sitemap;
diff --git a/apps/website/src/app/template.tsx b/apps/website/src/app/template.tsx
new file mode 100644
index 0000000..6dbda5c
--- /dev/null
+++ b/apps/website/src/app/template.tsx
@@ -0,0 +1,11 @@
+import { PageTransitionAnimation } from '@lockerai/core/component/page-transition-animation';
+import type { NextPage } from 'next';
+import type { ReactNode } from 'react';
+
+type RootTemplateProps = {
+ children: ReactNode;
+};
+
+const RootTemplate: NextPage = ({ children }) => {children};
+
+export default RootTemplate;
diff --git a/apps/website/src/common/component/footer/footer.presenter.tsx b/apps/website/src/common/component/footer/footer.presenter.tsx
new file mode 100644
index 0000000..f9d7a33
--- /dev/null
+++ b/apps/website/src/common/component/footer/footer.presenter.tsx
@@ -0,0 +1,58 @@
+import { BrandLogo } from '@lockerai/core/component/brand-logo';
+import { Link } from '@lockerai/core/component/link';
+import { ExternalLinkIcon } from '@lockerai/core/icon/external-link-icon';
+import { cn } from '@lockerai/tailwind';
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { ThemeSwitch } from '#website/common/component/theme-switch';
+
+type NavigationLinkProps = ComponentPropsWithoutRef;
+
+const NavigationLink = ({ className, children, ...props }: NavigationLinkProps): ReactNode => (
+
+ {children}
+
+);
+
+type FooterProps = Omit, 'children' | 'className'>;
+
+export const Footer = ({ ...props }: FooterProps): ReactNode => (
+
+);
diff --git a/apps/website/src/common/component/footer/footer.story.tsx b/apps/website/src/common/component/footer/footer.story.tsx
new file mode 100644
index 0000000..a47ab78
--- /dev/null
+++ b/apps/website/src/common/component/footer/footer.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { Footer } from './footer.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: Footer,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/apps/website/src/common/component/footer/index.ts b/apps/website/src/common/component/footer/index.ts
new file mode 100644
index 0000000..5805898
--- /dev/null
+++ b/apps/website/src/common/component/footer/index.ts
@@ -0,0 +1 @@
+export { Footer } from './footer.presenter';
diff --git a/apps/website/src/common/component/header/header.container.tsx b/apps/website/src/common/component/header/header.container.tsx
new file mode 100644
index 0000000..4bfa5b4
--- /dev/null
+++ b/apps/website/src/common/component/header/header.container.tsx
@@ -0,0 +1,22 @@
+'use client';
+
+import { cn } from '@lockerai/tailwind';
+import { usePathname } from 'next/navigation';
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { Header as HeaderPresenter } from './header.presenter';
+
+export type HeaderProps = Omit, 'className'>;
+
+export const Header = ({ ...props }: HeaderProps): ReactNode => {
+ const pathname = usePathname();
+
+ return (
+
+ );
+};
diff --git a/apps/website/src/common/component/header/header.presenter.tsx b/apps/website/src/common/component/header/header.presenter.tsx
new file mode 100644
index 0000000..55c3717
--- /dev/null
+++ b/apps/website/src/common/component/header/header.presenter.tsx
@@ -0,0 +1,28 @@
+import { BrandIcon } from '@lockerai/core/component/brand-icon';
+import { BrandLogo } from '@lockerai/core/component/brand-logo';
+import { Button } from '@lockerai/core/component/button';
+import { Link } from '@lockerai/core/component/link';
+import { cn } from '@lockerai/tailwind';
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+export type HeaderProps = Omit, 'children'>;
+
+export const Header = ({ className, ...props }: HeaderProps): ReactNode => (
+
+
+ Locker.ai
+
+
+
+
+
+
+
+);
diff --git a/apps/website/src/common/component/header/header.story.tsx b/apps/website/src/common/component/header/header.story.tsx
new file mode 100644
index 0000000..a6eadf1
--- /dev/null
+++ b/apps/website/src/common/component/header/header.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { Header } from './header.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: Header,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/apps/website/src/common/component/header/index.ts b/apps/website/src/common/component/header/index.ts
new file mode 100644
index 0000000..db81539
--- /dev/null
+++ b/apps/website/src/common/component/header/index.ts
@@ -0,0 +1 @@
+export { Header } from './header.container';
diff --git a/apps/website/src/common/component/theme-switch/index.ts b/apps/website/src/common/component/theme-switch/index.ts
new file mode 100644
index 0000000..20a3f0a
--- /dev/null
+++ b/apps/website/src/common/component/theme-switch/index.ts
@@ -0,0 +1 @@
+export { ThemeSwitch } from './theme-switch.presenter';
diff --git a/apps/website/src/common/component/theme-switch/theme-switch.presenter.tsx b/apps/website/src/common/component/theme-switch/theme-switch.presenter.tsx
new file mode 100644
index 0000000..8d33286
--- /dev/null
+++ b/apps/website/src/common/component/theme-switch/theme-switch.presenter.tsx
@@ -0,0 +1,62 @@
+'use client';
+
+import { useTheme } from '@lockerai/core/component/theme-provider';
+import { ComputerIcon } from '@lockerai/core/icon/computer-icon';
+import { MoonIcon } from '@lockerai/core/icon/moon-icon';
+import { SunIcon } from '@lockerai/core/icon/sun-icon';
+import { cn } from '@lockerai/tailwind';
+import { type ComponentPropsWithoutRef, useEffect, useState } from 'react';
+
+type ThemeSwitchProps = Omit, 'children' | 'className' | 'onValueChange' | 'value'>;
+
+export const ThemeSwitch = ({ ...props }: ThemeSwitchProps) => {
+ const [mounted, setMounted] = useState(false);
+ const { theme, setTheme } = useTheme();
+
+ useEffect(() => {
+ setMounted(true);
+ }, []);
+
+ return (
+
+
+
+
+
+ );
+};
diff --git a/apps/website/src/common/component/theme-switch/theme-switch.story.tsx b/apps/website/src/common/component/theme-switch/theme-switch.story.tsx
new file mode 100644
index 0000000..f1b11cc
--- /dev/null
+++ b/apps/website/src/common/component/theme-switch/theme-switch.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { ThemeSwitch } from './theme-switch.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: ThemeSwitch,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/apps/website/src/infra/graphql/document/find-user.gql b/apps/website/src/infra/graphql/document/find-user.gql
new file mode 100644
index 0000000..bd793b5
--- /dev/null
+++ b/apps/website/src/infra/graphql/document/find-user.gql
@@ -0,0 +1,9 @@
+query ExampleQuery($where: UserWhereUniqueInput!) {
+ findUser(where: $where) {
+ authId
+ createdAt
+ fingerprintId
+ id
+ lostAndFoundState
+ }
+}
diff --git a/apps/website/src/infra/urql/index.ts b/apps/website/src/infra/urql/index.ts
new file mode 100644
index 0000000..ce886f5
--- /dev/null
+++ b/apps/website/src/infra/urql/index.ts
@@ -0,0 +1,7 @@
+import { getBaseUrl } from '@lockerai/core/util/get-base-url';
+import { registerUrql } from '@lockerai/urql';
+import schema from '~website/graphql.schema.json';
+
+const { getClient } = registerUrql(schema, getBaseUrl({ app: 'api' }).toString(), getBaseUrl({ app: 'api-ws' }).toString());
+
+export const urqlClient = getClient();
diff --git a/apps/website/src/module/introduction/ui/page/hero-section/hero-section.presenter.tsx b/apps/website/src/module/introduction/ui/page/hero-section/hero-section.presenter.tsx
new file mode 100644
index 0000000..cabffed
--- /dev/null
+++ b/apps/website/src/module/introduction/ui/page/hero-section/hero-section.presenter.tsx
@@ -0,0 +1,102 @@
+'use client';
+
+import { BrandLogo } from '@lockerai/core/component/brand-logo';
+import { LinkButton } from '@lockerai/core/component/link-button';
+import { motion } from 'framer-motion';
+import { type ComponentPropsWithoutRef, type ReactNode, useState } from 'react';
+
+type HeroSectionProps = Omit, 'children' | 'className'>;
+
+export const HeroSection = ({ ...props }: HeroSectionProps): ReactNode => {
+ const [isLogoAnimated, setIsLogoAnimated] = useState(false);
+
+ return (
+
+
+
+
+ Locker.ai
+ setIsLogoAnimated(true)}
+ className="h-auto w-[84vw] drop-shadow-xl laptop:h-40 desktop:h-52"
+ />
+
+ {isLogoAnimated && (
+
+
+
+ deliver,
+
+ store,
+
+ retrieve
+
+ Lost items
+
+ Securely.
+
+ )}
+
+
+
+ I found
+
+
+ I lost
+
+
+
+
+ );
+};
diff --git a/apps/website/src/module/introduction/ui/page/hero-section/hero-section.story.tsx b/apps/website/src/module/introduction/ui/page/hero-section/hero-section.story.tsx
new file mode 100644
index 0000000..9947caf
--- /dev/null
+++ b/apps/website/src/module/introduction/ui/page/hero-section/hero-section.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { HeroSection } from './hero-section.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: HeroSection,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/apps/website/src/module/introduction/ui/page/hero-section/index.ts b/apps/website/src/module/introduction/ui/page/hero-section/index.ts
new file mode 100644
index 0000000..ed9dcea
--- /dev/null
+++ b/apps/website/src/module/introduction/ui/page/hero-section/index.ts
@@ -0,0 +1 @@
+export { HeroSection } from './hero-section.presenter';
diff --git a/apps/website/src/style/global.css b/apps/website/src/style/global.css
new file mode 100644
index 0000000..0836e66
--- /dev/null
+++ b/apps/website/src/style/global.css
@@ -0,0 +1 @@
+@import '@lockerai/tailwind/tailwind';
diff --git a/apps/website/tailwind.config.ts b/apps/website/tailwind.config.ts
new file mode 100644
index 0000000..aa0d82c
--- /dev/null
+++ b/apps/website/tailwind.config.ts
@@ -0,0 +1,8 @@
+import { createConfig } from '@lockerai/tailwind/config';
+
+const config = createConfig((defaultConfig) => ({
+ ...defaultConfig,
+ content: ['./src/**/*.{ts,tsx}', '../../packages/**/*.{ts,tsx}'],
+}));
+
+export default config;
diff --git a/apps/website/tsconfig.build.json b/apps/website/tsconfig.build.json
new file mode 100644
index 0000000..1d20c3f
--- /dev/null
+++ b/apps/website/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts", "**/*.story.tsx"]
+}
diff --git a/apps/website/tsconfig.json b/apps/website/tsconfig.json
new file mode 100644
index 0000000..78ac715
--- /dev/null
+++ b/apps/website/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.nextjs.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "paths": {
+ "~website/*": ["./*"],
+ "#website/*": ["./src/*"],
+ "#core/*": ["../../packages/core/*"],
+ "#markdown/*": ["../../packages/markdown/*"]
+ }
+ },
+ "include": ["./src/**/*", "./*.*js", "./*.*ts", ".next/types/**/*.*ts", ".next/types/**/*.ts"],
+ "exclude": ["**/node_modules/**/*"]
+}
diff --git a/docker/Dockerfile.development b/docker/Dockerfile.development
new file mode 100644
index 0000000..5d4c7de
--- /dev/null
+++ b/docker/Dockerfile.development
@@ -0,0 +1,15 @@
+ARG NODE_VERSION=18
+
+FROM node:${NODE_VERSION}
+
+# hadolint ignore=DL3008
+RUN apt-get update \
+ && apt-get --no-install-recommends -y install gnupg2 ca-certificates \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists \
+ && yarn global add pnpm
+
+WORKDIR /workspaces/lockerai/
+
+COPY ./ ./
+RUN pnpm install --frozen-lockfile
diff --git a/docker/api/Dockerfile.production b/docker/api/Dockerfile.production
new file mode 100644
index 0000000..5ac45eb
--- /dev/null
+++ b/docker/api/Dockerfile.production
@@ -0,0 +1,34 @@
+ARG PORT
+ARG NODE_VERSION=18
+ARG TURBO_TEAM
+ARG TURBO_TOKEN
+
+FROM alpine:3 as alpine
+
+FROM node:${NODE_VERSION}-slim AS builder
+ENV TURBO_TEAM=${TURBO_TEAM}
+ENV TURBO_TOKEN=${TURBO_TOKEN}
+
+WORKDIR /lockerai/
+
+RUN yarn global add pnpm
+
+COPY ./ ./
+RUN pnpm install --frozen-lockfile
+# hadolint ignore=DL3059
+RUN pnpm turbo --filter='@lockerai/api' build
+
+FROM gcr.io/distroless/nodejs:${NODE_VERSION} AS runner
+ENV NODE_ENV=production
+
+WORKDIR /lockerai/
+
+COPY --chown=nonroot:nonroot --from=builder /lockerai/node_modules/ ./node_modules/
+COPY --chown=nonroot:nonroot --from=builder /lockerai/apps/api/node_modules/ ./apps/api/node_modules/
+COPY --chown=nonroot:nonroot --from=builder /lockerai/apps/api/dist/ ./apps/api/dist/
+
+WORKDIR /lockerai/apps/api/
+
+USER nonroot
+EXPOSE ${PORT}
+CMD ["./dist/main.js"]
diff --git a/docker/docker-compose.development.yaml b/docker/docker-compose.development.yaml
new file mode 100644
index 0000000..c6d955c
--- /dev/null
+++ b/docker/docker-compose.development.yaml
@@ -0,0 +1,22 @@
+name: lockerai
+
+version: "3.8"
+
+services:
+ app:
+ container_name: lockerai-app
+ build:
+ context: ../
+ dockerfile: ./docker/Dockerfile.development
+ volumes:
+ - type: bind
+ source: ../
+ target: /workspaces/lockerai/
+ - type: volume
+ source: pnpm-store
+ target: /workspaces/lockerai/.pnpm-store/
+ tty: true
+
+volumes:
+ pnpm-store:
+ driver: local
diff --git a/graphql.config.json b/graphql.config.json
new file mode 100644
index 0000000..804c680
--- /dev/null
+++ b/graphql.config.json
@@ -0,0 +1,8 @@
+{
+ "projects": {
+ "website": {
+ "schema": ["./apps/website/graphql.schema.json"],
+ "documents": ["./apps/website/src/infra/graphql/document/**/*.gql"]
+ }
+ }
+}
diff --git a/lockerai.code-workspace b/lockerai.code-workspace
new file mode 100644
index 0000000..b2e975c
--- /dev/null
+++ b/lockerai.code-workspace
@@ -0,0 +1,8 @@
+{
+ "folders": [
+ {
+ "name": "lockerai",
+ "path": "."
+ }
+ ]
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..a484765
--- /dev/null
+++ b/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "lockerai",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "engines": {
+ "node": ">=18.0.0 <19",
+ "pnpm": ">=8.0.0"
+ },
+ "packageManager": "pnpm@8.9.2",
+ "volta": {
+ "node": "18.18.2",
+ "pnpm": "8.9.2"
+ },
+ "scripts": {
+ "prepare": "husky install",
+ "all": "pnpm --filter @lockerai/*",
+ "api": "pnpm --filter @lockerai/api",
+ "catalog": "pnpm --filter @lockerai/catalog",
+ "website": "pnpm --filter @lockerai/website"
+ },
+ "devDependencies": {
+ "@types/eslint": "8.44.6",
+ "@types/jest": "29.5.6",
+ "@types/node": "20.8.7",
+ "cross-env": "7.0.3",
+ "dotenv-cli": "7.3.0",
+ "eslint": "8.52.0",
+ "husky": "8.0.3",
+ "jest": "29.7.0",
+ "lint-staged": "15.0.2",
+ "prettier": "3.0.3",
+ "rimraf": "5.0.5",
+ "stylelint": "15.11.0",
+ "supabase": "1.106.1",
+ "ts-jest": "29.1.1",
+ "ts-node": "10.9.1",
+ "turbo": "1.10.16",
+ "typescript": "5.2.2"
+ }
+}
diff --git a/packages/core/.eslintignore b/packages/core/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/core/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/core/.eslintrc.cjs b/packages/core/.eslintrc.cjs
new file mode 100644
index 0000000..db62f50
--- /dev/null
+++ b/packages/core/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-react'],
+};
diff --git a/packages/core/.gitignore b/packages/core/.gitignore
new file mode 100644
index 0000000..c41e5ac
--- /dev/null
+++ b/packages/core/.gitignore
@@ -0,0 +1,2 @@
+# auto generated folder
+generated/
diff --git a/packages/core/.lintstagedrc.cjs b/packages/core/.lintstagedrc.cjs
new file mode 100644
index 0000000..6cf7dae
--- /dev/null
+++ b/packages/core/.lintstagedrc.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.{js,ts,tsx}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,tsx,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+ '**/*.{css,scss}': (/** @type {string[]} */ filenames) => `pnpm stylelint --fix ${filenames.join(' --fix ')}`,
+};
diff --git a/packages/core/.prettierignore b/packages/core/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/core/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/core/.prettierrc.cjs b/packages/core/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/core/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/core/asset/asset.d.ts b/packages/core/asset/asset.d.ts
new file mode 100644
index 0000000..06bd672
--- /dev/null
+++ b/packages/core/asset/asset.d.ts
@@ -0,0 +1,9 @@
+declare module '*.png';
+declare module '*.svg';
+declare module '*.jpg';
+declare module '*.jpeg';
+declare module '*.gif';
+declare module '*.webp';
+declare module '*.avif';
+declare module '*.ico';
+declare module '*.bmp';
diff --git a/packages/core/asset/brand/brand-logo-dark.png b/packages/core/asset/brand/brand-logo-dark.png
new file mode 100644
index 0000000..430aa26
Binary files /dev/null and b/packages/core/asset/brand/brand-logo-dark.png differ
diff --git a/packages/core/asset/brand/brand-logo-light.png b/packages/core/asset/brand/brand-logo-light.png
new file mode 100644
index 0000000..31f84e4
Binary files /dev/null and b/packages/core/asset/brand/brand-logo-light.png differ
diff --git a/packages/core/component/brand-icon/brand-icon.presenter.tsx b/packages/core/component/brand-icon/brand-icon.presenter.tsx
new file mode 100644
index 0000000..9af3aad
--- /dev/null
+++ b/packages/core/component/brand-icon/brand-icon.presenter.tsx
@@ -0,0 +1,34 @@
+'use client';
+
+import { type ComponentPropsWithoutRef, type ElementRef, type ReactNode, forwardRef, useId } from 'react';
+
+type BrandIconProps = Omit, 'children'>;
+
+export const BrandIcon = forwardRef, Omit>(({ ...props }, ref): ReactNode => {
+ const maskId = useId();
+
+ return (
+
+ );
+});
+
+BrandIcon.displayName = BrandIcon.name;
diff --git a/packages/core/component/brand-icon/brand-icon.story.tsx b/packages/core/component/brand-icon/brand-icon.story.tsx
new file mode 100644
index 0000000..5cf07a4
--- /dev/null
+++ b/packages/core/component/brand-icon/brand-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { BrandIcon } from './brand-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: BrandIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/component/brand-icon/index.ts b/packages/core/component/brand-icon/index.ts
new file mode 100644
index 0000000..6a187c3
--- /dev/null
+++ b/packages/core/component/brand-icon/index.ts
@@ -0,0 +1 @@
+export { BrandIcon } from './brand-icon.presenter';
diff --git a/packages/core/component/brand-logo/brand-logo-primitive.presenter.tsx b/packages/core/component/brand-logo/brand-logo-primitive.presenter.tsx
new file mode 100644
index 0000000..b38dc38
--- /dev/null
+++ b/packages/core/component/brand-logo/brand-logo-primitive.presenter.tsx
@@ -0,0 +1,42 @@
+'use client';
+
+import { type ComponentPropsWithoutRef, type ReactNode, useId } from 'react';
+
+type BrandLogoPrimitiveProps = Omit, 'children'>;
+
+export const BrandLogoPrimitive = ({ ...props }: BrandLogoPrimitiveProps): ReactNode => {
+ const maskId = useId();
+
+ return (
+
+ );
+};
diff --git a/packages/core/component/brand-logo/brand-logo-with-animation.presenter.tsx b/packages/core/component/brand-logo/brand-logo-with-animation.presenter.tsx
new file mode 100644
index 0000000..86bf89f
--- /dev/null
+++ b/packages/core/component/brand-logo/brand-logo-with-animation.presenter.tsx
@@ -0,0 +1,85 @@
+'use client';
+
+import { motion } from 'framer-motion';
+import { type ComponentPropsWithoutRef, type ReactNode, useId } from 'react';
+
+type BrandLogoWithAnimationProps = Omit, 'children'> & {
+ onAnimationComplete?: ComponentPropsWithoutRef['onAnimationComplete'];
+};
+
+export const BrandLogoWithAnimation = ({ onAnimationComplete, ...props }: BrandLogoWithAnimationProps): ReactNode => {
+ const maskId = useId();
+
+ return (
+
+ );
+};
diff --git a/packages/core/component/brand-logo/brand-logo.presenter.tsx b/packages/core/component/brand-logo/brand-logo.presenter.tsx
new file mode 100644
index 0000000..c626068
--- /dev/null
+++ b/packages/core/component/brand-logo/brand-logo.presenter.tsx
@@ -0,0 +1,12 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { BrandLogoPrimitive } from './brand-logo-primitive.presenter';
+import { BrandLogoWithAnimation } from './brand-logo-with-animation.presenter';
+
+type BrandLogoProps = {
+ withAnimate?: T;
+} & T extends true
+ ? { withAnimate?: T } & ComponentPropsWithoutRef
+ : { withAnimate?: T } & ComponentPropsWithoutRef;
+
+export const BrandLogo = ({ withAnimate, ...props }: BrandLogoProps): ReactNode =>
+ withAnimate ? : ;
diff --git a/packages/core/component/brand-logo/brand-logo.story.tsx b/packages/core/component/brand-logo/brand-logo.story.tsx
new file mode 100644
index 0000000..ea58da4
--- /dev/null
+++ b/packages/core/component/brand-logo/brand-logo.story.tsx
@@ -0,0 +1,25 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { BrandLogo } from './brand-logo.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: BrandLogo,
+ argTypes: {
+ withAnimate: {
+ description: 'Whether to animate the logo.',
+ control: 'boolean',
+ },
+ },
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {
+ render: () => ,
+};
+
+export const WithAnimation: Story = {
+ ...Default,
+ render: () => ,
+};
diff --git a/packages/core/component/brand-logo/index.ts b/packages/core/component/brand-logo/index.ts
new file mode 100644
index 0000000..639f376
--- /dev/null
+++ b/packages/core/component/brand-logo/index.ts
@@ -0,0 +1 @@
+export { BrandLogo } from './brand-logo.presenter';
diff --git a/packages/core/component/button/button.presenter.tsx b/packages/core/component/button/button.presenter.tsx
new file mode 100644
index 0000000..0e366dd
--- /dev/null
+++ b/packages/core/component/button/button.presenter.tsx
@@ -0,0 +1,41 @@
+import { type VariantProps, cn, tv } from '@lockerai/tailwind';
+import { type ComponentPropsWithoutRef, type ElementRef, type ReactNode, forwardRef } from 'react';
+
+const buttonVariant = tv({
+ variants: {
+ border: {
+ true: 'border-2',
+ },
+ color: {
+ purple: 'border-purple-7 bg-purple-3 text-purple-11 hover:bg-purple-4',
+ cyan: 'border-cyan-7 bg-cyan-3 text-cyan-11 hover:bg-cyan-4',
+ green: 'border-green-7 bg-green-3 text-green-11 hover:bg-green-4',
+ sage: 'border-sage-7 bg-sage-3 text-sage-11 hover:bg-sage-4',
+ },
+ width: {
+ auto: 'w-auto',
+ full: 'w-full',
+ },
+ },
+ defaultVariants: {
+ width: 'auto',
+ },
+});
+
+type ButtonProps = Omit, 'className'> & {
+ variant?: VariantProps;
+};
+
+export const Button = forwardRef, Omit>(
+ ({ variant, children, ...props }, ref): ReactNode => (
+
+ ),
+);
+
+Button.displayName = Button.name;
diff --git a/packages/core/component/button/button.story.tsx b/packages/core/component/button/button.story.tsx
new file mode 100644
index 0000000..fdf48f6
--- /dev/null
+++ b/packages/core/component/button/button.story.tsx
@@ -0,0 +1,31 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { Button } from './button.presenter';
+
+type Story = StoryObj;
+
+const meta: Meta = {
+ component: Button,
+ argTypes: {
+ variant: {
+ description: 'The variant of the this component.',
+ control: {
+ type: 'object',
+ },
+ },
+ },
+};
+
+export default meta;
+
+export const Default: Story = {
+ render: () => (
+
+ ),
+};
diff --git a/packages/core/component/button/index.ts b/packages/core/component/button/index.ts
new file mode 100644
index 0000000..6f6a556
--- /dev/null
+++ b/packages/core/component/button/index.ts
@@ -0,0 +1 @@
+export { Button } from './button.presenter';
diff --git a/packages/core/component/image/image.container.tsx b/packages/core/component/image/image.container.tsx
new file mode 100644
index 0000000..d00e806
--- /dev/null
+++ b/packages/core/component/image/image.container.tsx
@@ -0,0 +1,31 @@
+'use client';
+
+import type { ComponentPropsWithRef, ElementRef } from 'react';
+import { forwardRef, useState } from 'react';
+import { Skeleton } from '#core/component/skeleton';
+import { Image as ImagePresenter } from './image.presenter';
+
+type ImageProps = Omit, 'id' | 'placeholder'> & {
+ skeleton?: Omit, 'children'>;
+};
+
+export const Image = forwardRef, Omit>(({ priority, skeleton, ...props }, ref) => {
+ const [isLoaded, setIsLoaded] = useState();
+
+ const placeholder = priority ? undefined : 'blur';
+
+ return (
+
+ setIsLoaded(false)}
+ onLoadingComplete={() => setIsLoaded(true)}
+ {...props}
+ />
+
+ );
+});
+
+Image.displayName = Image.name;
diff --git a/packages/core/component/image/image.presenter.tsx b/packages/core/component/image/image.presenter.tsx
new file mode 100644
index 0000000..6a313db
--- /dev/null
+++ b/packages/core/component/image/image.presenter.tsx
@@ -0,0 +1,27 @@
+'use client';
+
+import NextImage from 'next/image';
+import { unstable_getImgProps as getImgProps } from 'next/image';
+import type { ComponentPropsWithRef, ElementRef } from 'react';
+import { forwardRef, useMemo } from 'react';
+
+const isImageSourceRemote = (src: string | unknown): src is string => {
+ return typeof src === 'string';
+};
+
+type ImageProps = ComponentPropsWithRef;
+
+export const Image = forwardRef, Omit>(({ src, blurDataURL, ...props }, ref) => {
+ const remoteBlurDataURL = useMemo(() => (isImageSourceRemote(src) ? `/_next/image?url=${encodeURIComponent(src)}&w=8&q=70` : undefined), [src]);
+
+ return ;
+});
+
+Image.displayName = Image.name;
+
+export const getBackgroundImageUrl = ({ ...props }: ImageProps) =>
+ getImgProps(props)
+ .props.srcSet?.split(', ')
+ .map((src) => src.split(' '))
+ .map(([src, width]) => `url(${src}) ${width}`)
+ .join(',');
diff --git a/packages/core/component/image/image.story.tsx b/packages/core/component/image/image.story.tsx
new file mode 100644
index 0000000..f264958
--- /dev/null
+++ b/packages/core/component/image/image.story.tsx
@@ -0,0 +1,20 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import BrandLogoDarkImage from '#core/asset/brand/brand-logo-dark.png';
+import { Image } from './image.presenter';
+
+type Story = StoryObj;
+
+const meta: Meta = {
+ component: Image,
+ argTypes: {},
+};
+
+export default meta;
+
+export const Default: Story = {
+ args: {
+ src: BrandLogoDarkImage,
+ alt: 'The dark brand logo of this website.',
+ width: 640,
+ },
+};
diff --git a/packages/core/component/image/index.ts b/packages/core/component/image/index.ts
new file mode 100644
index 0000000..2234082
--- /dev/null
+++ b/packages/core/component/image/index.ts
@@ -0,0 +1,2 @@
+export { Image } from './image.container';
+export { getBackgroundImageUrl } from './image.presenter';
diff --git a/packages/core/component/link-button/index.ts b/packages/core/component/link-button/index.ts
new file mode 100644
index 0000000..394807f
--- /dev/null
+++ b/packages/core/component/link-button/index.ts
@@ -0,0 +1 @@
+export { LinkButton } from './link-button.presenter';
diff --git a/packages/core/component/link-button/link-button.presenter.tsx b/packages/core/component/link-button/link-button.presenter.tsx
new file mode 100644
index 0000000..0180150
--- /dev/null
+++ b/packages/core/component/link-button/link-button.presenter.tsx
@@ -0,0 +1,45 @@
+import { type VariantProps, cn, tv } from '@lockerai/tailwind';
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { Link } from '#core/component/link';
+
+const linkButtonVariant = tv({
+ variants: {
+ blur: {
+ true: "relative before:absolute before:inset-0 before:-z-10 before:h-full before:w-full before:rounded-xl before:blur-lg before:content-['']",
+ },
+ border: {
+ true: 'border-2',
+ },
+ color: {
+ purple: 'border-purple-7 bg-purple-3 text-purple-11 before:bg-purple-5 hover:bg-purple-4',
+ cyan: 'border-cyan-7 bg-cyan-3 text-cyan-11 before:bg-cyan-5 hover:bg-cyan-4',
+ green: 'border-green-7 bg-green-3 text-green-11 before:bg-green-5 hover:bg-green-4',
+ sage: 'border-sage-7 bg-sage-3 text-sage-11 before:bg-sage-5 hover:bg-sage-4',
+ },
+ width: {
+ auto: 'w-auto',
+ full: 'w-full',
+ },
+ },
+ defaultVariants: {
+ width: 'auto',
+ },
+});
+
+type LinkButtonProps = ComponentPropsWithoutRef & {
+ variant?: VariantProps;
+};
+
+export const LinkButton = ({ variant, children, ...props }: LinkButtonProps): ReactNode => (
+
+ {children}
+
+);
diff --git a/packages/core/component/link-button/link-button.story.tsx b/packages/core/component/link-button/link-button.story.tsx
new file mode 100644
index 0000000..9721743
--- /dev/null
+++ b/packages/core/component/link-button/link-button.story.tsx
@@ -0,0 +1,32 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { LinkButton } from './link-button.presenter';
+
+type Story = StoryObj;
+
+const meta: Meta = {
+ component: LinkButton,
+ argTypes: {
+ variant: {
+ description: 'The variant of the this component.',
+ control: {
+ type: 'object',
+ },
+ },
+ },
+};
+
+export default meta;
+
+export const Default: Story = {
+ render: () => (
+
+ Link Button
+
+ ),
+};
diff --git a/packages/core/component/link/index.ts b/packages/core/component/link/index.ts
new file mode 100644
index 0000000..1d084a4
--- /dev/null
+++ b/packages/core/component/link/index.ts
@@ -0,0 +1 @@
+export { Link } from './link.presenter';
diff --git a/packages/core/component/link/link.presenter.tsx b/packages/core/component/link/link.presenter.tsx
new file mode 100644
index 0000000..c24d622
--- /dev/null
+++ b/packages/core/component/link/link.presenter.tsx
@@ -0,0 +1,22 @@
+import NextLink, { type LinkProps as NextLinkProps } from 'next/link';
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type LinkProps =
+ | (ComponentPropsWithoutRef & NextLinkProps)
+ | (ComponentPropsWithoutRef<'a'> & {
+ external: true;
+ });
+
+export const Link = ({ children, ...props }: LinkProps): ReactNode => {
+ if ('external' in props) {
+ const { external, href, ...anchorProps } = props;
+
+ return (
+
+ {children}
+
+ );
+ }
+
+ return {children};
+};
diff --git a/packages/core/component/link/link.story.tsx b/packages/core/component/link/link.story.tsx
new file mode 100644
index 0000000..e0bd01f
--- /dev/null
+++ b/packages/core/component/link/link.story.tsx
@@ -0,0 +1,29 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { Link } from './link.presenter';
+
+type Story = StoryObj;
+
+const meta: Meta = {
+ component: Link,
+ argTypes: {
+ external: {
+ description: 'If true, only an anchor tag will be rendered instead of `next/link`.',
+ control: {
+ type: 'boolean',
+ },
+ },
+ },
+};
+
+export default meta;
+
+export const Default: Story = {
+ render: () => Link,
+};
+
+export const External: Story = {
+ ...Default,
+ args: {
+ external: true,
+ },
+};
diff --git a/packages/core/component/page-transition-animation/index.ts b/packages/core/component/page-transition-animation/index.ts
new file mode 100644
index 0000000..4c9af2e
--- /dev/null
+++ b/packages/core/component/page-transition-animation/index.ts
@@ -0,0 +1 @@
+export { PageTransitionAnimation } from './page-transition-animation.presenter';
diff --git a/packages/core/component/page-transition-animation/page-transition-animation.presenter.tsx b/packages/core/component/page-transition-animation/page-transition-animation.presenter.tsx
new file mode 100644
index 0000000..cd1158e
--- /dev/null
+++ b/packages/core/component/page-transition-animation/page-transition-animation.presenter.tsx
@@ -0,0 +1,28 @@
+'use client';
+
+import { motion } from 'framer-motion';
+import { usePathname } from 'next/navigation';
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type PageTransitionAnimationProps = ComponentPropsWithoutRef;
+
+export const PageTransitionAnimation = ({ children, ...props }: PageTransitionAnimationProps): ReactNode => {
+ const pathname = usePathname();
+
+ return (
+
+ {children}
+
+ );
+};
diff --git a/packages/core/component/select/index.ts b/packages/core/component/select/index.ts
new file mode 100644
index 0000000..033e0fc
--- /dev/null
+++ b/packages/core/component/select/index.ts
@@ -0,0 +1,8 @@
+export { Select } from './select.presenter';
+export { SelectContent } from './select-content.presenter';
+export { SelectGroup } from './select-group.presenter';
+export { SelectItem } from './select-item.presenter';
+export { SelectLabel } from './select-label.presenter';
+export { SelectSeparator } from './select-separator.presenter';
+export { SelectTrigger } from './select-trigger.presenter';
+export { SelectValue } from './select-value.presenter';
diff --git a/packages/core/component/select/select-content.presenter.tsx b/packages/core/component/select/select-content.presenter.tsx
new file mode 100644
index 0000000..8ceead4
--- /dev/null
+++ b/packages/core/component/select/select-content.presenter.tsx
@@ -0,0 +1,31 @@
+'use client';
+
+import { cn } from '@lockerai/tailwind';
+import * as RadixUiSelect from '@radix-ui/react-select';
+import { type ComponentPropsWithoutRef, type ElementRef, forwardRef } from 'react';
+
+type SelectContentProps = Omit, 'className'>;
+
+export const SelectContent = forwardRef, Omit>(
+ ({ children, position = 'popper', ...props }, ref) => (
+
+
+
+ {children}
+
+
+
+ ),
+);
+
+SelectContent.displayName = RadixUiSelect.Content.displayName;
diff --git a/packages/core/component/select/select-group.presenter.tsx b/packages/core/component/select/select-group.presenter.tsx
new file mode 100644
index 0000000..1a64106
--- /dev/null
+++ b/packages/core/component/select/select-group.presenter.tsx
@@ -0,0 +1,5 @@
+'use client';
+
+import * as RadixUiSelect from '@radix-ui/react-select';
+
+export const SelectGroup = RadixUiSelect.Group;
diff --git a/packages/core/component/select/select-item.presenter.tsx b/packages/core/component/select/select-item.presenter.tsx
new file mode 100644
index 0000000..14c8434
--- /dev/null
+++ b/packages/core/component/select/select-item.presenter.tsx
@@ -0,0 +1,29 @@
+'use client';
+
+import { cn } from '@lockerai/tailwind';
+import * as RadixUiSelect from '@radix-ui/react-select';
+import { type ComponentPropsWithoutRef, type ElementRef, forwardRef } from 'react';
+import { CheckIcon } from '#core/icon/check-icon';
+
+type SelectItemProps = Omit, 'className'>;
+
+export const SelectItem = forwardRef, Omit>(({ children, ...props }, ref) => (
+
+
+
+
+
+
+ {children}
+
+));
+
+SelectItem.displayName = RadixUiSelect.Item.displayName;
diff --git a/packages/core/component/select/select-label.presenter.tsx b/packages/core/component/select/select-label.presenter.tsx
new file mode 100644
index 0000000..5ca718b
--- /dev/null
+++ b/packages/core/component/select/select-label.presenter.tsx
@@ -0,0 +1,12 @@
+'use client';
+
+import * as RadixUiSelect from '@radix-ui/react-select';
+import { type ComponentPropsWithoutRef, type ElementRef, forwardRef } from 'react';
+
+type SelectLabelProps = Omit, 'className'>;
+
+export const SelectLabel = forwardRef, Omit>(({ ...props }, ref) => (
+
+));
+
+SelectLabel.displayName = RadixUiSelect.Label.displayName;
diff --git a/packages/core/component/select/select-separator.presenter.tsx b/packages/core/component/select/select-separator.presenter.tsx
new file mode 100644
index 0000000..3cce5d6
--- /dev/null
+++ b/packages/core/component/select/select-separator.presenter.tsx
@@ -0,0 +1,12 @@
+'use client';
+
+import * as RadixUiSelect from '@radix-ui/react-select';
+import { type ComponentPropsWithoutRef, type ElementRef, forwardRef } from 'react';
+
+type SelectSeparatorProps = Omit, 'children' | 'className'>;
+
+export const SelectSeparator = forwardRef, Omit>(({ ...props }, ref) => (
+
+));
+
+SelectSeparator.displayName = RadixUiSelect.Separator.displayName;
diff --git a/packages/core/component/select/select-trigger.presenter.tsx b/packages/core/component/select/select-trigger.presenter.tsx
new file mode 100644
index 0000000..4292e1b
--- /dev/null
+++ b/packages/core/component/select/select-trigger.presenter.tsx
@@ -0,0 +1,66 @@
+'use client';
+
+import { type VariantProps, cn, tv } from '@lockerai/tailwind';
+import * as RadixUiSelect from '@radix-ui/react-select';
+import { type ComponentPropsWithoutRef, type ElementRef, type ReactNode, forwardRef } from 'react';
+
+const selectTriggerVatiant = tv({
+ variants: {
+ asIcon: {
+ true: 'h-auto w-auto rounded-full p-2',
+ },
+ color: {
+ sage: null,
+ },
+ },
+ defaultVariants: {
+ asIcon: false,
+ },
+ slots: {
+ base: null,
+ icon: null,
+ },
+ compoundSlots: [
+ {
+ slots: [`base`],
+ color: `sage`,
+ className: 'border-sage-6 bg-sage-3 text-sage-12 ring-sage-7 hover:bg-sage-4 focus:border-sage-7',
+ },
+ {
+ slots: [`icon`],
+ color: `sage`,
+ className: 'fill-sage-12',
+ },
+ ],
+});
+
+type SelectTriggerProps = Omit, 'className'> & {
+ icon?: (props: Omit, 'children'>) => ReactNode;
+ variant?: VariantProps;
+};
+
+export const SelectTrigger = forwardRef, Omit>(
+ ({ icon: Icon, variant, children, ...props }, ref) => {
+ const { base, icon } = selectTriggerVatiant({ ...variant });
+
+ return (
+
+ {children}
+ {!variant?.asIcon && (
+ {Icon && }
+ )}
+
+ );
+ },
+);
+
+SelectTrigger.displayName = RadixUiSelect.Trigger.displayName;
diff --git a/packages/core/component/select/select-value.presenter.tsx b/packages/core/component/select/select-value.presenter.tsx
new file mode 100644
index 0000000..b3c86ac
--- /dev/null
+++ b/packages/core/component/select/select-value.presenter.tsx
@@ -0,0 +1,5 @@
+'use client';
+
+import * as RadixUiSelect from '@radix-ui/react-select';
+
+export const SelectValue = RadixUiSelect.Value;
diff --git a/packages/core/component/select/select.presenter.tsx b/packages/core/component/select/select.presenter.tsx
new file mode 100644
index 0000000..e6ff1f4
--- /dev/null
+++ b/packages/core/component/select/select.presenter.tsx
@@ -0,0 +1,5 @@
+'use client';
+
+import * as RadixUiSelect from '@radix-ui/react-select';
+
+export const Select = RadixUiSelect.Root;
diff --git a/packages/core/component/select/select.story.tsx b/packages/core/component/select/select.story.tsx
new file mode 100644
index 0000000..df02981
--- /dev/null
+++ b/packages/core/component/select/select.story.tsx
@@ -0,0 +1,37 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { SelectContent } from './select-content.presenter';
+import { SelectGroup } from './select-group.presenter';
+import { SelectItem } from './select-item.presenter';
+import { SelectLabel } from './select-label.presenter';
+import { SelectTrigger } from './select-trigger.presenter';
+import { SelectValue } from './select-value.presenter';
+import { Select } from './select.presenter';
+
+type Story = StoryObj;
+
+const meta: Meta = {
+ component: Select,
+ argTypes: {},
+};
+
+export default meta;
+
+export const Default: Story = {
+ render: () => (
+
+ ),
+};
diff --git a/packages/core/component/skeleton/index.ts b/packages/core/component/skeleton/index.ts
new file mode 100644
index 0000000..762c7aa
--- /dev/null
+++ b/packages/core/component/skeleton/index.ts
@@ -0,0 +1 @@
+export { Skeleton } from './skeleton.presenter';
diff --git a/packages/core/component/skeleton/skeleton.presenter.tsx b/packages/core/component/skeleton/skeleton.presenter.tsx
new file mode 100644
index 0000000..d4ee6ef
--- /dev/null
+++ b/packages/core/component/skeleton/skeleton.presenter.tsx
@@ -0,0 +1,35 @@
+import { type VariantProps, cn, tv } from '@lockerai/tailwind';
+import type { ComponentPropsWithRef, ElementRef } from 'react';
+import { forwardRef } from 'react';
+
+const skeletonVariant = tv({
+ variants: {
+ 'effect-hidden': {
+ true: 'before:hidden',
+ },
+ },
+ defaultVariants: {
+ 'effect-hidden': false,
+ },
+});
+
+type SkeletonProps = ComponentPropsWithRef<'div'> & {
+ variant?: VariantProps;
+};
+
+export const Skeleton = forwardRef, Omit>(({ variant, className, children, ...props }, ref) => (
+
+ {children}
+
+));
+
+Skeleton.displayName = Skeleton.name;
diff --git a/packages/core/component/skeleton/skeleton.story.tsx b/packages/core/component/skeleton/skeleton.story.tsx
new file mode 100644
index 0000000..d2b0fbb
--- /dev/null
+++ b/packages/core/component/skeleton/skeleton.story.tsx
@@ -0,0 +1,57 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
+import { Skeleton } from './skeleton.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: Skeleton,
+ argTypes: {
+ variant: {
+ description: 'The variant of the this component.',
+ control: {
+ type: 'object',
+ },
+ },
+ },
+} satisfies Meta;
+
+export default meta;
+
+type ChildProps = Omit, 'children' | 'className'>;
+
+const Child = ({ ...props }: ChildProps): ReactNode => (
+
+);
+
+export const Default: Story = {
+ render: ({ ...props }) => (
+
+
+
+ ),
+};
+
+export const EffectHidden: Story = {
+ ...Default,
+ render: ({ ...props }) => (
+
+
+
+ ),
+};
diff --git a/packages/core/component/theme-provider/index.ts b/packages/core/component/theme-provider/index.ts
new file mode 100644
index 0000000..9f41c5c
--- /dev/null
+++ b/packages/core/component/theme-provider/index.ts
@@ -0,0 +1,2 @@
+export { ThemeProvider } from './theme-provider.presenter';
+export { useTheme } from './theme-provider.hook';
diff --git a/packages/core/component/theme-provider/theme-provider.hook.tsx b/packages/core/component/theme-provider/theme-provider.hook.tsx
new file mode 100644
index 0000000..023f144
--- /dev/null
+++ b/packages/core/component/theme-provider/theme-provider.hook.tsx
@@ -0,0 +1,3 @@
+'use client';
+
+export { useTheme } from 'next-themes';
diff --git a/packages/core/component/theme-provider/theme-provider.presenter.tsx b/packages/core/component/theme-provider/theme-provider.presenter.tsx
new file mode 100644
index 0000000..0616656
--- /dev/null
+++ b/packages/core/component/theme-provider/theme-provider.presenter.tsx
@@ -0,0 +1,10 @@
+'use client';
+
+import { ThemeProvider as NextThemesProvider } from 'next-themes';
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type ThemeProviderProps = ComponentPropsWithoutRef;
+
+export const ThemeProvider = ({ children, ...props }: ThemeProviderProps): ReactNode => (
+ {children}
+);
diff --git a/packages/core/font/family.ts b/packages/core/font/family.ts
new file mode 100644
index 0000000..3ec07f2
--- /dev/null
+++ b/packages/core/font/family.ts
@@ -0,0 +1,19 @@
+import { type fonts } from '@lockerai/design-token';
+import type { NextFontWithVariable } from 'next/dist/compiled/@next/font';
+import { Fira_Code, Noto_Sans } from 'next/font/google';
+
+// HACK: Since SWC forces argument properties to be written in literals, fonts cannot be used interchangeably.
+// Therefore, the consistency of variable is only ensured by generics.
+export const firaCode = Fira_Code<(typeof fonts)['fira-code']['variable']>({
+ weight: ['400', '700'],
+ subsets: ['latin'],
+ variable: '--font-fira-code',
+});
+
+export const notoSans = Noto_Sans<(typeof fonts)['noto-sans']['variable']>({
+ weight: ['400', '700', '800', '900'],
+ subsets: ['latin'],
+ variable: '--font-noto-sans',
+});
+
+export const getFontVariables = (fontsWithVariable: NextFontWithVariable[]) => fontsWithVariable.map((font) => font.variable).join(' ');
diff --git a/packages/core/icon/arrow-head-icon/arrow-head-icon.presenter.tsx b/packages/core/icon/arrow-head-icon/arrow-head-icon.presenter.tsx
new file mode 100644
index 0000000..91bf207
--- /dev/null
+++ b/packages/core/icon/arrow-head-icon/arrow-head-icon.presenter.tsx
@@ -0,0 +1,9 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type ArrowHeadIconProps = Omit, 'children'>;
+
+export const ArrowHeadIcon = ({ ...props }: ArrowHeadIconProps): ReactNode => (
+
+);
diff --git a/packages/core/icon/arrow-head-icon/arrow-head-icon.story.tsx b/packages/core/icon/arrow-head-icon/arrow-head-icon.story.tsx
new file mode 100644
index 0000000..fcacca2
--- /dev/null
+++ b/packages/core/icon/arrow-head-icon/arrow-head-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { ArrowHeadIcon } from './arrow-head-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: ArrowHeadIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/arrow-head-icon/index.ts b/packages/core/icon/arrow-head-icon/index.ts
new file mode 100644
index 0000000..c8e6f6f
--- /dev/null
+++ b/packages/core/icon/arrow-head-icon/index.ts
@@ -0,0 +1 @@
+export { ArrowHeadIcon } from './arrow-head-icon.presenter';
diff --git a/packages/core/icon/arrow-rounded-icon/arrow-rounded-icon.presenter.tsx b/packages/core/icon/arrow-rounded-icon/arrow-rounded-icon.presenter.tsx
new file mode 100644
index 0000000..7fb99d8
--- /dev/null
+++ b/packages/core/icon/arrow-rounded-icon/arrow-rounded-icon.presenter.tsx
@@ -0,0 +1,9 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type ArrowRoundedIconProps = Omit, 'children'>;
+
+export const ArrowRoundedIcon = ({ ...props }: ArrowRoundedIconProps): ReactNode => (
+
+);
diff --git a/packages/core/icon/arrow-rounded-icon/arrow-rounded-icon.story.tsx b/packages/core/icon/arrow-rounded-icon/arrow-rounded-icon.story.tsx
new file mode 100644
index 0000000..393f264
--- /dev/null
+++ b/packages/core/icon/arrow-rounded-icon/arrow-rounded-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { ArrowRoundedIcon } from './arrow-rounded-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: ArrowRoundedIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/arrow-rounded-icon/index.ts b/packages/core/icon/arrow-rounded-icon/index.ts
new file mode 100644
index 0000000..b0ccbfe
--- /dev/null
+++ b/packages/core/icon/arrow-rounded-icon/index.ts
@@ -0,0 +1 @@
+export { ArrowRoundedIcon } from './arrow-rounded-icon.presenter';
diff --git a/packages/core/icon/calendar-icon/calendar-icon.presenter.tsx b/packages/core/icon/calendar-icon/calendar-icon.presenter.tsx
new file mode 100644
index 0000000..842e7ca
--- /dev/null
+++ b/packages/core/icon/calendar-icon/calendar-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { FaCalendarDays } from 'react-icons/fa6';
+
+type CalendarIconProps = Omit, 'children'>;
+
+export const CalendarIcon = ({ ...props }: CalendarIconProps): ReactNode => ;
diff --git a/packages/core/icon/calendar-icon/calendar-icon.story.tsx b/packages/core/icon/calendar-icon/calendar-icon.story.tsx
new file mode 100644
index 0000000..6cad65c
--- /dev/null
+++ b/packages/core/icon/calendar-icon/calendar-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { CalendarIcon } from './calendar-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: CalendarIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/calendar-icon/index.ts b/packages/core/icon/calendar-icon/index.ts
new file mode 100644
index 0000000..b6be833
--- /dev/null
+++ b/packages/core/icon/calendar-icon/index.ts
@@ -0,0 +1 @@
+export { CalendarIcon } from './calendar-icon.presenter';
diff --git a/packages/core/icon/check-icon/check-icon.presenter.tsx b/packages/core/icon/check-icon/check-icon.presenter.tsx
new file mode 100644
index 0000000..49f831c
--- /dev/null
+++ b/packages/core/icon/check-icon/check-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { BsCheckLg } from 'react-icons/bs';
+
+type CheckIconProps = Omit, 'children'>;
+
+export const CheckIcon = ({ ...props }: CheckIconProps): ReactNode => ;
diff --git a/packages/core/icon/check-icon/check-icon.story.tsx b/packages/core/icon/check-icon/check-icon.story.tsx
new file mode 100644
index 0000000..4f043c7
--- /dev/null
+++ b/packages/core/icon/check-icon/check-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { CheckIcon } from './check-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: CheckIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/check-icon/index.ts b/packages/core/icon/check-icon/index.ts
new file mode 100644
index 0000000..08b2a55
--- /dev/null
+++ b/packages/core/icon/check-icon/index.ts
@@ -0,0 +1 @@
+export { CheckIcon } from './check-icon.presenter';
diff --git a/packages/core/icon/code-icon/code-icon.presenter.tsx b/packages/core/icon/code-icon/code-icon.presenter.tsx
new file mode 100644
index 0000000..546a271
--- /dev/null
+++ b/packages/core/icon/code-icon/code-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { HiOutlineCode } from 'react-icons/hi';
+
+type CodeIconProps = Omit, 'children'>;
+
+export const CodeIcon = ({ ...props }: CodeIconProps): ReactNode => ;
diff --git a/packages/core/icon/code-icon/code-icon.story.tsx b/packages/core/icon/code-icon/code-icon.story.tsx
new file mode 100644
index 0000000..a0d5acb
--- /dev/null
+++ b/packages/core/icon/code-icon/code-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { CodeIcon } from './code-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: CodeIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/code-icon/index.ts b/packages/core/icon/code-icon/index.ts
new file mode 100644
index 0000000..af1eaf6
--- /dev/null
+++ b/packages/core/icon/code-icon/index.ts
@@ -0,0 +1 @@
+export { CodeIcon } from './code-icon.presenter';
diff --git a/packages/core/icon/color-palette-icon/color-palette-icon.presenter.tsx b/packages/core/icon/color-palette-icon/color-palette-icon.presenter.tsx
new file mode 100644
index 0000000..01fe5c3
--- /dev/null
+++ b/packages/core/icon/color-palette-icon/color-palette-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { IoColorPaletteOutline } from 'react-icons/io5';
+
+type ColorPaletteIconProps = Omit, 'children'>;
+
+export const ColorPaletteIcon = ({ ...props }: ColorPaletteIconProps): ReactNode => ;
diff --git a/packages/core/icon/color-palette-icon/color-palette-icon.story.tsx b/packages/core/icon/color-palette-icon/color-palette-icon.story.tsx
new file mode 100644
index 0000000..3bd64c6
--- /dev/null
+++ b/packages/core/icon/color-palette-icon/color-palette-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { ColorPaletteIcon } from './color-palette-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: ColorPaletteIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/color-palette-icon/index.ts b/packages/core/icon/color-palette-icon/index.ts
new file mode 100644
index 0000000..c382217
--- /dev/null
+++ b/packages/core/icon/color-palette-icon/index.ts
@@ -0,0 +1 @@
+export { ColorPaletteIcon } from './color-palette-icon.presenter';
diff --git a/packages/core/icon/computer-icon/computer-icon.presenter.tsx b/packages/core/icon/computer-icon/computer-icon.presenter.tsx
new file mode 100644
index 0000000..c258fca
--- /dev/null
+++ b/packages/core/icon/computer-icon/computer-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { MdComputer } from 'react-icons/md';
+
+type ComputerIconProps = Omit, 'children'>;
+
+export const ComputerIcon = ({ ...props }: ComputerIconProps): ReactNode => ;
diff --git a/packages/core/icon/computer-icon/computer-icon.story.tsx b/packages/core/icon/computer-icon/computer-icon.story.tsx
new file mode 100644
index 0000000..dab261f
--- /dev/null
+++ b/packages/core/icon/computer-icon/computer-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { ComputerIcon } from './computer-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: ComputerIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/computer-icon/index.ts b/packages/core/icon/computer-icon/index.ts
new file mode 100644
index 0000000..5897d71
--- /dev/null
+++ b/packages/core/icon/computer-icon/index.ts
@@ -0,0 +1 @@
+export { ComputerIcon } from './computer-icon.presenter';
diff --git a/packages/core/icon/discord-icon/discord-icon.presenter.tsx b/packages/core/icon/discord-icon/discord-icon.presenter.tsx
new file mode 100644
index 0000000..31b25ce
--- /dev/null
+++ b/packages/core/icon/discord-icon/discord-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { BsDiscord } from 'react-icons/bs';
+
+type DiscordIconProps = Omit, 'children'>;
+
+export const DiscordIcon = ({ ...props }: DiscordIconProps): ReactNode => ;
diff --git a/packages/core/icon/discord-icon/discord-icon.story.tsx b/packages/core/icon/discord-icon/discord-icon.story.tsx
new file mode 100644
index 0000000..03010e9
--- /dev/null
+++ b/packages/core/icon/discord-icon/discord-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { DiscordIcon } from './discord-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: DiscordIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/discord-icon/index.ts b/packages/core/icon/discord-icon/index.ts
new file mode 100644
index 0000000..529ee77
--- /dev/null
+++ b/packages/core/icon/discord-icon/index.ts
@@ -0,0 +1 @@
+export { DiscordIcon } from './discord-icon.presenter';
diff --git a/packages/core/icon/dot-icon/dot-icon.presenter.tsx b/packages/core/icon/dot-icon/dot-icon.presenter.tsx
new file mode 100644
index 0000000..8513f48
--- /dev/null
+++ b/packages/core/icon/dot-icon/dot-icon.presenter.tsx
@@ -0,0 +1,9 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type DotIconProps = Omit, 'children'>;
+
+export const DotIcon = ({ ...props }: DotIconProps): ReactNode => (
+
+);
diff --git a/packages/core/icon/dot-icon/dot-icon.story.tsx b/packages/core/icon/dot-icon/dot-icon.story.tsx
new file mode 100644
index 0000000..bad9b9c
--- /dev/null
+++ b/packages/core/icon/dot-icon/dot-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { DotIcon } from './dot-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: DotIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/dot-icon/index.ts b/packages/core/icon/dot-icon/index.ts
new file mode 100644
index 0000000..55bbc70
--- /dev/null
+++ b/packages/core/icon/dot-icon/index.ts
@@ -0,0 +1 @@
+export { DotIcon } from './dot-icon.presenter';
diff --git a/packages/core/icon/external-link-icon/external-link-icon.presenter.tsx b/packages/core/icon/external-link-icon/external-link-icon.presenter.tsx
new file mode 100644
index 0000000..89bb7b6
--- /dev/null
+++ b/packages/core/icon/external-link-icon/external-link-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { FiExternalLink } from 'react-icons/fi';
+
+type ExternalLinkIconProps = Omit, 'children'>;
+
+export const ExternalLinkIcon = ({ ...props }: ExternalLinkIconProps): ReactNode => ;
diff --git a/packages/core/icon/external-link-icon/external-link-icon.story.tsx b/packages/core/icon/external-link-icon/external-link-icon.story.tsx
new file mode 100644
index 0000000..ba3f75f
--- /dev/null
+++ b/packages/core/icon/external-link-icon/external-link-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { ExternalLinkIcon } from './external-link-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: ExternalLinkIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/external-link-icon/index.ts b/packages/core/icon/external-link-icon/index.ts
new file mode 100644
index 0000000..38aaa36
--- /dev/null
+++ b/packages/core/icon/external-link-icon/index.ts
@@ -0,0 +1 @@
+export { ExternalLinkIcon } from './external-link-icon.presenter';
diff --git a/packages/core/icon/figma-icon/figma-icon.presenter.tsx b/packages/core/icon/figma-icon/figma-icon.presenter.tsx
new file mode 100644
index 0000000..10b7774
--- /dev/null
+++ b/packages/core/icon/figma-icon/figma-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { FaFigma } from 'react-icons/fa';
+
+type FigmaIconProps = Omit, 'children'>;
+
+export const FigmaIcon = ({ ...props }: FigmaIconProps): ReactNode => ;
diff --git a/packages/core/icon/figma-icon/figma-icon.story.tsx b/packages/core/icon/figma-icon/figma-icon.story.tsx
new file mode 100644
index 0000000..dea5077
--- /dev/null
+++ b/packages/core/icon/figma-icon/figma-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { FigmaIcon } from './figma-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: FigmaIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/figma-icon/index.ts b/packages/core/icon/figma-icon/index.ts
new file mode 100644
index 0000000..a9cc9eb
--- /dev/null
+++ b/packages/core/icon/figma-icon/index.ts
@@ -0,0 +1 @@
+export { FigmaIcon } from './figma-icon.presenter';
diff --git a/packages/core/icon/github-icon/github-icon.presenter.tsx b/packages/core/icon/github-icon/github-icon.presenter.tsx
new file mode 100644
index 0000000..fe97e2b
--- /dev/null
+++ b/packages/core/icon/github-icon/github-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { BsGithub } from 'react-icons/bs';
+
+type GithubIconProps = Omit, 'children'>;
+
+export const GithubIcon = ({ ...props }: GithubIconProps): ReactNode => ;
diff --git a/packages/core/icon/github-icon/github-icon.story.tsx b/packages/core/icon/github-icon/github-icon.story.tsx
new file mode 100644
index 0000000..ef514cd
--- /dev/null
+++ b/packages/core/icon/github-icon/github-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { GithubIcon } from './github-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: GithubIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/github-icon/index.ts b/packages/core/icon/github-icon/index.ts
new file mode 100644
index 0000000..a6831e3
--- /dev/null
+++ b/packages/core/icon/github-icon/index.ts
@@ -0,0 +1 @@
+export { GithubIcon } from './github-icon.presenter';
diff --git a/packages/core/icon/grid-icon/grid-icon.presenter.tsx b/packages/core/icon/grid-icon/grid-icon.presenter.tsx
new file mode 100644
index 0000000..47f2c7f
--- /dev/null
+++ b/packages/core/icon/grid-icon/grid-icon.presenter.tsx
@@ -0,0 +1,9 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type GridIconProps = Omit, 'children'>;
+
+export const GridIcon = ({ ...props }: GridIconProps): ReactNode => (
+
+);
diff --git a/packages/core/icon/grid-icon/grid-icon.story.tsx b/packages/core/icon/grid-icon/grid-icon.story.tsx
new file mode 100644
index 0000000..04ee92c
--- /dev/null
+++ b/packages/core/icon/grid-icon/grid-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { GridIcon } from './grid-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: GridIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/grid-icon/index.ts b/packages/core/icon/grid-icon/index.ts
new file mode 100644
index 0000000..5794890
--- /dev/null
+++ b/packages/core/icon/grid-icon/index.ts
@@ -0,0 +1 @@
+export { GridIcon } from './grid-icon.presenter';
diff --git a/packages/core/icon/insight-icon/index.ts b/packages/core/icon/insight-icon/index.ts
new file mode 100644
index 0000000..c4f2ac1
--- /dev/null
+++ b/packages/core/icon/insight-icon/index.ts
@@ -0,0 +1 @@
+export { InsightIcon } from './insight-icon.presenter';
diff --git a/packages/core/icon/insight-icon/insight-icon.presenter.tsx b/packages/core/icon/insight-icon/insight-icon.presenter.tsx
new file mode 100644
index 0000000..a5b48d1
--- /dev/null
+++ b/packages/core/icon/insight-icon/insight-icon.presenter.tsx
@@ -0,0 +1,11 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type InsightIconProps = Omit, 'children'>;
+
+export const InsightIcon = ({ ...props }: InsightIconProps): ReactNode => (
+
+);
diff --git a/packages/core/icon/insight-icon/insight-icon.story.tsx b/packages/core/icon/insight-icon/insight-icon.story.tsx
new file mode 100644
index 0000000..9f4a361
--- /dev/null
+++ b/packages/core/icon/insight-icon/insight-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { InsightIcon } from './insight-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: InsightIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/instagram-icon/index.ts b/packages/core/icon/instagram-icon/index.ts
new file mode 100644
index 0000000..5cea570
--- /dev/null
+++ b/packages/core/icon/instagram-icon/index.ts
@@ -0,0 +1 @@
+export { InstagramIcon } from './instagram-icon.presenter';
diff --git a/packages/core/icon/instagram-icon/instagram-icon.presenter.tsx b/packages/core/icon/instagram-icon/instagram-icon.presenter.tsx
new file mode 100644
index 0000000..27a682b
--- /dev/null
+++ b/packages/core/icon/instagram-icon/instagram-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { FaInstagram } from 'react-icons/fa';
+
+type InstagramIconProps = Omit, 'children'>;
+
+export const InstagramIcon = ({ ...props }: InstagramIconProps): ReactNode => ;
diff --git a/packages/core/icon/instagram-icon/instagram-icon.story.tsx b/packages/core/icon/instagram-icon/instagram-icon.story.tsx
new file mode 100644
index 0000000..fc28849
--- /dev/null
+++ b/packages/core/icon/instagram-icon/instagram-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { InstagramIcon } from './instagram-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: InstagramIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/mail-icon/index.ts b/packages/core/icon/mail-icon/index.ts
new file mode 100644
index 0000000..f2cb040
--- /dev/null
+++ b/packages/core/icon/mail-icon/index.ts
@@ -0,0 +1 @@
+export { MailIcon } from './mail-icon.presenter';
diff --git a/packages/core/icon/mail-icon/mail-icon.presenter.tsx b/packages/core/icon/mail-icon/mail-icon.presenter.tsx
new file mode 100644
index 0000000..1a8017e
--- /dev/null
+++ b/packages/core/icon/mail-icon/mail-icon.presenter.tsx
@@ -0,0 +1,9 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type MailIconProps = Omit, 'children'>;
+
+export const MailIcon = ({ ...props }: MailIconProps): ReactNode => (
+
+);
diff --git a/packages/core/icon/mail-icon/mail-icon.story.tsx b/packages/core/icon/mail-icon/mail-icon.story.tsx
new file mode 100644
index 0000000..62779df
--- /dev/null
+++ b/packages/core/icon/mail-icon/mail-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { MailIcon } from './mail-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: MailIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/moon-icon/index.ts b/packages/core/icon/moon-icon/index.ts
new file mode 100644
index 0000000..f2b22d5
--- /dev/null
+++ b/packages/core/icon/moon-icon/index.ts
@@ -0,0 +1 @@
+export { MoonIcon } from './moon-icon.presenter';
diff --git a/packages/core/icon/moon-icon/moon-icon.presenter.tsx b/packages/core/icon/moon-icon/moon-icon.presenter.tsx
new file mode 100644
index 0000000..33f902e
--- /dev/null
+++ b/packages/core/icon/moon-icon/moon-icon.presenter.tsx
@@ -0,0 +1,9 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+
+type MoonIconProps = Omit, 'children'>;
+
+export const MoonIcon = ({ ...props }: MoonIconProps): ReactNode => (
+
+);
diff --git a/packages/core/icon/moon-icon/moon-icon.story.tsx b/packages/core/icon/moon-icon/moon-icon.story.tsx
new file mode 100644
index 0000000..8cab4be
--- /dev/null
+++ b/packages/core/icon/moon-icon/moon-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { MoonIcon } from './moon-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: MoonIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/sun-icon/index.ts b/packages/core/icon/sun-icon/index.ts
new file mode 100644
index 0000000..0aa89d1
--- /dev/null
+++ b/packages/core/icon/sun-icon/index.ts
@@ -0,0 +1 @@
+export { SunIcon } from './sun-icon.presenter';
diff --git a/packages/core/icon/sun-icon/sun-icon.presenter.tsx b/packages/core/icon/sun-icon/sun-icon.presenter.tsx
new file mode 100644
index 0000000..6283624
--- /dev/null
+++ b/packages/core/icon/sun-icon/sun-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { BsFillSunFill } from 'react-icons/bs';
+
+type SunIconProps = Omit, 'children'>;
+
+export const SunIcon = ({ ...props }: SunIconProps): ReactNode => ;
diff --git a/packages/core/icon/sun-icon/sun-icon.story.tsx b/packages/core/icon/sun-icon/sun-icon.story.tsx
new file mode 100644
index 0000000..992a457
--- /dev/null
+++ b/packages/core/icon/sun-icon/sun-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { SunIcon } from './sun-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: SunIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/icon/twitter-icon/index.ts b/packages/core/icon/twitter-icon/index.ts
new file mode 100644
index 0000000..b13e184
--- /dev/null
+++ b/packages/core/icon/twitter-icon/index.ts
@@ -0,0 +1 @@
+export { TwitterIcon } from './twitter-icon.presenter';
diff --git a/packages/core/icon/twitter-icon/twitter-icon.presenter.tsx b/packages/core/icon/twitter-icon/twitter-icon.presenter.tsx
new file mode 100644
index 0000000..1d965f3
--- /dev/null
+++ b/packages/core/icon/twitter-icon/twitter-icon.presenter.tsx
@@ -0,0 +1,6 @@
+import type { ComponentPropsWithoutRef, ReactNode } from 'react';
+import { RiTwitterXFill } from 'react-icons/ri';
+
+type TwitterIconProps = Omit, 'children'>;
+
+export const TwitterIcon = ({ ...props }: TwitterIconProps): ReactNode => ;
diff --git a/packages/core/icon/twitter-icon/twitter-icon.story.tsx b/packages/core/icon/twitter-icon/twitter-icon.story.tsx
new file mode 100644
index 0000000..f86e95b
--- /dev/null
+++ b/packages/core/icon/twitter-icon/twitter-icon.story.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/react';
+import { TwitterIcon } from './twitter-icon.presenter';
+
+type Story = StoryObj;
+
+const meta = {
+ component: TwitterIcon,
+ argTypes: {},
+} satisfies Meta;
+
+export default meta;
+
+export const Default: Story = {};
diff --git a/packages/core/jest.config.cjs b/packages/core/jest.config.cjs
new file mode 100644
index 0000000..354e666
--- /dev/null
+++ b/packages/core/jest.config.cjs
@@ -0,0 +1,6 @@
+const config = require('@lockerai/jest/jest.node.cjs');
+
+/** @type {import('jest').Config} */
+module.exports = {
+ ...config,
+};
diff --git a/packages/core/package.json b/packages/core/package.json
new file mode 100644
index 0000000..e9f8bdb
--- /dev/null
+++ b/packages/core/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "@lockerai/core",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "module": "nodenext",
+ "scripts": {
+ "lint": "eslint './**/{*.*js,*.*ts,*.*tsx}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts,*.*tsx}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "test": "jest --silent=false --verbose false --passWithNoTests"
+ },
+ "dependencies": {
+ "@lockerai/design-token": "workspace:*",
+ "@lockerai/tailwind": "workspace:*",
+ "@radix-ui/react-select": "2.0.0",
+ "date-fns": "2.30.0",
+ "date-fns-tz": "2.0.0",
+ "dotenv": "16.3.1",
+ "framer-motion": "10.16.4",
+ "next": "13.5.6",
+ "next-themes": "0.2.1",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-icons": "4.11.0",
+ "ts-pattern": "5.0.5"
+ },
+ "devDependencies": {
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/postcss": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@lockerai/type": "workspace:*",
+ "@storybook/react": "7.5.1",
+ "@types/react": "18.2.31",
+ "@types/react-dom": "18.2.14",
+ "eslint-config-lockerai-react": "workspace:*"
+ }
+}
diff --git a/packages/core/postcss.config.cjs b/packages/core/postcss.config.cjs
new file mode 100644
index 0000000..f832f74
--- /dev/null
+++ b/packages/core/postcss.config.cjs
@@ -0,0 +1,3 @@
+module.exports = {
+ ...require('@lockerai/postcss'),
+};
diff --git a/packages/core/tailwind.config.ts b/packages/core/tailwind.config.ts
new file mode 100644
index 0000000..2eb53c7
--- /dev/null
+++ b/packages/core/tailwind.config.ts
@@ -0,0 +1,8 @@
+import { createConfig } from '@lockerai/tailwind/config';
+
+const config = createConfig((defaultConfig) => ({
+ ...defaultConfig,
+ content: ['./**/*.{ts,tsx}'],
+}));
+
+export default config;
diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json
new file mode 100644
index 0000000..1d20c3f
--- /dev/null
+++ b/packages/core/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts", "**/*.story.tsx"]
+}
diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json
new file mode 100644
index 0000000..2bb7e40
--- /dev/null
+++ b/packages/core/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.react.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "rootDir": "./"
+ },
+ "include": ["./*.*js", "./*.*ts", "./**/*.*ts", "./**/*.*tsx"],
+ "exclude": ["**/node_modules/**/*"]
+}
diff --git a/packages/core/util/change-case.ts b/packages/core/util/change-case.ts
new file mode 100644
index 0000000..58d9144
--- /dev/null
+++ b/packages/core/util/change-case.ts
@@ -0,0 +1,14 @@
+type ChangeCase = (str: string) => string;
+
+export const toTitleCase: ChangeCase = (str) =>
+ str
+ .split('-')
+ .map((word) => word[0]?.toUpperCase() + word.slice(1))
+ .join(' ');
+
+export const toKebabCase: ChangeCase = (str) => str.toLowerCase().replace(/\s/g, '-');
+
+export const toPascalCase: ChangeCase = (str) => {
+ const titleCase = toTitleCase(str);
+ return titleCase[0]?.toUpperCase() + titleCase.slice(1);
+};
diff --git a/packages/core/util/format-date.ts b/packages/core/util/format-date.ts
new file mode 100644
index 0000000..e83c236
--- /dev/null
+++ b/packages/core/util/format-date.ts
@@ -0,0 +1,14 @@
+import { format } from 'date-fns';
+import { utcToZonedTime } from 'date-fns-tz';
+
+type Pattern =
+ | 'yyyy-MM-dd HH:mm:ss'
+ | 'yyyy-MM-dd HH:mm'
+ | 'yyyy-MM-dd'
+ | 'yyyy/MM/dd HH:mm:ss'
+ | 'yyyy/MM/dd HH:mm'
+ | 'yyyy/MM/dd'
+ | 'MMM. dd, yyyy'
+ | 'MMMM dd, yyyy';
+
+export const formatDate = (date: Date, pattern: Pattern) => format(utcToZonedTime(date, 'Asia/Tokyo'), pattern);
diff --git a/packages/core/util/get-base-url.ts b/packages/core/util/get-base-url.ts
new file mode 100644
index 0000000..c3d13b9
--- /dev/null
+++ b/packages/core/util/get-base-url.ts
@@ -0,0 +1,68 @@
+import { match } from 'ts-pattern';
+
+type GetBaseUrlConfig = {
+ app: 'api' | 'api-ws' | 'website';
+};
+
+const getApiBaseUrl = (): URL => {
+ let baseUrl: URL;
+ if (process.env['NEXT_PUBLIC_GRAPHQL_ENDPOINT']) {
+ baseUrl = new URL(process.env['NEXT_PUBLIC_GRAPHQL_ENDPOINT']);
+ } else if (process.env['NODE_ENV'] === 'production') {
+ // TODO: Return the collect base URL.
+ baseUrl = new URL('https://api.locker.ai');
+ } else {
+ baseUrl = new URL(`http://localhost:${process.env['PORT'] || 4000}`);
+ }
+
+ return baseUrl;
+};
+
+const getApiWsBaseUrl = (): URL => {
+ let baseUrl: URL;
+ if (process.env['NEXT_PUBLIC_WS_ENDPOINT']) {
+ baseUrl = new URL(process.env['NEXT_PUBLIC_WS_ENDPOINT']);
+ } else if (process.env['NODE_ENV'] === 'production') {
+ // TODO: Return the collect base URL.
+ baseUrl = new URL('wss://api.locker.ai');
+ } else {
+ baseUrl = new URL(`ws://localhost:${process.env['PORT'] || 4000}`);
+ }
+
+ return baseUrl;
+};
+
+const getWebsiteBaseUrl = (): URL => {
+ let baseUrl: URL;
+ if (process.env['NODE_ENV'] === 'production') {
+ baseUrl = new URL('https://lockerai.vercel.app');
+ } else if (process.env['VERCEL_URL']) {
+ baseUrl = new URL(`https://${process.env['VERCEL_URL']}`);
+ } else {
+ baseUrl = new URL(`http://localhost:${process.env['PORT'] || 3000}`);
+ }
+
+ return baseUrl;
+};
+
+/**
+ * Get the base URL of the app.
+ * @param app The app from which to get the base URL.
+ * @returns The base URL of the app with trailing slash removed.
+ * @example
+ * ```ts
+ * const baseUrl = getBaseUrl({ app: 'api' });
+ * // => https://api.locker.ai
+ * ```
+ */
+export const getBaseUrl = ({ app }: GetBaseUrlConfig): URL => {
+ const baseUrl = match(app)
+ .with('api', () => getApiBaseUrl())
+ .with('api-ws', () => getApiWsBaseUrl())
+ .with('website', () => getWebsiteBaseUrl())
+ .exhaustive();
+
+ baseUrl.pathname = baseUrl.pathname.replace(/\/$/, '');
+
+ return baseUrl;
+};
diff --git a/packages/design-token/.eslintignore b/packages/design-token/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/design-token/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/design-token/.eslintrc.cjs b/packages/design-token/.eslintrc.cjs
new file mode 100644
index 0000000..ed90bd9
--- /dev/null
+++ b/packages/design-token/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-esm'],
+};
diff --git a/packages/design-token/.gitignore b/packages/design-token/.gitignore
new file mode 100644
index 0000000..c41e5ac
--- /dev/null
+++ b/packages/design-token/.gitignore
@@ -0,0 +1,2 @@
+# auto generated folder
+generated/
diff --git a/packages/design-token/.lintstagedrc.cjs b/packages/design-token/.lintstagedrc.cjs
new file mode 100644
index 0000000..6cf7dae
--- /dev/null
+++ b/packages/design-token/.lintstagedrc.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.{js,ts,tsx}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,tsx,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+ '**/*.{css,scss}': (/** @type {string[]} */ filenames) => `pnpm stylelint --fix ${filenames.join(' --fix ')}`,
+};
diff --git a/packages/design-token/.prettierignore b/packages/design-token/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/design-token/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/design-token/.prettierrc.cjs b/packages/design-token/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/design-token/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/design-token/breakpoint.json b/packages/design-token/breakpoint.json
new file mode 100644
index 0000000..9be8af5
--- /dev/null
+++ b/packages/design-token/breakpoint.json
@@ -0,0 +1,18 @@
+{
+ "mobile": {
+ "minWidth": 320,
+ "mediaQuery": "(min-width: 320px)"
+ },
+ "tablet": {
+ "minWidth": 640,
+ "mediaQuery": "(min-width: 640px)"
+ },
+ "laptop": {
+ "minWidth": 1024,
+ "mediaQuery": "(min-width: 1024px)"
+ },
+ "desktop": {
+ "minWidth": 1280,
+ "mediaQuery": "(min-width: 1280px)"
+ }
+}
diff --git a/packages/design-token/color.json b/packages/design-token/color.json
new file mode 100644
index 0000000..aabc607
--- /dev/null
+++ b/packages/design-token/color.json
@@ -0,0 +1,286 @@
+{
+ "light": {
+ "red": {
+ "1": "#fffcfc",
+ "2": "#fff8f8",
+ "3": "#ffefef",
+ "4": "#ffe5e5",
+ "5": "#fdd8d8",
+ "6": "#f9c6c6",
+ "7": "#f3aeaf",
+ "8": "#eb9091",
+ "9": "#e5484d",
+ "10": "#dc3d43",
+ "11": "#cd2b31",
+ "12": "#381316"
+ },
+ "pink": {
+ "1": "#fffcfe",
+ "2": "#fff7fc",
+ "3": "#feeef8",
+ "4": "#fce5f3",
+ "5": "#f9d8ec",
+ "6": "#f3c6e2",
+ "7": "#ecadd4",
+ "8": "#e38ec3",
+ "9": "#d6409f",
+ "10": "#d23197",
+ "11": "#cd1d8d",
+ "12": "#3b0a2a"
+ },
+ "purple": {
+ "1": "#fefcfe",
+ "2": "#fdfaff",
+ "3": "#f9f1fe",
+ "4": "#f3e7fc",
+ "5": "#eddbf9",
+ "6": "#e3ccf4",
+ "7": "#d3b4ed",
+ "8": "#be93e4",
+ "9": "#8e4ec6",
+ "10": "#8445bc",
+ "11": "#793aaf",
+ "12": "#2b0e44"
+ },
+ "blue": {
+ "1": "#fbfdff",
+ "2": "#f5faff",
+ "3": "#edf6ff",
+ "4": "#e1f0ff",
+ "5": "#cee7fe",
+ "6": "#b7d9f8",
+ "7": "#96c7f2",
+ "8": "#5eb0ef",
+ "9": "#0091ff",
+ "10": "#0081f1",
+ "11": "#006adc",
+ "12": "#00254d"
+ },
+ "cyan": {
+ "1": "#fafdfe",
+ "2": "#f2fcfd",
+ "3": "#e7f9fb",
+ "4": "#d8f3f6",
+ "5": "#c4eaef",
+ "6": "#aadee6",
+ "7": "#84cdda",
+ "8": "#3db9cf",
+ "9": "#05a2c2",
+ "10": "#0894b3",
+ "11": "#0c7792",
+ "12": "#04313c"
+ },
+ "green": {
+ "1": "#fbfefc",
+ "2": "#f2fcf5",
+ "3": "#e9f9ee",
+ "4": "#ddf3e4",
+ "5": "#ccebd7",
+ "6": "#b4dfc4",
+ "7": "#92ceac",
+ "8": "#5bb98c",
+ "9": "#30a46c",
+ "10": "#299764",
+ "11": "#18794e",
+ "12": "#153226"
+ },
+ "orange": {
+ "1": "#fefcfb",
+ "2": "#fef8f4",
+ "3": "#fff1e7",
+ "4": "#ffe8d7",
+ "5": "#ffdcc3",
+ "6": "#ffcca7",
+ "7": "#ffb381",
+ "8": "#fa934e",
+ "9": "#f76808",
+ "10": "#ed5f00",
+ "11": "#bd4b00",
+ "12": "#451e11"
+ },
+ "brown": {
+ "1": "#fefdfc",
+ "2": "#fcf9f6",
+ "3": "#f8f1ea",
+ "4": "#f4e9dd",
+ "5": "#efddcc",
+ "6": "#e8cdb5",
+ "7": "#ddb896",
+ "8": "#d09e72",
+ "9": "#ad7f58",
+ "10": "#a07653",
+ "11": "#886349",
+ "12": "#3f2c22"
+ },
+ "amber": {
+ "1": "#fefdfb",
+ "2": "#fff9ed",
+ "3": "#fff4d5",
+ "4": "#ffecbc",
+ "5": "#ffe3a2",
+ "6": "#ffd386",
+ "7": "#f3ba63",
+ "8": "#ee9d2b",
+ "9": "#ffb224",
+ "10": "#ffa01c",
+ "11": "#ad5700",
+ "12": "#4e2009"
+ },
+ "sage": {
+ "1": "#fbfdfc",
+ "2": "#f8faf9",
+ "3": "#f1f4f3",
+ "4": "#ecefed",
+ "5": "#e6e9e8",
+ "6": "#dfe4e2",
+ "7": "#d7dcda",
+ "8": "#c2c9c6",
+ "9": "#8a918e",
+ "10": "#808784",
+ "11": "#6a716e",
+ "12": "#111c18"
+ }
+ },
+ "dark": {
+ "red": {
+ "1": "#1f1315",
+ "2": "#291415",
+ "3": "#3c181a",
+ "4": "#481a1d",
+ "5": "#541b1f",
+ "6": "#671e22",
+ "7": "#822025",
+ "8": "#aa2429",
+ "9": "#e5484d",
+ "10": "#f2555a",
+ "11": "#ff6369",
+ "12": "#feecee"
+ },
+ "pink": {
+ "1": "#1f121b",
+ "2": "#271421",
+ "3": "#3a182f",
+ "4": "#451a37",
+ "5": "#501b3f",
+ "6": "#601d48",
+ "7": "#7a1d5a",
+ "8": "#a71873",
+ "9": "#d6409f",
+ "10": "#e34ba9",
+ "11": "#f65cb6",
+ "12": "#feebf7"
+ },
+ "purple": {
+ "1": "#1b141d",
+ "2": "#221527",
+ "3": "#301a3a",
+ "4": "#3a1e48",
+ "5": "#432155",
+ "6": "#4e2667",
+ "7": "#5f2d84",
+ "8": "#7938b2",
+ "9": "#8e4ec6",
+ "10": "#9d5bd2",
+ "11": "#bf7af0",
+ "12": "#f7ecfc"
+ },
+ "blue": {
+ "1": "#0f1720",
+ "2": "#0f1b2d",
+ "3": "#10243e",
+ "4": "#102a4c",
+ "5": "#0f3058",
+ "6": "#0d3868",
+ "7": "#0a4481",
+ "8": "#0954a5",
+ "9": "#0091ff",
+ "10": "#369eff",
+ "11": "#52a9ff",
+ "12": "#eaf6ff"
+ },
+ "cyan": {
+ "1": "#07191d",
+ "2": "#061e24",
+ "3": "#072830",
+ "4": "#07303b",
+ "5": "#073844",
+ "6": "#064150",
+ "7": "#045063",
+ "8": "#00647d",
+ "9": "#05a2c2",
+ "10": "#00b1cc",
+ "11": "#00c2d7",
+ "12": "#e1f8fa"
+ },
+ "green": {
+ "1": "#0d1912",
+ "2": "#0c1f17",
+ "3": "#0f291e",
+ "4": "#113123",
+ "5": "#133929",
+ "6": "#164430",
+ "7": "#1b543a",
+ "8": "#236e4a",
+ "9": "#30a46c",
+ "10": "#3cb179",
+ "11": "#4cc38a",
+ "12": "#e5fbeb"
+ },
+ "orange": {
+ "1": "#1f1206",
+ "2": "#2b1400",
+ "3": "#391a03",
+ "4": "#441f04",
+ "5": "#4f2305",
+ "6": "#5f2a06",
+ "7": "#763205",
+ "8": "#943e00",
+ "9": "#f76808",
+ "10": "#ff802b",
+ "11": "#ff8b3e",
+ "12": "#feeadd"
+ },
+ "brown": {
+ "1": "#1a1513",
+ "2": "#221813",
+ "3": "#2e201a",
+ "4": "#36261e",
+ "5": "#3e2d22",
+ "6": "#493528",
+ "7": "#5c4332",
+ "8": "#775940",
+ "9": "#ad7f58",
+ "10": "#bd8b60",
+ "11": "#dba16e",
+ "12": "#faf0e5"
+ },
+ "amber": {
+ "1": "#1f1300",
+ "2": "#271700",
+ "3": "#341c00",
+ "4": "#3f2200",
+ "5": "#4a2900",
+ "6": "#573300",
+ "7": "#693f05",
+ "8": "#824e00",
+ "9": "#ffb224",
+ "10": "#ffcb47",
+ "11": "#f1a10d",
+ "12": "#fef3dd"
+ },
+ "sage": {
+ "1": "#141716",
+ "2": "#191d1b",
+ "3": "#1f2421",
+ "4": "#252a27",
+ "5": "#2a2f2c",
+ "6": "#303633",
+ "7": "#393f3c",
+ "8": "#4a524e",
+ "9": "#66736d",
+ "10": "#75817b",
+ "11": "#99a29e",
+ "12": "#eceeed"
+ }
+ }
+}
diff --git a/packages/design-token/index.ts b/packages/design-token/index.ts
new file mode 100644
index 0000000..6b863a6
--- /dev/null
+++ b/packages/design-token/index.ts
@@ -0,0 +1,75 @@
+import type { DeepReadonly } from '@lockerai/type';
+import breakpointTokens from './breakpoint.json';
+import colorTokens from './color.json';
+
+export const breakpoints = breakpointTokens;
+
+const whiteScale = {
+ DEFAULT: 'rgba(255, 255, 255, 1.000)',
+ 1: 'rgba(255, 255, 255, 0.000)',
+ 2: 'rgba(255, 255, 255, 0.013)',
+ 3: 'rgba(255, 255, 255, 0.034)',
+ 4: 'rgba(255, 255, 255, 0.056)',
+ 5: 'rgba(255, 255, 255, 0.086)',
+ 6: 'rgba(255, 255, 255, 0.124)',
+ 7: 'rgba(255, 255, 255, 0.176)',
+ 8: 'rgba(255, 255, 255, 0.249)',
+ 9: 'rgba(255, 255, 255, 0.386)',
+ 10: 'rgba(255, 255, 255, 0.446)',
+ 11: 'rgba(255, 255, 255, 0.592)',
+ 12: 'rgba(255, 255, 255, 0.923)',
+};
+
+const blackScale = {
+ DEFAULT: 'rgba(0, 0, 0, 1.000)',
+ 1: 'rgba(0, 0, 0, 0.012)',
+ 2: 'rgba(0, 0, 0, 0.027)',
+ 3: 'rgba(0, 0, 0, 0.047)',
+ 4: 'rgba(0, 0, 0, 0.071)',
+ 5: 'rgba(0, 0, 0, 0.090)',
+ 6: 'rgba(0, 0, 0, 0.114)',
+ 7: 'rgba(0, 0, 0, 0.141)',
+ 8: 'rgba(0, 0, 0, 0.220)',
+ 9: 'rgba(0, 0, 0, 0.439)',
+ 10: 'rgba(0, 0, 0, 0.478)',
+ 11: 'rgba(0, 0, 0, 0.565)',
+ 12: 'rgba(0, 0, 0, 0.910)',
+};
+
+export const colors = {
+ transparent: 'transparent',
+ light: {
+ ...colorTokens.light,
+ pure: {
+ ...whiteScale,
+ },
+ },
+ dark: {
+ ...colorTokens.dark,
+ pure: {
+ ...blackScale,
+ },
+ },
+};
+
+type Fonts = Record<
+ string,
+ {
+ weight: `${number}`[];
+ subsets: string[];
+ variable: `--${string}`;
+ }
+>;
+
+export const fonts = {
+ 'fira-code': {
+ weight: ['400', '700'],
+ subsets: ['latin'],
+ variable: '--font-fira-code',
+ },
+ 'noto-sans': {
+ weight: ['400', '700', '800', '900'],
+ subsets: ['latin'],
+ variable: '--font-noto-sans',
+ },
+} as const satisfies DeepReadonly;
diff --git a/packages/design-token/jest.config.cjs b/packages/design-token/jest.config.cjs
new file mode 100644
index 0000000..354e666
--- /dev/null
+++ b/packages/design-token/jest.config.cjs
@@ -0,0 +1,6 @@
+const config = require('@lockerai/jest/jest.node.cjs');
+
+/** @type {import('jest').Config} */
+module.exports = {
+ ...config,
+};
diff --git a/packages/design-token/package.json b/packages/design-token/package.json
new file mode 100644
index 0000000..773ac0c
--- /dev/null
+++ b/packages/design-token/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "@lockerai/design-token",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "lint": "eslint './**/{*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "test": "jest --silent=false --verbose false --passWithNoTests"
+ },
+ "devDependencies": {
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/stylelint": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@lockerai/type": "workspace:*",
+ "eslint-config-lockerai-esm": "workspace:*"
+ }
+}
diff --git a/packages/design-token/tsconfig.build.json b/packages/design-token/tsconfig.build.json
new file mode 100644
index 0000000..1d20c3f
--- /dev/null
+++ b/packages/design-token/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts", "**/*.story.tsx"]
+}
diff --git a/packages/design-token/tsconfig.json b/packages/design-token/tsconfig.json
new file mode 100644
index 0000000..42cb479
--- /dev/null
+++ b/packages/design-token/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.esm.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist",
+ "rootDir": "./"
+ },
+ "include": ["./*.*js", "./*.*ts", "./**/*.*ts"],
+ "exclude": ["**/node_modules/**/*"]
+}
diff --git a/packages/eslint/.eslintignore b/packages/eslint/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/eslint/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/eslint/.eslintrc.json b/packages/eslint/.eslintrc.json
new file mode 100644
index 0000000..d81f8ae
--- /dev/null
+++ b/packages/eslint/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://json.schemastore.org/eslintrc",
+ "extends": ["lockerai-base"]
+}
diff --git a/packages/eslint/.lintstagedrc.cjs b/packages/eslint/.lintstagedrc.cjs
new file mode 100644
index 0000000..cdcd269
--- /dev/null
+++ b/packages/eslint/.lintstagedrc.cjs
@@ -0,0 +1,6 @@
+module.exports = {
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm eslint --fix ${filenames.join(" --fix ")}`,
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm prettier --check ${filenames.join(" --check ")}`,
+};
diff --git a/packages/eslint/eslint-config-lockerai-base/.eslintignore b/packages/eslint/eslint-config-lockerai-base/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-base/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/eslint/eslint-config-lockerai-base/.eslintrc.json b/packages/eslint/eslint-config-lockerai-base/.eslintrc.json
new file mode 100644
index 0000000..64e37ab
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-base/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://json.schemastore.org/eslintrc",
+ "extends": ["./index.cjs"]
+}
diff --git a/packages/eslint/eslint-config-lockerai-base/.lintstagedrc.cjs b/packages/eslint/eslint-config-lockerai-base/.lintstagedrc.cjs
new file mode 100644
index 0000000..cdcd269
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-base/.lintstagedrc.cjs
@@ -0,0 +1,6 @@
+module.exports = {
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm eslint --fix ${filenames.join(" --fix ")}`,
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm prettier --check ${filenames.join(" --check ")}`,
+};
diff --git a/packages/eslint/eslint-config-lockerai-base/index.cjs b/packages/eslint/eslint-config-lockerai-base/index.cjs
new file mode 100644
index 0000000..e76373f
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-base/index.cjs
@@ -0,0 +1,75 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ $schema: "https://json.schemastore.org/eslintrc",
+ env: {
+ es6: true,
+ jest: true,
+ node: true,
+ },
+ extends: ["eslint:recommended", "prettier", "plugin:json/recommended"],
+ plugins: ["import", "prettier", "json"],
+ parserOptions: {
+ ecmaVersion: "latest",
+ sourceType: "module",
+ },
+ rules: {
+ "json/*": ["error", "allowComments"],
+ "import/extensions": "off",
+ "import/no-default-export": "error",
+ "import/no-extraneous-dependencies": ["error", { packageDir: ["./"] }],
+ "import/order": [
+ "error",
+ {
+ groups: [
+ "builtin",
+ "external",
+ "internal",
+ "parent",
+ "sibling",
+ "object",
+ "unknown",
+ ],
+ pathGroups: [
+ {
+ pattern: "~*/**",
+ group: "internal",
+ },
+ {
+ pattern: "#*/**",
+ group: "internal",
+ },
+ {
+ pattern: "@/**",
+ group: "parent",
+ },
+ ],
+ alphabetize: {
+ order: "asc",
+ },
+ },
+ ],
+ "import/prefer-default-export": "off",
+ "no-restricted-imports": [
+ "error",
+ {
+ patterns: ["../"],
+ },
+ ],
+ "no-useless-constructor": "off",
+ "sort-imports": [
+ "error",
+ {
+ ignoreDeclarationSort: true,
+ },
+ ],
+ },
+ overrides: [
+ {
+ files: ["./*"],
+ rules: {
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ ],
+};
diff --git a/packages/eslint/eslint-config-lockerai-base/package.json b/packages/eslint/eslint-config-lockerai-base/package.json
new file mode 100644
index 0000000..b05c922
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-base/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "eslint-config-lockerai-base",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "lint": "eslint './**/*.*js'",
+ "lint:fix": "eslint './**/*.*js' --fix"
+ }
+}
diff --git a/packages/eslint/eslint-config-lockerai-esm/.eslintignore b/packages/eslint/eslint-config-lockerai-esm/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-esm/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/eslint/eslint-config-lockerai-esm/.eslintrc.json b/packages/eslint/eslint-config-lockerai-esm/.eslintrc.json
new file mode 100644
index 0000000..d81f8ae
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-esm/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://json.schemastore.org/eslintrc",
+ "extends": ["lockerai-base"]
+}
diff --git a/packages/eslint/eslint-config-lockerai-esm/.lintstagedrc.cjs b/packages/eslint/eslint-config-lockerai-esm/.lintstagedrc.cjs
new file mode 100644
index 0000000..cdcd269
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-esm/.lintstagedrc.cjs
@@ -0,0 +1,6 @@
+module.exports = {
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm eslint --fix ${filenames.join(" --fix ")}`,
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm prettier --check ${filenames.join(" --check ")}`,
+};
diff --git a/packages/eslint/eslint-config-lockerai-esm/index.cjs b/packages/eslint/eslint-config-lockerai-esm/index.cjs
new file mode 100644
index 0000000..6c898ee
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-esm/index.cjs
@@ -0,0 +1,42 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ $schema: "https://json.schemastore.org/eslintrc",
+ env: {
+ browser: true,
+ es6: true,
+ jest: true,
+ node: true,
+ },
+ extends: [
+ "airbnb-typescript/base",
+ "lockerai-base",
+ "plugin:@typescript-eslint/recommended",
+ ],
+ plugins: ["@typescript-eslint"],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ project: "./tsconfig.json",
+ ecmaVersion: "latest",
+ sourceType: "module",
+ extraFileExtensions: [".json"],
+ },
+ rules: {
+ "@typescript-eslint/consistent-type-imports": [
+ "error",
+ {
+ fixStyle: "inline-type-imports",
+ },
+ ],
+ "import/prefer-default-export": "off",
+ },
+ overrides: [
+ {
+ files: ["./*"],
+ rules: {
+ "@typescript-eslint/no-var-requires": "off",
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ ],
+};
diff --git a/packages/eslint/eslint-config-lockerai-esm/package.json b/packages/eslint/eslint-config-lockerai-esm/package.json
new file mode 100644
index 0000000..123c0ed
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-esm/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "eslint-config-lockerai-esm",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "lint": "eslint './**/*.*js'",
+ "lint:fix": "eslint './**/*.*js' --fix"
+ },
+ "devDependencies": {
+ "eslint-config-lockerai-base": "workspace:*"
+ }
+}
diff --git a/packages/eslint/eslint-config-lockerai-nextjs/.eslintignore b/packages/eslint/eslint-config-lockerai-nextjs/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-nextjs/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/eslint/eslint-config-lockerai-nextjs/.eslintrc.json b/packages/eslint/eslint-config-lockerai-nextjs/.eslintrc.json
new file mode 100644
index 0000000..d81f8ae
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-nextjs/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://json.schemastore.org/eslintrc",
+ "extends": ["lockerai-base"]
+}
diff --git a/packages/eslint/eslint-config-lockerai-nextjs/.lintstagedrc.cjs b/packages/eslint/eslint-config-lockerai-nextjs/.lintstagedrc.cjs
new file mode 100644
index 0000000..cdcd269
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-nextjs/.lintstagedrc.cjs
@@ -0,0 +1,6 @@
+module.exports = {
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm eslint --fix ${filenames.join(" --fix ")}`,
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm prettier --check ${filenames.join(" --check ")}`,
+};
diff --git a/packages/eslint/eslint-config-lockerai-nextjs/index.cjs b/packages/eslint/eslint-config-lockerai-nextjs/index.cjs
new file mode 100644
index 0000000..23d125a
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-nextjs/index.cjs
@@ -0,0 +1,44 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ $schema: "https://json.schemastore.org/eslintrc",
+ extends: ["next", "lockerai-react"],
+ overrides: [
+ {
+ files: ["./*"],
+ rules: {
+ "@typescript-eslint/no-var-requires": "off",
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ {
+ files: ["./src/app/**"],
+ rules: {
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "error",
+ "react/prop-types": "off",
+ },
+ },
+ {
+ files: ["./src/app/**/json-ld.ts"],
+ rules: {
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ {
+ files: ["./src/app/api/**", "./src/pages/api/**"],
+ rules: {
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ {
+ files: ["./**/*.story.*"],
+ rules: {
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ ],
+};
diff --git a/packages/eslint/eslint-config-lockerai-nextjs/package.json b/packages/eslint/eslint-config-lockerai-nextjs/package.json
new file mode 100644
index 0000000..16a3c5c
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-nextjs/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "eslint-config-lockerai-nextjs",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "lint": "eslint './**/*.*js'",
+ "lint:fix": "eslint './**/*.*js' --fix"
+ },
+ "devDependencies": {
+ "eslint-config-lockerai-base": "workspace:*",
+ "eslint-config-lockerai-react": "workspace:*"
+ }
+}
diff --git a/packages/eslint/eslint-config-lockerai-node/.eslintignore b/packages/eslint/eslint-config-lockerai-node/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-node/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/eslint/eslint-config-lockerai-node/.eslintrc.json b/packages/eslint/eslint-config-lockerai-node/.eslintrc.json
new file mode 100644
index 0000000..d81f8ae
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-node/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://json.schemastore.org/eslintrc",
+ "extends": ["lockerai-base"]
+}
diff --git a/packages/eslint/eslint-config-lockerai-node/.lintstagedrc.cjs b/packages/eslint/eslint-config-lockerai-node/.lintstagedrc.cjs
new file mode 100644
index 0000000..cdcd269
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-node/.lintstagedrc.cjs
@@ -0,0 +1,6 @@
+module.exports = {
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm eslint --fix ${filenames.join(" --fix ")}`,
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm prettier --check ${filenames.join(" --check ")}`,
+};
diff --git a/packages/eslint/eslint-config-lockerai-node/index.cjs b/packages/eslint/eslint-config-lockerai-node/index.cjs
new file mode 100644
index 0000000..c38c3d3
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-node/index.cjs
@@ -0,0 +1,48 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ $schema: "https://json.schemastore.org/eslintrc",
+ extends: [
+ "airbnb-base",
+ "lockerai-base",
+ "plugin:@typescript-eslint/recommended",
+ ],
+ plugins: ["@typescript-eslint"],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ project: "./tsconfig.json",
+ ecmaVersion: "latest",
+ sourceType: "commonjs",
+ },
+ rules: {
+ "@typescript-eslint/consistent-type-imports": [
+ "error",
+ {
+ fixStyle: "inline-type-imports",
+ },
+ ],
+ "class-methods-use-this": "off",
+ "dot-notation": "off",
+ "no-empty-function": "off",
+ "no-nested-ternary": "off",
+ "no-useless-constructor": "off",
+ },
+ overrides: [
+ {
+ files: ["./*"],
+ rules: {
+ "@typescript-eslint/no-var-requires": "off",
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ {
+ files: ["./*.*js"],
+ extends: ["plugin:@typescript-eslint/disable-type-checked"],
+ },
+ ],
+ settings: {
+ "import/resolver": {
+ typescript: {},
+ },
+ },
+};
diff --git a/packages/eslint/eslint-config-lockerai-node/package.json b/packages/eslint/eslint-config-lockerai-node/package.json
new file mode 100644
index 0000000..26b5b5f
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-node/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "eslint-config-lockerai-node",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "lint": "eslint './**/*.*js'",
+ "lint:fix": "eslint './**/*.*js' --fix"
+ },
+ "devDependencies": {
+ "eslint-config-lockerai-base": "workspace:*"
+ }
+}
diff --git a/packages/eslint/eslint-config-lockerai-react/.eslintignore b/packages/eslint/eslint-config-lockerai-react/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-react/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/eslint/eslint-config-lockerai-react/.eslintrc.json b/packages/eslint/eslint-config-lockerai-react/.eslintrc.json
new file mode 100644
index 0000000..d81f8ae
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-react/.eslintrc.json
@@ -0,0 +1,4 @@
+{
+ "$schema": "https://json.schemastore.org/eslintrc",
+ "extends": ["lockerai-base"]
+}
diff --git a/packages/eslint/eslint-config-lockerai-react/.lintstagedrc.cjs b/packages/eslint/eslint-config-lockerai-react/.lintstagedrc.cjs
new file mode 100644
index 0000000..cdcd269
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-react/.lintstagedrc.cjs
@@ -0,0 +1,6 @@
+module.exports = {
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm eslint --fix ${filenames.join(" --fix ")}`,
+ "**/*.{js,ts,json}": (/** @type {string[]} */ filenames) =>
+ `pnpm prettier --check ${filenames.join(" --check ")}`,
+};
diff --git a/packages/eslint/eslint-config-lockerai-react/index.cjs b/packages/eslint/eslint-config-lockerai-react/index.cjs
new file mode 100644
index 0000000..4e72d90
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-react/index.cjs
@@ -0,0 +1,63 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ $schema: "https://json.schemastore.org/eslintrc",
+ env: {
+ browser: true,
+ es6: true,
+ jest: true,
+ },
+ extends: [
+ "airbnb-typescript",
+ "lockerai-esm",
+ "plugin:storybook/recommended",
+ "plugin:react/recommended",
+ "plugin:tailwindcss/recommended",
+ ],
+ plugins: ["jsx-a11y", "react"],
+ parserOptions: {
+ ecmaFeatures: {
+ jsx: true,
+ },
+ },
+ rules: {
+ "react/function-component-definition": [
+ 2,
+ { namedComponents: "arrow-function" },
+ ],
+ "react/jsx-props-no-spreading": "off",
+ "react/no-danger": "off",
+ "react/react-in-jsx-scope": "off",
+ "react/require-default-props": "off",
+ },
+ settings: {
+ tailwindcss: {
+ callees: ["cn", "tv"],
+ classRegex: "^(class|className|outsideClass)$",
+ ignoredKeys: ["compoundSlots", "defaultVariants"],
+ },
+ },
+ overrides: [
+ {
+ files: ["./*"],
+ rules: {
+ "@typescript-eslint/no-var-requires": "off",
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ {
+ files: ["./.storybook/*"],
+ rules: {
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ {
+ files: ["./**/*.story.*"],
+ rules: {
+ "import/no-default-export": "off",
+ "import/prefer-default-export": "off",
+ },
+ },
+ ],
+};
diff --git a/packages/eslint/eslint-config-lockerai-react/package.json b/packages/eslint/eslint-config-lockerai-react/package.json
new file mode 100644
index 0000000..06da79f
--- /dev/null
+++ b/packages/eslint/eslint-config-lockerai-react/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "eslint-config-lockerai-react",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "lint": "eslint './**/*.*js'",
+ "lint:fix": "eslint './**/*.*js' --fix"
+ },
+ "devDependencies": {
+ "eslint-config-lockerai-base": "workspace:*",
+ "eslint-config-lockerai-esm": "workspace:*"
+ }
+}
diff --git a/packages/eslint/package.json b/packages/eslint/package.json
new file mode 100644
index 0000000..f77b735
--- /dev/null
+++ b/packages/eslint/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "@lockerai/eslint",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "scripts": {
+ "lint": "eslint './**/*.*json'",
+ "lint:fix": "eslint './**/*.*json' --fix"
+ },
+ "devDependencies": {
+ "@typescript-eslint/eslint-plugin": "6.8.0",
+ "@typescript-eslint/parser": "6.8.0",
+ "eslint-config-airbnb-base": "15.0.0",
+ "eslint-config-airbnb-typescript": "17.1.0",
+ "eslint-config-lockerai-base": "workspace:*",
+ "eslint-config-next": "13.5.6",
+ "eslint-config-prettier": "9.0.0",
+ "eslint-import-resolver-typescript": "3.6.1",
+ "eslint-plugin-json": "3.1.0",
+ "eslint-plugin-jsx-a11y": "6.7.1",
+ "eslint-plugin-prettier": "5.0.1",
+ "eslint-plugin-react": "7.33.2",
+ "eslint-plugin-storybook": "0.6.15",
+ "eslint-plugin-tailwindcss": "3.13.0"
+ }
+}
diff --git a/packages/jest/.eslintignore b/packages/jest/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/jest/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/jest/.eslintrc.cjs b/packages/jest/.eslintrc.cjs
new file mode 100644
index 0000000..ed90bd9
--- /dev/null
+++ b/packages/jest/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-esm'],
+};
diff --git a/packages/jest/.lintstagedrc.cjs b/packages/jest/.lintstagedrc.cjs
new file mode 100644
index 0000000..ba79164
--- /dev/null
+++ b/packages/jest/.lintstagedrc.cjs
@@ -0,0 +1,4 @@
+module.exports = {
+ '**/*.{js,ts}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+};
diff --git a/packages/jest/.prettierignore b/packages/jest/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/jest/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/jest/.prettierrc.cjs b/packages/jest/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/jest/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/jest/jest.nextjs.cjs b/packages/jest/jest.nextjs.cjs
new file mode 100644
index 0000000..4979d5e
--- /dev/null
+++ b/packages/jest/jest.nextjs.cjs
@@ -0,0 +1,20 @@
+// TODO: if fix this issue, rewrite by typescript.
+// ref: https://github.com/TypeStrong/ts-node/issues/2000
+const nextJest = require('next/jest');
+
+const createNextJestConfig = nextJest({
+ dir: './',
+});
+
+/** @type {import('jest').Config} */
+const defaultConfig = {
+ testEnvironment: 'jest-environment-jsdom',
+ setupFiles: ['dotenv/config'],
+};
+
+/** @type {(overrideConfig: import('jest').Config) => Promise} */
+module.exports = (overrideConfig) =>
+ createNextJestConfig({
+ ...defaultConfig,
+ ...overrideConfig,
+ });
diff --git a/packages/jest/jest.node.cjs b/packages/jest/jest.node.cjs
new file mode 100644
index 0000000..7b35a8e
--- /dev/null
+++ b/packages/jest/jest.node.cjs
@@ -0,0 +1,19 @@
+// TODO: if fix this issue, rewrite by typescript.
+// ref: https://github.com/TypeStrong/ts-node/issues/2000
+/** @type {import('jest').Config} */
+module.exports = {
+ collectCoverageFrom: ['./src/**/*.*ts'],
+ coverageDirectory: './coverage',
+ moduleFileExtensions: ['json', 'js', 'ts'],
+ moduleNameMapper: {
+ '^#core/(.*)$': '/../core/$1',
+ '^#markdown/(.*)$': '/../markdown/$1',
+ },
+ rootDir: '.',
+ setupFiles: ['dotenv/config'],
+ testRegex: '.*\\.spec\\.ts$',
+ transform: {
+ '^.+\\.(t|j)s$': 'ts-jest',
+ },
+ testEnvironment: 'node',
+};
diff --git a/packages/jest/package.json b/packages/jest/package.json
new file mode 100644
index 0000000..d3aa1ec
--- /dev/null
+++ b/packages/jest/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@lockerai/jest",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "lint": "eslint './**/{*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write ."
+ },
+ "devDependencies": {
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@types/jest": "29.5.6",
+ "eslint-config-lockerai-esm": "workspace:*",
+ "jest": "29.7.0",
+ "jest-environment-jsdom": "29.7.0",
+ "next": "13.5.6",
+ "ts-jest": "29.1.1"
+ }
+}
diff --git a/packages/jest/tsconfig.build.json b/packages/jest/tsconfig.build.json
new file mode 100644
index 0000000..1d20c3f
--- /dev/null
+++ b/packages/jest/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts", "**/*.story.tsx"]
+}
diff --git a/packages/jest/tsconfig.json b/packages/jest/tsconfig.json
new file mode 100644
index 0000000..42cb479
--- /dev/null
+++ b/packages/jest/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.esm.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist",
+ "rootDir": "./"
+ },
+ "include": ["./*.*js", "./*.*ts", "./**/*.*ts"],
+ "exclude": ["**/node_modules/**/*"]
+}
diff --git a/packages/postcss/.eslintignore b/packages/postcss/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/postcss/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/postcss/.eslintrc.cjs b/packages/postcss/.eslintrc.cjs
new file mode 100644
index 0000000..7165637
--- /dev/null
+++ b/packages/postcss/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-base'],
+};
diff --git a/packages/postcss/.lintstagedrc.cjs b/packages/postcss/.lintstagedrc.cjs
new file mode 100644
index 0000000..3068c90
--- /dev/null
+++ b/packages/postcss/.lintstagedrc.cjs
@@ -0,0 +1,4 @@
+module.exports = {
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+};
diff --git a/packages/postcss/.prettierignore b/packages/postcss/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/postcss/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/postcss/.prettierrc.cjs b/packages/postcss/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/postcss/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/postcss/index.cjs b/packages/postcss/index.cjs
new file mode 100644
index 0000000..e569373
--- /dev/null
+++ b/packages/postcss/index.cjs
@@ -0,0 +1,8 @@
+module.exports = {
+ plugins: {
+ 'postcss-import': {},
+ 'tailwindcss/nesting': {},
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+};
diff --git a/packages/postcss/package.json b/packages/postcss/package.json
new file mode 100644
index 0000000..04959c4
--- /dev/null
+++ b/packages/postcss/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "@lockerai/postcss",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "lint": "eslint './**/{*.json,*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.json,*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write ."
+ },
+ "devDependencies": {
+ "@lockerai/prettier": "workspace:*",
+ "autoprefixer": "10.4.16",
+ "eslint-config-lockerai-base": "workspace:*",
+ "postcss": "8.4.31",
+ "postcss-import": "15.1.0",
+ "tailwindcss": "3.3.3"
+ }
+}
diff --git a/packages/prettier/.lintstagedrc.cjs b/packages/prettier/.lintstagedrc.cjs
new file mode 100644
index 0000000..3068c90
--- /dev/null
+++ b/packages/prettier/.lintstagedrc.cjs
@@ -0,0 +1,4 @@
+module.exports = {
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+};
diff --git a/packages/prettier/.prettierignore b/packages/prettier/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/prettier/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/prettier/.prettierrc.cjs b/packages/prettier/.prettierrc.cjs
new file mode 100644
index 0000000..2541ad0
--- /dev/null
+++ b/packages/prettier/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('./index.cjs'),
+};
diff --git a/packages/prettier/index.cjs b/packages/prettier/index.cjs
new file mode 100644
index 0000000..464dd5f
--- /dev/null
+++ b/packages/prettier/index.cjs
@@ -0,0 +1,10 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ endOfLine: 'lf',
+ printWidth: 150,
+ semi: true,
+ singleQuote: true,
+ tabWidth: 2,
+ trailingComma: 'all',
+ useTabs: false,
+};
diff --git a/packages/prettier/package.json b/packages/prettier/package.json
new file mode 100644
index 0000000..955d1c1
--- /dev/null
+++ b/packages/prettier/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "@lockerai/prettier",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "./index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write ."
+ }
+}
diff --git a/packages/stylelint/.eslintignore b/packages/stylelint/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/stylelint/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/stylelint/.eslintrc.js b/packages/stylelint/.eslintrc.js
new file mode 100644
index 0000000..7165637
--- /dev/null
+++ b/packages/stylelint/.eslintrc.js
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-base'],
+};
diff --git a/packages/stylelint/.lintstagedrc.cjs b/packages/stylelint/.lintstagedrc.cjs
new file mode 100644
index 0000000..3068c90
--- /dev/null
+++ b/packages/stylelint/.lintstagedrc.cjs
@@ -0,0 +1,4 @@
+module.exports = {
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+};
diff --git a/packages/stylelint/.prettierignore b/packages/stylelint/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/stylelint/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/stylelint/.prettierrc.cjs b/packages/stylelint/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/stylelint/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/stylelint/index.cjs b/packages/stylelint/index.cjs
new file mode 100644
index 0000000..50db64f
--- /dev/null
+++ b/packages/stylelint/index.cjs
@@ -0,0 +1,5 @@
+/** @type {import('stylelint').Config} */
+module.exports = {
+ plugins: ['stylelint-prettier'],
+ extends: ['stylelint-config-prettier', 'stylelint-config-recess-order', 'stylelint-config-standard-scss', 'stylelint-prettier/recommended'],
+};
diff --git a/packages/stylelint/package.json b/packages/stylelint/package.json
new file mode 100644
index 0000000..813b292
--- /dev/null
+++ b/packages/stylelint/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "@lockerai/stylelint",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "main": "index.cjs",
+ "type": "commonjs",
+ "scripts": {
+ "lint": "eslint './**/{*.json,*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.json,*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write ."
+ },
+ "devDependencies": {
+ "@lockerai/prettier": "workspace:*",
+ "eslint-config-lockerai-base": "workspace:*",
+ "stylelint-config-prettier": "9.0.5",
+ "stylelint-config-recess-order": "4.3.0",
+ "stylelint-config-standard-scss": "11.0.0",
+ "stylelint-prettier": "4.0.2"
+ }
+}
diff --git a/packages/tailwind/.eslintignore b/packages/tailwind/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/tailwind/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/tailwind/.eslintrc.cjs b/packages/tailwind/.eslintrc.cjs
new file mode 100644
index 0000000..ed90bd9
--- /dev/null
+++ b/packages/tailwind/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-esm'],
+};
diff --git a/packages/tailwind/.gitignore b/packages/tailwind/.gitignore
new file mode 100644
index 0000000..c41e5ac
--- /dev/null
+++ b/packages/tailwind/.gitignore
@@ -0,0 +1,2 @@
+# auto generated folder
+generated/
diff --git a/packages/tailwind/.lintstagedrc.cjs b/packages/tailwind/.lintstagedrc.cjs
new file mode 100644
index 0000000..6cf7dae
--- /dev/null
+++ b/packages/tailwind/.lintstagedrc.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.{js,ts,tsx}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,tsx,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+ '**/*.{css,scss}': (/** @type {string[]} */ filenames) => `pnpm stylelint --fix ${filenames.join(' --fix ')}`,
+};
diff --git a/packages/tailwind/.prettierignore b/packages/tailwind/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/tailwind/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/tailwind/.prettierrc.cjs b/packages/tailwind/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/tailwind/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/tailwind/.stylelintignore b/packages/tailwind/.stylelintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/tailwind/.stylelintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/tailwind/.stylelintrc.cjs b/packages/tailwind/.stylelintrc.cjs
new file mode 100644
index 0000000..bae308b
--- /dev/null
+++ b/packages/tailwind/.stylelintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('stylelint').Config} */
+module.exports = {
+ extends: ['@lockerai/stylelint'],
+};
diff --git a/packages/tailwind/config.ts b/packages/tailwind/config.ts
new file mode 100644
index 0000000..b068196
--- /dev/null
+++ b/packages/tailwind/config.ts
@@ -0,0 +1,74 @@
+import { breakpoints, colors, fonts } from '@lockerai/design-token';
+import svgToDataUri from 'mini-svg-data-uri';
+import { withTV } from 'tailwind-variants/transformer';
+import type { Config } from 'tailwindcss';
+import defaultTheme from 'tailwindcss/defaultTheme';
+import type { KeyValuePair, PluginAPI, RecursiveKeyValuePair, ResolvableTo } from 'tailwindcss/types/config';
+import { createThemes } from 'tw-colors';
+
+const flattenColorPalette = (colorPalette: ResolvableTo>): KeyValuePair =>
+ Object.assign(
+ {},
+ ...Object.entries(colorPalette ?? {}).flatMap(([color, values]) =>
+ typeof values == 'object'
+ ? Object.entries(flattenColorPalette(values)).map(([number, hex]) => ({
+ [color + (number === 'DEFAULT' ? '' : `-${number}`)]: hex,
+ }))
+ : [{ [`${color}`]: values }],
+ ),
+ );
+
+const defaultConfig: Config = {
+ mode: 'jit',
+ content: [],
+ darkMode: ['class', '[data-theme="dark"]'],
+ theme: {
+ colors,
+ fontFamily: {
+ code: [`var(${fonts['fira-code'].variable})`, ...defaultTheme.fontFamily.mono],
+ sans: [`var(${fonts['noto-sans'].variable})`, ...defaultTheme.fontFamily.sans],
+ },
+ fontWeight: {
+ normal: '400',
+ bold: '700',
+ 'extra-bold': '800',
+ 'display-black': '900',
+ },
+ keyframes: {
+ 'translate-x-full': {
+ '100%': {
+ transform: 'translateX(100%)',
+ },
+ },
+ },
+ screens: {
+ mobile: `${breakpoints.mobile.minWidth}px`,
+ tablet: `${breakpoints.tablet.minWidth}px`,
+ laptop: `${breakpoints.laptop.minWidth}px`,
+ desktop: `${breakpoints.desktop.minWidth}px`,
+ },
+ },
+ plugins: [
+ createThemes({
+ light: colors.light,
+ dark: colors.dark,
+ }),
+ ({ matchUtilities, theme }: PluginAPI) => {
+ matchUtilities(
+ {
+ 'bg-grid': (value) => ({
+ backgroundImage: `url("${svgToDataUri(
+ ``,
+ )}")`,
+ }),
+ },
+ { values: flattenColorPalette(theme('backgroundColor')), type: 'color' },
+ );
+ },
+ require('tailwindcss-animate'),
+ ],
+};
+
+type CreateConfig = (config: (c: Config) => Config) => Config;
+
+export const createConfig: CreateConfig = (config) => withTV(config(defaultConfig));
diff --git a/packages/tailwind/index.ts b/packages/tailwind/index.ts
new file mode 100644
index 0000000..069c2f4
--- /dev/null
+++ b/packages/tailwind/index.ts
@@ -0,0 +1,91 @@
+import clsx, { type ClassValue } from 'clsx';
+import { type Config as TailwindMergeConfig, extendTailwindMerge } from 'tailwind-merge';
+import {
+ type ClassValue as TVClassValue,
+ type TVCompoundSlots,
+ type TVCompoundVariants,
+ type TVDefaultVariants,
+ type TVReturnType,
+ type TVSlots,
+ type TVVariants,
+ type VariantProps,
+ tv as tvBase,
+} from 'tailwind-variants';
+import type { TVConfig } from 'tailwind-variants/dist/config.js';
+
+const tailwindMergeConfig: Partial = {};
+
+const twMerge = extendTailwindMerge(tailwindMergeConfig);
+
+export const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs));
+
+const tvConfig = {
+ // HACK: The tv API currently does not allow to specify the presence or absence of responsiveVariants for each variant, it is redundant to enable responsiveVariants as a whole.
+ // ref: https://github.com/nextui-org/tailwind-variants/issues/35#issuecomment-1515941234
+ responsiveVariants: true,
+ twMerge: true,
+ twMergeConfig: tailwindMergeConfig,
+} satisfies TVConfig;
+
+// NOTE: Redefine tv API independently to override tv API settings.
+// ref: node_modules/tailwind-variants/dist/index.d.ts
+export const tv = <
+ V extends TVVariants,
+ CV extends TVCompoundVariants,
+ DV extends TVDefaultVariants,
+ // NOTE: Override Generics C with own tvConfig definition.
+ // C extends TVConfig,
+ B extends TVClassValue = undefined,
+ S extends TVSlots = undefined,
+ // @ts-expect-error: TS doesn't support recursive type yet.
+ E extends TVReturnType = TVReturnType<
+ V,
+ S,
+ B,
+ typeof tvConfig,
+ // @ts-expect-error: TS doesn't support recursive type yet.
+ // eslint-disable-next-line @typescript-eslint/ban-types
+ EV extends undefined ? {} : EV,
+ // @ts-expect-error: TS doesn't support recursive type yet.
+ // eslint-disable-next-line @typescript-eslint/ban-types
+ ES extends undefined ? {} : ES
+ >,
+ EV extends TVVariants = E['variants'],
+ ES extends TVSlots = E['slots'] extends TVSlots ? E['slots'] : undefined,
+>(options: {
+ /**
+ * Extend allows easily compose components.
+ * @see https://www.tailwind-variants.org/docs/composing-components
+ */
+ extend?: E;
+ /**
+ * Base allows you to set a base class for a component.
+ */
+ base?: B;
+ /**
+ * Slots allows you to separate an component into multiple parts.
+ * @see https://www.tailwind-variants.org/docs/slots
+ */
+ slots?: S;
+ /**
+ * Variants allows you to create multiple versions of the same component.
+ * @see https://www.tailwind-variants.org/docs/variants#adding-variants
+ */
+ variants?: V;
+ /**
+ * Compound variants allow apply classes to multiple variants at once.
+ * @see https://www.tailwind-variants.org/docs/variants#compound-variants
+ */
+ compoundVariants?: CV;
+ /**
+ * Compound slots allow apply classes to multiple slots at once.
+ */
+ compoundSlots?: TVCompoundSlots;
+ /**
+ * Default variants allow you to set default variants for a component.
+ * @see https://www.tailwind-variants.org/docs/variants#default-variants
+ */
+ defaultVariants?: DV;
+}): TVReturnType => tvBase(options, tvConfig);
+
+export type { VariantProps };
diff --git a/packages/tailwind/jest.config.cjs b/packages/tailwind/jest.config.cjs
new file mode 100644
index 0000000..354e666
--- /dev/null
+++ b/packages/tailwind/jest.config.cjs
@@ -0,0 +1,6 @@
+const config = require('@lockerai/jest/jest.node.cjs');
+
+/** @type {import('jest').Config} */
+module.exports = {
+ ...config,
+};
diff --git a/packages/tailwind/package.json b/packages/tailwind/package.json
new file mode 100644
index 0000000..7fabfbe
--- /dev/null
+++ b/packages/tailwind/package.json
@@ -0,0 +1,38 @@
+{
+ "name": "@lockerai/tailwind",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "lint": "eslint './**/{*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "test": "jest --silent=false --verbose false --passWithNoTests"
+ },
+ "dependencies": {
+ "clsx": "2.0.0",
+ "dotenv": "16.3.1",
+ "tailwind-merge": "1.14.0",
+ "tailwind-variants": "0.1.14"
+ },
+ "devDependencies": {
+ "@lockerai/design-token": "workspace:*",
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/stylelint": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@lockerai/type": "workspace:*",
+ "add": "2.0.6",
+ "autoprefixer": "10.4.16",
+ "eslint-config-lockerai-esm": "workspace:*",
+ "mini-svg-data-uri": "1.4.4",
+ "postcss": "8.4.31",
+ "postcss-import": "15.1.0",
+ "tailwindcss": "3.3.3",
+ "tailwindcss-animate": "1.0.7",
+ "tw-colors": "3.0.3"
+ }
+}
diff --git a/packages/tailwind/tailwind.css b/packages/tailwind/tailwind.css
new file mode 100644
index 0000000..a31e444
--- /dev/null
+++ b/packages/tailwind/tailwind.css
@@ -0,0 +1,3 @@
+@import 'tailwindcss/base';
+@import 'tailwindcss/components';
+@import 'tailwindcss/utilities';
diff --git a/packages/tailwind/tsconfig.build.json b/packages/tailwind/tsconfig.build.json
new file mode 100644
index 0000000..1d20c3f
--- /dev/null
+++ b/packages/tailwind/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts", "**/*.story.tsx"]
+}
diff --git a/packages/tailwind/tsconfig.json b/packages/tailwind/tsconfig.json
new file mode 100644
index 0000000..33c1959
--- /dev/null
+++ b/packages/tailwind/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.esm.json",
+ "compilerOptions": {
+ "outDir": "./dist",
+ "baseUrl": "./",
+ "rootDir": "./"
+ },
+ "include": ["./*.*js", "./*.*ts", "./**/*.*ts"],
+ "exclude": ["**/node_modules/**/*"]
+}
diff --git a/packages/tsconfig/.eslintignore b/packages/tsconfig/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/tsconfig/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/tsconfig/.eslintrc.cjs b/packages/tsconfig/.eslintrc.cjs
new file mode 100644
index 0000000..7165637
--- /dev/null
+++ b/packages/tsconfig/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-base'],
+};
diff --git a/packages/tsconfig/.lintstagedrc.cjs b/packages/tsconfig/.lintstagedrc.cjs
new file mode 100644
index 0000000..3068c90
--- /dev/null
+++ b/packages/tsconfig/.lintstagedrc.cjs
@@ -0,0 +1,4 @@
+module.exports = {
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+};
diff --git a/packages/tsconfig/.prettierignore b/packages/tsconfig/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/tsconfig/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/tsconfig/.prettierrc.cjs b/packages/tsconfig/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/tsconfig/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json
new file mode 100644
index 0000000..703afea
--- /dev/null
+++ b/packages/tsconfig/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "@lockerai/tsconfig",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "scripts": {
+ "lint": "eslint './**/{*.json,*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.json,*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write ."
+ },
+ "devDependencies": {
+ "@lockerai/prettier": "workspace:*",
+ "@tsconfig/create-react-app": "2.0.1",
+ "@tsconfig/esm": "1.0.5",
+ "@tsconfig/next": "2.0.1",
+ "@tsconfig/node-lts": "18.12.5",
+ "@tsconfig/strictest": "2.0.2",
+ "eslint-config-lockerai-base": "workspace:*"
+ }
+}
diff --git a/packages/tsconfig/tsconfig.esm.json b/packages/tsconfig/tsconfig.esm.json
new file mode 100644
index 0000000..6ab0d07
--- /dev/null
+++ b/packages/tsconfig/tsconfig.esm.json
@@ -0,0 +1,6 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ // https://github.com/tsconfig/bases/blob/main/bases/esm.json
+ "extends": ["./tsconfig.strictest.json", "@tsconfig/esm/tsconfig"],
+ "compilerOptions": {}
+}
diff --git a/packages/tsconfig/tsconfig.nextjs.json b/packages/tsconfig/tsconfig.nextjs.json
new file mode 100644
index 0000000..d29c123
--- /dev/null
+++ b/packages/tsconfig/tsconfig.nextjs.json
@@ -0,0 +1,6 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ // https://github.com/tsconfig/bases/blob/main/bases/next.json
+ "extends": ["./tsconfig.strictest.json", "@tsconfig/next/tsconfig"],
+ "compilerOptions": {}
+}
diff --git a/packages/tsconfig/tsconfig.node.json b/packages/tsconfig/tsconfig.node.json
new file mode 100644
index 0000000..e72776d
--- /dev/null
+++ b/packages/tsconfig/tsconfig.node.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ // https://github.com/tsconfig/bases/blob/main/bases/node-lts.json
+ "extends": ["./tsconfig.strictest.json", "@tsconfig/node-lts/tsconfig"],
+ "compilerOptions": {
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true
+ }
+}
diff --git a/packages/tsconfig/tsconfig.react.json b/packages/tsconfig/tsconfig.react.json
new file mode 100644
index 0000000..80b2548
--- /dev/null
+++ b/packages/tsconfig/tsconfig.react.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ // https://github.com/tsconfig/bases/blob/main/bases/create-react-app.json
+ "extends": ["./tsconfig.strictest.json", "@tsconfig/create-react-app/tsconfig"],
+ "compilerOptions": {
+ "target": "ESNext"
+ }
+}
diff --git a/packages/tsconfig/tsconfig.strictest.json b/packages/tsconfig/tsconfig.strictest.json
new file mode 100644
index 0000000..8afa610
--- /dev/null
+++ b/packages/tsconfig/tsconfig.strictest.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ // https://github.com/tsconfig/bases/blob/main/bases/strictest.json
+ "extends": ["@tsconfig/strictest/tsconfig.json"],
+ "compilerOptions": {
+ "exactOptionalPropertyTypes": false,
+ "paths": {
+ "#core/*": ["../core/*"],
+ "#markdown/*": ["../markdown/*"]
+ },
+ "target": "ESNext"
+ }
+}
diff --git a/packages/type/.eslintignore b/packages/type/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/type/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/type/.eslintrc.cjs b/packages/type/.eslintrc.cjs
new file mode 100644
index 0000000..ed90bd9
--- /dev/null
+++ b/packages/type/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-esm'],
+};
diff --git a/packages/type/.gitignore b/packages/type/.gitignore
new file mode 100644
index 0000000..c41e5ac
--- /dev/null
+++ b/packages/type/.gitignore
@@ -0,0 +1,2 @@
+# auto generated folder
+generated/
diff --git a/packages/type/.lintstagedrc.cjs b/packages/type/.lintstagedrc.cjs
new file mode 100644
index 0000000..6cf7dae
--- /dev/null
+++ b/packages/type/.lintstagedrc.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.{js,ts,tsx}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,tsx,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+ '**/*.{css,scss}': (/** @type {string[]} */ filenames) => `pnpm stylelint --fix ${filenames.join(' --fix ')}`,
+};
diff --git a/packages/type/.prettierignore b/packages/type/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/type/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/type/.prettierrc.cjs b/packages/type/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/type/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/type/jest.config.cjs b/packages/type/jest.config.cjs
new file mode 100644
index 0000000..354e666
--- /dev/null
+++ b/packages/type/jest.config.cjs
@@ -0,0 +1,6 @@
+const config = require('@lockerai/jest/jest.node.cjs');
+
+/** @type {import('jest').Config} */
+module.exports = {
+ ...config,
+};
diff --git a/packages/type/package.json b/packages/type/package.json
new file mode 100644
index 0000000..fb71ee5
--- /dev/null
+++ b/packages/type/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "@lockerai/type",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "module": "nodenext",
+ "main": "./src/index.ts",
+ "scripts": {
+ "lint": "eslint './**/{*.*js,*.*ts,*.*tsx}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts,*.*tsx}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "test": "jest --silent=false --verbose false --passWithNoTests"
+ },
+ "dependencies": {
+ "dotenv": "16.3.1"
+ },
+ "devDependencies": {
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "add": "2.0.6",
+ "eslint-config-lockerai-esm": "workspace:*",
+ "ts-essentials": "9.4.1"
+ }
+}
diff --git a/packages/type/src/index.ts b/packages/type/src/index.ts
new file mode 100644
index 0000000..b223725
--- /dev/null
+++ b/packages/type/src/index.ts
@@ -0,0 +1,10 @@
+export type { DeepNonNullable, DeepReadonly } from 'ts-essentials';
+
+export type ImageData = {
+ src: string;
+ height: number;
+ width: number;
+ blurDataURL?: string;
+ blurWidth?: number;
+ blurHeight?: number;
+};
diff --git a/packages/type/tsconfig.build.json b/packages/type/tsconfig.build.json
new file mode 100644
index 0000000..14b700a
--- /dev/null
+++ b/packages/type/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts"]
+}
diff --git a/packages/type/tsconfig.json b/packages/type/tsconfig.json
new file mode 100644
index 0000000..42cb479
--- /dev/null
+++ b/packages/type/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.esm.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist",
+ "rootDir": "./"
+ },
+ "include": ["./*.*js", "./*.*ts", "./**/*.*ts"],
+ "exclude": ["**/node_modules/**/*"]
+}
diff --git a/packages/urql/.eslintignore b/packages/urql/.eslintignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/urql/.eslintignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/urql/.eslintrc.cjs b/packages/urql/.eslintrc.cjs
new file mode 100644
index 0000000..ed90bd9
--- /dev/null
+++ b/packages/urql/.eslintrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('eslint').Linter.Config} */
+module.exports = {
+ extends: ['lockerai-esm'],
+};
diff --git a/packages/urql/.gitignore b/packages/urql/.gitignore
new file mode 100644
index 0000000..c41e5ac
--- /dev/null
+++ b/packages/urql/.gitignore
@@ -0,0 +1,2 @@
+# auto generated folder
+generated/
diff --git a/packages/urql/.lintstagedrc.cjs b/packages/urql/.lintstagedrc.cjs
new file mode 100644
index 0000000..6cf7dae
--- /dev/null
+++ b/packages/urql/.lintstagedrc.cjs
@@ -0,0 +1,5 @@
+module.exports = {
+ '**/*.{js,ts,tsx}': (/** @type {string[]} */ filenames) => `pnpm eslint --fix ${filenames.join(' --fix ')}`,
+ '**/*.{js,ts,tsx,json}': (/** @type {string[]} */ filenames) => `pnpm prettier --check ${filenames.join(' --check ')}`,
+ '**/*.{css,scss}': (/** @type {string[]} */ filenames) => `pnpm stylelint --fix ${filenames.join(' --fix ')}`,
+};
diff --git a/packages/urql/.prettierignore b/packages/urql/.prettierignore
new file mode 100644
index 0000000..1c4b1cf
--- /dev/null
+++ b/packages/urql/.prettierignore
@@ -0,0 +1,3 @@
+coverage/
+generated/
+node_modules/
diff --git a/packages/urql/.prettierrc.cjs b/packages/urql/.prettierrc.cjs
new file mode 100644
index 0000000..edc830e
--- /dev/null
+++ b/packages/urql/.prettierrc.cjs
@@ -0,0 +1,4 @@
+/** @type {import('prettier').Options} */
+module.exports = {
+ ...require('@lockerai/prettier'),
+};
diff --git a/packages/urql/exchange/scalar-exchange.ts b/packages/urql/exchange/scalar-exchange.ts
new file mode 100644
index 0000000..3c82d0c
--- /dev/null
+++ b/packages/urql/exchange/scalar-exchange.ts
@@ -0,0 +1,10 @@
+import { parseISO } from 'date-fns';
+import customScalarsExchange from 'urql-custom-scalars-exchange';
+
+export const createScalarExchamge = (schema: Parameters[0]['schema']) =>
+ customScalarsExchange({
+ schema,
+ scalars: {
+ DateTime: (value: unknown) => (typeof value === 'string' ? parseISO(value) : new Date(0)),
+ },
+ });
diff --git a/packages/urql/exchange/subscription-exchange.ts b/packages/urql/exchange/subscription-exchange.ts
new file mode 100644
index 0000000..ab46c24
--- /dev/null
+++ b/packages/urql/exchange/subscription-exchange.ts
@@ -0,0 +1,18 @@
+import { subscriptionExchange } from '@urql/core';
+import { createClient as createWsClient } from 'graphql-ws';
+
+export const createSubscriptionExchange = (wsUrl: Parameters[0]['url']) => {
+ const wsClient = createWsClient({
+ url: wsUrl,
+ });
+
+ return subscriptionExchange({
+ forwardSubscription: (request) => ({
+ subscribe(sink) {
+ const unsubscribe = wsClient.subscribe({ ...request, query: request.query ?? '' }, sink);
+
+ return { unsubscribe };
+ },
+ }),
+ });
+};
diff --git a/packages/urql/index.ts b/packages/urql/index.ts
new file mode 100644
index 0000000..4bd7a72
--- /dev/null
+++ b/packages/urql/index.ts
@@ -0,0 +1,32 @@
+import { type Client, cacheExchange, createClient, fetchExchange, ssrExchange } from '@urql/core';
+import { devtoolsExchange } from '@urql/devtools';
+import { registerUrql as registerUrqlByMaker } from '@urql/next/rsc';
+import { createScalarExchamge } from './exchange/scalar-exchange';
+import { createSubscriptionExchange } from './exchange/subscription-exchange';
+
+export const createUrqlClient = (schema: unknown, graphqlUrl: string, wsUrl: string) => {
+ const ssr = ssrExchange();
+
+ const urqlClient = createClient({
+ url: graphqlUrl,
+ exchanges: [
+ devtoolsExchange,
+ createScalarExchamge(schema as Parameters[0]),
+ cacheExchange,
+ ssr,
+ fetchExchange,
+ createSubscriptionExchange(wsUrl),
+ ],
+ suspense: true,
+ });
+
+ return { urqlClient, ssr };
+};
+
+export const registerUrql = (
+ schema: Parameters[0],
+ graphqlUrl: Parameters[1],
+ wsUrl: Parameters[2],
+) => registerUrqlByMaker(() => createUrqlClient(schema, graphqlUrl, wsUrl).urqlClient);
+
+export type { Client as UrqlClient };
diff --git a/packages/urql/jest.config.cjs b/packages/urql/jest.config.cjs
new file mode 100644
index 0000000..354e666
--- /dev/null
+++ b/packages/urql/jest.config.cjs
@@ -0,0 +1,6 @@
+const config = require('@lockerai/jest/jest.node.cjs');
+
+/** @type {import('jest').Config} */
+module.exports = {
+ ...config,
+};
diff --git a/packages/urql/package.json b/packages/urql/package.json
new file mode 100644
index 0000000..76702fb
--- /dev/null
+++ b/packages/urql/package.json
@@ -0,0 +1,31 @@
+{
+ "name": "@lockerai/urql",
+ "version": "0.1.0",
+ "repository": "https://github.com/dino3616/lockerai.git",
+ "license": "MIT",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "lint": "eslint './**/{*.*js,*.*ts}'",
+ "lint:fix": "eslint './**/{*.*js,*.*ts}' --fix",
+ "fmt": "prettier --check .",
+ "fmt:fix": "prettier --write .",
+ "test": "jest --silent=false --verbose false --passWithNoTests"
+ },
+ "dependencies": {
+ "@urql/core": "4.1.4",
+ "@urql/devtools": "2.0.3",
+ "@urql/next": "1.1.0",
+ "date-fns": "2.30.0",
+ "graphql": "16.8.1",
+ "graphql-ws": "5.14.1",
+ "urql-custom-scalars-exchange": "1.0.1"
+ },
+ "devDependencies": {
+ "@lockerai/jest": "workspace:*",
+ "@lockerai/prettier": "workspace:*",
+ "@lockerai/tsconfig": "workspace:*",
+ "@lockerai/type": "workspace:*",
+ "eslint-config-lockerai-esm": "workspace:*"
+ }
+}
diff --git a/packages/urql/tsconfig.build.json b/packages/urql/tsconfig.build.json
new file mode 100644
index 0000000..14b700a
--- /dev/null
+++ b/packages/urql/tsconfig.build.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.json",
+ "exclude": ["**/test/**/*", "**/*.*js", "**/*.spec.ts"]
+}
diff --git a/packages/urql/tsconfig.json b/packages/urql/tsconfig.json
new file mode 100644
index 0000000..33c1959
--- /dev/null
+++ b/packages/urql/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "@lockerai/tsconfig/tsconfig.esm.json",
+ "compilerOptions": {
+ "outDir": "./dist",
+ "baseUrl": "./",
+ "rootDir": "./"
+ },
+ "include": ["./*.*js", "./*.*ts", "./**/*.*ts"],
+ "exclude": ["**/node_modules/**/*"]
+}
diff --git a/patches/README.md b/patches/README.md
new file mode 100644
index 0000000..51803cb
--- /dev/null
+++ b/patches/README.md
@@ -0,0 +1,3 @@
+# Patches
+
+A set of patch files to patch dependent packages with pnpm.
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..14dbab6
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,17324 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ devDependencies:
+ '@types/eslint':
+ specifier: 8.44.6
+ version: 8.44.6
+ '@types/jest':
+ specifier: 29.5.6
+ version: 29.5.6
+ '@types/node':
+ specifier: 20.8.7
+ version: 20.8.7
+ cross-env:
+ specifier: 7.0.3
+ version: 7.0.3
+ dotenv-cli:
+ specifier: 7.3.0
+ version: 7.3.0
+ eslint:
+ specifier: 8.52.0
+ version: 8.52.0
+ husky:
+ specifier: 8.0.3
+ version: 8.0.3
+ jest:
+ specifier: 29.7.0
+ version: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ lint-staged:
+ specifier: 15.0.2
+ version: 15.0.2
+ prettier:
+ specifier: 3.0.3
+ version: 3.0.3
+ rimraf:
+ specifier: 5.0.5
+ version: 5.0.5
+ stylelint:
+ specifier: 15.11.0
+ version: 15.11.0(typescript@5.2.2)
+ supabase:
+ specifier: 1.106.1
+ version: 1.106.1
+ ts-jest:
+ specifier: 29.1.1
+ version: 29.1.1(@babel/core@7.23.2)(jest@29.7.0)(typescript@5.2.2)
+ ts-node:
+ specifier: 10.9.1
+ version: 10.9.1(@types/node@20.8.7)(typescript@5.2.2)
+ turbo:
+ specifier: 1.10.16
+ version: 1.10.16
+ typescript:
+ specifier: 5.2.2
+ version: 5.2.2
+
+ apps/api:
+ dependencies:
+ '@apollo/server':
+ specifier: 4.9.4
+ version: 4.9.4(graphql@16.8.1)
+ '@nestjs/apollo':
+ specifier: 12.0.9
+ version: 12.0.9(@apollo/server@4.9.4)(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(@nestjs/graphql@12.0.9)(graphql@16.8.1)
+ '@nestjs/cli':
+ specifier: 10.1.18
+ version: 10.1.18(esbuild@0.18.20)
+ '@nestjs/common':
+ specifier: 10.2.7
+ version: 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/config':
+ specifier: 3.1.1
+ version: 3.1.1(@nestjs/common@10.2.7)(reflect-metadata@0.1.13)
+ '@nestjs/core':
+ specifier: 10.2.7
+ version: 10.2.7(@nestjs/common@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/graphql':
+ specifier: 12.0.9
+ version: 12.0.9(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(graphql@16.8.1)(reflect-metadata@0.1.13)
+ '@nestjs/platform-express':
+ specifier: 10.2.7
+ version: 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)
+ '@nestjs/testing':
+ specifier: 10.2.7
+ version: 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(@nestjs/platform-express@10.2.7)
+ class-transformer:
+ specifier: 0.5.1
+ version: 0.5.1
+ class-validator:
+ specifier: 0.14.0
+ version: 0.14.0
+ dataloader:
+ specifier: 2.2.2
+ version: 2.2.2
+ dotenv:
+ specifier: 16.3.1
+ version: 16.3.1
+ drizzle-orm:
+ specifier: 0.28.6
+ version: 0.28.6(@types/pg@8.10.7)(pg@8.11.3)(postgres@3.4.0)
+ graphql-subscriptions:
+ specifier: 2.0.0
+ version: 2.0.0(graphql@16.8.1)
+ graphql-validation-complexity:
+ specifier: 0.4.2
+ version: 0.4.2(graphql@16.8.1)
+ postgres:
+ specifier: 3.4.0
+ version: 3.4.0
+ ts-pattern:
+ specifier: 5.0.5
+ version: 5.0.5
+ uuid:
+ specifier: 9.0.1
+ version: 9.0.1
+ devDependencies:
+ '@apollo/rover':
+ specifier: 0.20.0
+ version: 0.20.0
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../../packages/jest
+ '@lockerai/postcss':
+ specifier: workspace:*
+ version: link:../../packages/postcss
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../../packages/prettier
+ '@lockerai/stylelint':
+ specifier: workspace:*
+ version: link:../../packages/stylelint
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../../packages/tsconfig
+ '@lockerai/type':
+ specifier: workspace:*
+ version: link:../../packages/type
+ '@nestjs/schematics':
+ specifier: 10.0.2
+ version: 10.0.2(chokidar@3.5.3)(typescript@5.2.2)
+ '@types/graphql-validation-complexity':
+ specifier: 0.4.3
+ version: 0.4.3
+ '@types/pg':
+ specifier: 8.10.7
+ version: 8.10.7
+ drizzle-kit:
+ specifier: 0.19.13
+ version: 0.19.13
+ eslint-config-lockerai-node:
+ specifier: workspace:*
+ version: link:../../packages/eslint/eslint-config-lockerai-node
+ pg:
+ specifier: 8.11.3
+ version: 8.11.3
+
+ apps/catalog:
+ dependencies:
+ '@lockerai/core':
+ specifier: workspace:*
+ version: link:../../packages/core
+ '@lockerai/design-token':
+ specifier: workspace:*
+ version: link:../../packages/design-token
+ '@lockerai/tailwind':
+ specifier: workspace:*
+ version: link:../../packages/tailwind
+ dotenv:
+ specifier: 16.3.1
+ version: 16.3.1
+ react:
+ specifier: 18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: 18.2.0
+ version: 18.2.0(react@18.2.0)
+ devDependencies:
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../../packages/jest
+ '@lockerai/postcss':
+ specifier: workspace:*
+ version: link:../../packages/postcss
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../../packages/prettier
+ '@lockerai/stylelint':
+ specifier: workspace:*
+ version: link:../../packages/stylelint
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../../packages/tsconfig
+ '@storybook/addon-a11y':
+ specifier: 7.5.1
+ version: 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-essentials':
+ specifier: 7.5.1
+ version: 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-styling':
+ specifier: 1.3.7
+ version: 1.3.7(@types/react-dom@18.2.14)(@types/react@18.2.31)(less@4.2.0)(postcss@8.4.31)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(webpack@5.89.0)
+ '@storybook/addon-viewport':
+ specifier: 7.5.1
+ version: 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addons':
+ specifier: 7.5.1
+ version: 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/nextjs':
+ specifier: 7.5.1
+ version: 7.5.1(@swc/core@1.3.93)(@types/react-dom@18.2.14)(@types/react@18.2.31)(esbuild@0.18.20)(next@13.5.6)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(webpack@5.89.0)
+ '@storybook/react':
+ specifier: 7.5.1
+ version: 7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@storybook/theming':
+ specifier: 7.5.1
+ version: 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@types/react':
+ specifier: 18.2.31
+ version: 18.2.31
+ '@types/react-dom':
+ specifier: 18.2.14
+ version: 18.2.14
+ chromatic:
+ specifier: 7.4.0
+ version: 7.4.0
+ eslint-config-lockerai-react:
+ specifier: workspace:*
+ version: link:../../packages/eslint/eslint-config-lockerai-react
+ storybook:
+ specifier: 7.5.1
+ version: 7.5.1
+
+ apps/website:
+ dependencies:
+ '@lockerai/core':
+ specifier: workspace:*
+ version: link:../../packages/core
+ '@lockerai/design-token':
+ specifier: workspace:*
+ version: link:../../packages/design-token
+ '@lockerai/tailwind':
+ specifier: workspace:*
+ version: link:../../packages/tailwind
+ '@lockerai/urql':
+ specifier: workspace:*
+ version: link:../../packages/urql
+ dotenv:
+ specifier: 16.3.1
+ version: 16.3.1
+ framer-motion:
+ specifier: 10.16.4
+ version: 10.16.4(react-dom@18.2.0)(react@18.2.0)
+ graphql-tag:
+ specifier: 2.12.6
+ version: 2.12.6(graphql@16.8.1)
+ next:
+ specifier: 13.5.6
+ version: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ react:
+ specifier: 18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: 18.2.0
+ version: 18.2.0(react@18.2.0)
+ schema-dts:
+ specifier: 1.1.2
+ version: 1.1.2(typescript@5.2.2)
+ sharp:
+ specifier: 0.32.6
+ version: 0.32.6
+ ts-pattern:
+ specifier: 5.0.5
+ version: 5.0.5
+ devDependencies:
+ '@graphql-codegen/cli':
+ specifier: 5.0.0
+ version: 5.0.0(@types/node@20.8.7)(graphql@16.8.1)(typescript@5.2.2)
+ '@graphql-codegen/introspection':
+ specifier: 4.0.0
+ version: 4.0.0(graphql@16.8.1)
+ '@graphql-codegen/typescript':
+ specifier: 4.0.1
+ version: 4.0.1(graphql@16.8.1)
+ '@graphql-codegen/typescript-operations':
+ specifier: 4.0.1
+ version: 4.0.1(graphql@16.8.1)
+ '@graphql-codegen/typescript-urql':
+ specifier: 4.0.0
+ version: 4.0.0(graphql-tag@2.12.6)(graphql@16.8.1)
+ '@graphql-codegen/urql-introspection':
+ specifier: 3.0.0
+ version: 3.0.0(graphql@16.8.1)
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../../packages/jest
+ '@lockerai/postcss':
+ specifier: workspace:*
+ version: link:../../packages/postcss
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../../packages/prettier
+ '@lockerai/stylelint':
+ specifier: workspace:*
+ version: link:../../packages/stylelint
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../../packages/tsconfig
+ '@lockerai/type':
+ specifier: workspace:*
+ version: link:../../packages/type
+ '@storybook/react':
+ specifier: 7.5.1
+ version: 7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@types/react':
+ specifier: 18.2.31
+ version: 18.2.31
+ '@types/react-dom':
+ specifier: 18.2.14
+ version: 18.2.14
+ eslint-config-lockerai-nextjs:
+ specifier: workspace:*
+ version: link:../../packages/eslint/eslint-config-lockerai-nextjs
+
+ packages/core:
+ dependencies:
+ '@lockerai/design-token':
+ specifier: workspace:*
+ version: link:../design-token
+ '@lockerai/tailwind':
+ specifier: workspace:*
+ version: link:../tailwind
+ '@radix-ui/react-select':
+ specifier: 2.0.0
+ version: 2.0.0(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ date-fns:
+ specifier: 2.30.0
+ version: 2.30.0
+ date-fns-tz:
+ specifier: 2.0.0
+ version: 2.0.0(date-fns@2.30.0)
+ dotenv:
+ specifier: 16.3.1
+ version: 16.3.1
+ framer-motion:
+ specifier: 10.16.4
+ version: 10.16.4(react-dom@18.2.0)(react@18.2.0)
+ next:
+ specifier: 13.5.6
+ version: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ next-themes:
+ specifier: 0.2.1
+ version: 0.2.1(next@13.5.6)(react-dom@18.2.0)(react@18.2.0)
+ react:
+ specifier: 18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: 18.2.0
+ version: 18.2.0(react@18.2.0)
+ react-icons:
+ specifier: 4.11.0
+ version: 4.11.0(react@18.2.0)
+ ts-pattern:
+ specifier: 5.0.5
+ version: 5.0.5
+ devDependencies:
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../jest
+ '@lockerai/postcss':
+ specifier: workspace:*
+ version: link:../postcss
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../tsconfig
+ '@lockerai/type':
+ specifier: workspace:*
+ version: link:../type
+ '@storybook/react':
+ specifier: 7.5.1
+ version: 7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@types/react':
+ specifier: 18.2.31
+ version: 18.2.31
+ '@types/react-dom':
+ specifier: 18.2.14
+ version: 18.2.14
+ eslint-config-lockerai-react:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-react
+
+ packages/design-token:
+ devDependencies:
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../jest
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ '@lockerai/stylelint':
+ specifier: workspace:*
+ version: link:../stylelint
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../tsconfig
+ '@lockerai/type':
+ specifier: workspace:*
+ version: link:../type
+ eslint-config-lockerai-esm:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-esm
+
+ packages/eslint:
+ devDependencies:
+ '@typescript-eslint/eslint-plugin':
+ specifier: 6.8.0
+ version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2)
+ '@typescript-eslint/parser':
+ specifier: 6.8.0
+ version: 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ eslint-config-airbnb-base:
+ specifier: 15.0.0
+ version: 15.0.0(eslint-plugin-import@2.28.1)(eslint@8.52.0)
+ eslint-config-airbnb-typescript:
+ specifier: 17.1.0
+ version: 17.1.0(@typescript-eslint/eslint-plugin@6.8.0)(@typescript-eslint/parser@6.8.0)(eslint-plugin-import@2.28.1)(eslint@8.52.0)
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:eslint-config-lockerai-base
+ eslint-config-next:
+ specifier: 13.5.6
+ version: 13.5.6(eslint@8.52.0)(typescript@5.2.2)
+ eslint-config-prettier:
+ specifier: 9.0.0
+ version: 9.0.0(eslint@8.52.0)
+ eslint-import-resolver-typescript:
+ specifier: 3.6.1
+ version: 3.6.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.52.0)
+ eslint-plugin-json:
+ specifier: 3.1.0
+ version: 3.1.0
+ eslint-plugin-jsx-a11y:
+ specifier: 6.7.1
+ version: 6.7.1(eslint@8.52.0)
+ eslint-plugin-prettier:
+ specifier: 5.0.1
+ version: 5.0.1(@types/eslint@8.44.6)(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@3.0.3)
+ eslint-plugin-react:
+ specifier: 7.33.2
+ version: 7.33.2(eslint@8.52.0)
+ eslint-plugin-storybook:
+ specifier: 0.6.15
+ version: 0.6.15(eslint@8.52.0)(typescript@5.2.2)
+ eslint-plugin-tailwindcss:
+ specifier: 3.13.0
+ version: 3.13.0(tailwindcss@3.3.3)
+
+ packages/eslint/eslint-config-lockerai-base: {}
+
+ packages/eslint/eslint-config-lockerai-esm:
+ devDependencies:
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:../eslint-config-lockerai-base
+
+ packages/eslint/eslint-config-lockerai-nextjs:
+ devDependencies:
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:../eslint-config-lockerai-base
+ eslint-config-lockerai-react:
+ specifier: workspace:*
+ version: link:../eslint-config-lockerai-react
+
+ packages/eslint/eslint-config-lockerai-node:
+ devDependencies:
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:../eslint-config-lockerai-base
+
+ packages/eslint/eslint-config-lockerai-react:
+ devDependencies:
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:../eslint-config-lockerai-base
+ eslint-config-lockerai-esm:
+ specifier: workspace:*
+ version: link:../eslint-config-lockerai-esm
+
+ packages/jest:
+ devDependencies:
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../tsconfig
+ '@types/jest':
+ specifier: 29.5.6
+ version: 29.5.6
+ eslint-config-lockerai-esm:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-esm
+ jest:
+ specifier: 29.7.0
+ version: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ jest-environment-jsdom:
+ specifier: 29.7.0
+ version: 29.7.0
+ next:
+ specifier: 13.5.6
+ version: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ ts-jest:
+ specifier: 29.1.1
+ version: 29.1.1(@babel/core@7.23.2)(jest@29.7.0)(typescript@5.2.2)
+
+ packages/postcss:
+ devDependencies:
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ autoprefixer:
+ specifier: 10.4.16
+ version: 10.4.16(postcss@8.4.31)
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-base
+ postcss:
+ specifier: 8.4.31
+ version: 8.4.31
+ postcss-import:
+ specifier: 15.1.0
+ version: 15.1.0(postcss@8.4.31)
+ tailwindcss:
+ specifier: 3.3.3
+ version: 3.3.3(ts-node@10.9.1)
+
+ packages/prettier: {}
+
+ packages/stylelint:
+ devDependencies:
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-base
+ stylelint-config-prettier:
+ specifier: 9.0.5
+ version: 9.0.5(stylelint@15.11.0)
+ stylelint-config-recess-order:
+ specifier: 4.3.0
+ version: 4.3.0(stylelint@15.11.0)
+ stylelint-config-standard-scss:
+ specifier: 11.0.0
+ version: 11.0.0(postcss@8.4.31)(stylelint@15.11.0)
+ stylelint-prettier:
+ specifier: 4.0.2
+ version: 4.0.2(prettier@3.0.3)(stylelint@15.11.0)
+
+ packages/tailwind:
+ dependencies:
+ clsx:
+ specifier: 2.0.0
+ version: 2.0.0
+ dotenv:
+ specifier: 16.3.1
+ version: 16.3.1
+ tailwind-merge:
+ specifier: 1.14.0
+ version: 1.14.0
+ tailwind-variants:
+ specifier: 0.1.14
+ version: 0.1.14(tailwindcss@3.3.3)
+ devDependencies:
+ '@lockerai/design-token':
+ specifier: workspace:*
+ version: link:../design-token
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../jest
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ '@lockerai/stylelint':
+ specifier: workspace:*
+ version: link:../stylelint
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../tsconfig
+ '@lockerai/type':
+ specifier: workspace:*
+ version: link:../type
+ add:
+ specifier: 2.0.6
+ version: 2.0.6
+ autoprefixer:
+ specifier: 10.4.16
+ version: 10.4.16(postcss@8.4.31)
+ eslint-config-lockerai-esm:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-esm
+ mini-svg-data-uri:
+ specifier: 1.4.4
+ version: 1.4.4
+ postcss:
+ specifier: 8.4.31
+ version: 8.4.31
+ postcss-import:
+ specifier: 15.1.0
+ version: 15.1.0(postcss@8.4.31)
+ tailwindcss:
+ specifier: 3.3.3
+ version: 3.3.3(ts-node@10.9.1)
+ tailwindcss-animate:
+ specifier: 1.0.7
+ version: 1.0.7(tailwindcss@3.3.3)
+ tw-colors:
+ specifier: 3.0.3
+ version: 3.0.3(tailwindcss@3.3.3)
+
+ packages/tsconfig:
+ devDependencies:
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ '@tsconfig/create-react-app':
+ specifier: 2.0.1
+ version: 2.0.1
+ '@tsconfig/esm':
+ specifier: 1.0.5
+ version: 1.0.5
+ '@tsconfig/next':
+ specifier: 2.0.1
+ version: 2.0.1
+ '@tsconfig/node-lts':
+ specifier: 18.12.5
+ version: 18.12.5
+ '@tsconfig/strictest':
+ specifier: 2.0.2
+ version: 2.0.2
+ eslint-config-lockerai-base:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-base
+
+ packages/type:
+ dependencies:
+ dotenv:
+ specifier: 16.3.1
+ version: 16.3.1
+ devDependencies:
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../jest
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../tsconfig
+ add:
+ specifier: 2.0.6
+ version: 2.0.6
+ eslint-config-lockerai-esm:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-esm
+ ts-essentials:
+ specifier: 9.4.1
+ version: 9.4.1(typescript@5.2.2)
+
+ packages/urql:
+ dependencies:
+ '@urql/core':
+ specifier: 4.1.4
+ version: 4.1.4(graphql@16.8.1)
+ '@urql/devtools':
+ specifier: 2.0.3
+ version: 2.0.3(@urql/core@4.1.4)(graphql@16.8.1)
+ '@urql/next':
+ specifier: 1.1.0
+ version: 1.1.0(next@13.5.6)(react@18.2.0)(urql@4.0.5)
+ date-fns:
+ specifier: 2.30.0
+ version: 2.30.0
+ graphql:
+ specifier: 16.8.1
+ version: 16.8.1
+ graphql-ws:
+ specifier: 5.14.1
+ version: 5.14.1(graphql@16.8.1)
+ urql-custom-scalars-exchange:
+ specifier: 1.0.1
+ version: 1.0.1(@urql/core@4.1.4)(graphql@16.8.1)(wonka@6.3.4)
+ devDependencies:
+ '@lockerai/jest':
+ specifier: workspace:*
+ version: link:../jest
+ '@lockerai/prettier':
+ specifier: workspace:*
+ version: link:../prettier
+ '@lockerai/tsconfig':
+ specifier: workspace:*
+ version: link:../tsconfig
+ '@lockerai/type':
+ specifier: workspace:*
+ version: link:../type
+ eslint-config-lockerai-esm:
+ specifier: workspace:*
+ version: link:../eslint/eslint-config-lockerai-esm
+
+packages:
+
+ /@0no-co/graphql.web@1.0.4(graphql@16.8.1):
+ resolution: {integrity: sha512-W3ezhHGfO0MS1PtGloaTpg0PbaT8aZSmmaerL7idtU5F7oCI+uu25k+MsMS31BVFlp4aMkHSrNRxiD72IlK8TA==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0
+ peerDependenciesMeta:
+ graphql:
+ optional: true
+ dependencies:
+ graphql: 16.8.1
+ dev: false
+
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /@alloc/quick-lru@5.2.0:
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
+ /@ampproject/remapping@2.2.1:
+ resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
+
+ /@angular-devkit/core@16.1.8(chokidar@3.5.3):
+ resolution: {integrity: sha512-dSRD/+bGanArIXkj+kaU1kDFleZeQMzmBiOXX+pK0Ah9/0Yn1VmY3RZh1zcX9vgIQXV+t7UPrTpOjaERMUtVGw==}
+ engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ peerDependencies:
+ chokidar: ^3.5.2
+ peerDependenciesMeta:
+ chokidar:
+ optional: true
+ dependencies:
+ ajv: 8.12.0
+ ajv-formats: 2.1.1(ajv@8.12.0)
+ chokidar: 3.5.3
+ jsonc-parser: 3.2.0
+ rxjs: 7.8.1
+ source-map: 0.7.4
+
+ /@angular-devkit/core@16.2.3(chokidar@3.5.3):
+ resolution: {integrity: sha512-oZLdg2XTx7likYAXRj1CU0XmrsCfe5f2grj3iwuI3OB1LXwwpdbHBztruj03y3yHES+TnO+dIbkvRnvMXs7uAA==}
+ engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ peerDependencies:
+ chokidar: ^3.5.2
+ peerDependenciesMeta:
+ chokidar:
+ optional: true
+ dependencies:
+ ajv: 8.12.0
+ ajv-formats: 2.1.1(ajv@8.12.0)
+ chokidar: 3.5.3
+ jsonc-parser: 3.2.0
+ picomatch: 2.3.1
+ rxjs: 7.8.1
+ source-map: 0.7.4
+ dev: false
+
+ /@angular-devkit/schematics-cli@16.2.3(chokidar@3.5.3):
+ resolution: {integrity: sha512-5YQCbQmY9Kc03a9Io4XHOrxGXjnzcVveUuUO64R1m5x2aA5I+mVR8NVvxuoGRAeoI1FWusAKRe9hH8nRCLrelA==}
+ engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ hasBin: true
+ dependencies:
+ '@angular-devkit/core': 16.2.3(chokidar@3.5.3)
+ '@angular-devkit/schematics': 16.2.3(chokidar@3.5.3)
+ ansi-colors: 4.1.3
+ inquirer: 8.2.4
+ symbol-observable: 4.0.0
+ yargs-parser: 21.1.1
+ transitivePeerDependencies:
+ - chokidar
+ dev: false
+
+ /@angular-devkit/schematics@16.1.8(chokidar@3.5.3):
+ resolution: {integrity: sha512-6LyzMdFJs337RTxxkI2U1Ndw0CW5mMX/aXWl8d7cW2odiSrAg8IdlMqpc+AM8+CPfsB0FtS1aWkEZqJLT0jHOg==}
+ engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ dependencies:
+ '@angular-devkit/core': 16.1.8(chokidar@3.5.3)
+ jsonc-parser: 3.2.0
+ magic-string: 0.30.0
+ ora: 5.4.1
+ rxjs: 7.8.1
+ transitivePeerDependencies:
+ - chokidar
+
+ /@angular-devkit/schematics@16.2.3(chokidar@3.5.3):
+ resolution: {integrity: sha512-+lBiHxi/C9HCfiCbtW25DldwvJDXXXv5oWw+Tg4s18BO/lYZLveGUEaZWu9ZJ5VIJ8GliUi2LohxhDxBkh4Oxg==}
+ engines: {node: ^16.14.0 || >=18.10.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ dependencies:
+ '@angular-devkit/core': 16.2.3(chokidar@3.5.3)
+ jsonc-parser: 3.2.0
+ magic-string: 0.30.1
+ ora: 5.4.1
+ rxjs: 7.8.1
+ transitivePeerDependencies:
+ - chokidar
+ dev: false
+
+ /@apollo/cache-control-types@1.0.3(graphql@16.8.1):
+ resolution: {integrity: sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ graphql: 16.8.1
+ dev: false
+
+ /@apollo/protobufjs@1.2.7:
+ resolution: {integrity: sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ '@protobufjs/aspromise': 1.1.2
+ '@protobufjs/base64': 1.1.2
+ '@protobufjs/codegen': 2.0.4
+ '@protobufjs/eventemitter': 1.1.0
+ '@protobufjs/fetch': 1.1.0
+ '@protobufjs/float': 1.0.2
+ '@protobufjs/inquire': 1.1.0
+ '@protobufjs/path': 1.1.2
+ '@protobufjs/pool': 1.1.0
+ '@protobufjs/utf8': 1.1.0
+ '@types/long': 4.0.2
+ long: 4.0.0
+ dev: false
+
+ /@apollo/rover@0.20.0:
+ resolution: {integrity: sha512-rKCHvkT+6bodbT+Ach1i7zXXGwcg95ek7TMZIIgXEd1Zr82CF3Ej2iI4Bh7DxxbhT0nNqdH4qPSAbAJkoDfA9Q==}
+ engines: {node: '>=14', npm: '>=6'}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ axios-proxy-builder: 0.1.2
+ binary-install: 1.1.0
+ console.table: 0.10.0
+ detect-libc: 2.0.2
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /@apollo/server-gateway-interface@1.1.1(graphql@16.8.1):
+ resolution: {integrity: sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ '@apollo/usage-reporting-protobuf': 4.1.1
+ '@apollo/utils.fetcher': 2.0.1
+ '@apollo/utils.keyvaluecache': 2.1.1
+ '@apollo/utils.logger': 2.0.1
+ graphql: 16.8.1
+ dev: false
+
+ /@apollo/server-plugin-landing-page-graphql-playground@4.0.0(@apollo/server@4.9.4):
+ resolution: {integrity: sha512-PBDtKI/chJ+hHeoJUUH9Kuqu58txQl00vUGuxqiC9XcReulIg7RjsyD0G1u3drX4V709bxkL5S0nTeXfRHD0qA==}
+ engines: {node: '>=14.0'}
+ deprecated: The use of GraphQL Playground in Apollo Server was supported in previous versions, but this is no longer the case as of December 31, 2022. This package exists for v4 migration purposes only. We do not intend to resolve security issues or other bugs with this package if they arise, so please migrate away from this to [Apollo Server's default Explorer](https://www.apollographql.com/docs/apollo-server/api/plugin/landing-pages) as soon as possible.
+ peerDependencies:
+ '@apollo/server': ^4.0.0
+ dependencies:
+ '@apollo/server': 4.9.4(graphql@16.8.1)
+ '@apollographql/graphql-playground-html': 1.6.29
+ dev: false
+
+ /@apollo/server@4.9.4(graphql@16.8.1):
+ resolution: {integrity: sha512-lopNDM3sZerTcYH/P85QX5HqSNV4HoVbtX3zOrf0ak7eplhPDiGVyF0jQWRbL64znG6KXW+nMuLDTyFTMQnvgA==}
+ engines: {node: '>=14.16.0'}
+ peerDependencies:
+ graphql: ^16.6.0
+ dependencies:
+ '@apollo/cache-control-types': 1.0.3(graphql@16.8.1)
+ '@apollo/server-gateway-interface': 1.1.1(graphql@16.8.1)
+ '@apollo/usage-reporting-protobuf': 4.1.1
+ '@apollo/utils.createhash': 2.0.1
+ '@apollo/utils.fetcher': 2.0.1
+ '@apollo/utils.isnodelike': 2.0.1
+ '@apollo/utils.keyvaluecache': 2.1.1
+ '@apollo/utils.logger': 2.0.1
+ '@apollo/utils.usagereporting': 2.1.0(graphql@16.8.1)
+ '@apollo/utils.withrequired': 2.0.1
+ '@graphql-tools/schema': 9.0.19(graphql@16.8.1)
+ '@josephg/resolvable': 1.0.1
+ '@types/express': 4.17.20
+ '@types/express-serve-static-core': 4.17.39
+ '@types/node-fetch': 2.6.7
+ async-retry: 1.3.3
+ body-parser: 1.20.2
+ cors: 2.8.5
+ express: 4.18.2
+ graphql: 16.8.1
+ loglevel: 1.8.1
+ lru-cache: 7.18.3
+ negotiator: 0.6.3
+ node-abort-controller: 3.1.1
+ node-fetch: 2.7.0
+ uuid: 9.0.1
+ whatwg-mimetype: 3.0.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /@apollo/usage-reporting-protobuf@4.1.1:
+ resolution: {integrity: sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==}
+ dependencies:
+ '@apollo/protobufjs': 1.2.7
+ dev: false
+
+ /@apollo/utils.createhash@2.0.1:
+ resolution: {integrity: sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@apollo/utils.isnodelike': 2.0.1
+ sha.js: 2.4.11
+ dev: false
+
+ /@apollo/utils.dropunuseddefinitions@2.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ graphql: 16.8.1
+ dev: false
+
+ /@apollo/utils.fetcher@2.0.1:
+ resolution: {integrity: sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==}
+ engines: {node: '>=14'}
+ dev: false
+
+ /@apollo/utils.isnodelike@2.0.1:
+ resolution: {integrity: sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==}
+ engines: {node: '>=14'}
+ dev: false
+
+ /@apollo/utils.keyvaluecache@2.1.1:
+ resolution: {integrity: sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@apollo/utils.logger': 2.0.1
+ lru-cache: 7.18.3
+ dev: false
+
+ /@apollo/utils.logger@2.0.1:
+ resolution: {integrity: sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==}
+ engines: {node: '>=14'}
+ dev: false
+
+ /@apollo/utils.printwithreducedwhitespace@2.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ graphql: 16.8.1
+ dev: false
+
+ /@apollo/utils.removealiases@2.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ graphql: 16.8.1
+ dev: false
+
+ /@apollo/utils.sortast@2.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ graphql: 16.8.1
+ lodash.sortby: 4.7.0
+ dev: false
+
+ /@apollo/utils.stripsensitiveliterals@2.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ graphql: 16.8.1
+ dev: false
+
+ /@apollo/utils.usagereporting@2.1.0(graphql@16.8.1):
+ resolution: {integrity: sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ graphql: 14.x || 15.x || 16.x
+ dependencies:
+ '@apollo/usage-reporting-protobuf': 4.1.1
+ '@apollo/utils.dropunuseddefinitions': 2.0.1(graphql@16.8.1)
+ '@apollo/utils.printwithreducedwhitespace': 2.0.1(graphql@16.8.1)
+ '@apollo/utils.removealiases': 2.0.1(graphql@16.8.1)
+ '@apollo/utils.sortast': 2.0.1(graphql@16.8.1)
+ '@apollo/utils.stripsensitiveliterals': 2.0.1(graphql@16.8.1)
+ graphql: 16.8.1
+ dev: false
+
+ /@apollo/utils.withrequired@2.0.1:
+ resolution: {integrity: sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==}
+ engines: {node: '>=14'}
+ dev: false
+
+ /@apollographql/graphql-playground-html@1.6.29:
+ resolution: {integrity: sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==}
+ dependencies:
+ xss: 1.0.14
+ dev: false
+
+ /@ardatan/relay-compiler@12.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==}
+ hasBin: true
+ peerDependencies:
+ graphql: '*'
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/generator': 7.23.0
+ '@babel/parser': 7.23.0
+ '@babel/runtime': 7.23.2
+ '@babel/traverse': 7.23.2
+ '@babel/types': 7.23.0
+ babel-preset-fbjs: 3.4.0(@babel/core@7.23.2)
+ chalk: 4.1.2
+ fb-watchman: 2.0.2
+ fbjs: 3.0.5
+ glob: 7.2.3
+ graphql: 16.8.1
+ immutable: 3.7.6
+ invariant: 2.2.4
+ nullthrows: 1.1.1
+ relay-runtime: 12.0.0
+ signedsource: 1.0.0
+ yargs: 15.4.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@ardatan/sync-fetch@0.0.1:
+ resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==}
+ engines: {node: '>=14'}
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /@aw-web-design/x-default-browser@1.4.126:
+ resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==}
+ hasBin: true
+ dependencies:
+ default-browser-id: 3.0.0
+ dev: true
+
+ /@babel/code-frame@7.22.13:
+ resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.22.20
+ chalk: 2.4.2
+
+ /@babel/compat-data@7.23.2:
+ resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/core@7.23.2:
+ resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.22.13
+ '@babel/generator': 7.23.0
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2)
+ '@babel/helpers': 7.23.2
+ '@babel/parser': 7.23.0
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.2
+ '@babel/types': 7.23.0
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/generator@7.23.0:
+ resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
+ jsesc: 2.5.2
+
+ /@babel/helper-annotate-as-pure@7.22.5:
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
+ resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@babel/helper-compilation-targets@7.22.15:
+ resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/compat-data': 7.23.2
+ '@babel/helper-validator-option': 7.22.15
+ browserslist: 4.22.1
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ regexpu-core: 5.3.2
+ semver: 6.3.1
+ dev: true
+
+ /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-environment-visitor@7.22.20:
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-function-name@7.23.0:
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.0
+
+ /@babel/helper-hoist-variables@7.22.5:
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@babel/helper-module-imports@7.22.15:
+ resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+
+ /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.2):
+ resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-wrap-function': 7.22.20
+ dev: true
+
+ /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.2):
+ resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: true
+
+ /@babel/helper-simple-access@7.22.5:
+ resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@babel/helper-split-export-declaration@7.22.6:
+ resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.0
+
+ /@babel/helper-string-parser@7.22.5:
+ resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-option@7.22.15:
+ resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-wrap-function@7.22.20:
+ resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.23.0
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@babel/helpers@7.23.2:
+ resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/traverse': 7.23.2
+ '@babel/types': 7.23.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/highlight@7.22.20:
+ resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ /@babel/parser@7.23.0:
+ resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.23.0
+
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.2):
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.2):
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.23.2):
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.2
+ '@babel/core': 7.23.2
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2):
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ dev: true
+
+ /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2):
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.2):
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.2):
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.2):
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2):
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.2):
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.23.2):
+ resolution: {integrity: sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-classes@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2)
+ '@babel/helper-split-export-declaration': 7.22.6
+ globals: 11.12.0
+ dev: true
+
+ /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/template': 7.22.15
+ dev: true
+
+ /@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-literals@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-simple-access': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.20
+ dev: true
+
+ /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.2
+ '@babel/core': 7.23.2
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.23.2):
+ resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2)
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.23.2):
+ resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ regenerator-transform: 0.15.2
+ dev: true
+
+ /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-runtime@7.23.2(@babel/core@7.23.2):
+ resolution: {integrity: sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2)
+ babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.23.2)
+ babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-spread@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.23.2):
+ resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.2)
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/preset-env@7.23.2(@babel/core@7.23.2):
+ resolution: {integrity: sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.23.2
+ '@babel/core': 7.23.2
+ '@babel/helper-compilation-targets': 7.22.15
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.15
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.2)
+ '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-async-generator-functions': 7.23.2(@babel/core@7.23.2)
+ '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-modules-amd': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-modules-systemjs': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.23.2)
+ '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.23.2)
+ '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.23.2)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.2)
+ '@babel/types': 7.23.0
+ babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2)
+ babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.23.2)
+ babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2)
+ core-js-compat: 3.33.1
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/preset-flow@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.15
+ '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.2):
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/types': 7.23.0
+ esutils: 2.0.3
+ dev: true
+
+ /@babel/preset-react@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.15
+ '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/preset-typescript@7.23.2(@babel/core@7.23.2):
+ resolution: {integrity: sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.15
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.23.2)
+ dev: true
+
+ /@babel/register@7.22.15(@babel/core@7.23.2):
+ resolution: {integrity: sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ clone-deep: 4.0.1
+ find-cache-dir: 2.1.0
+ make-dir: 2.1.0
+ pirates: 4.0.6
+ source-map-support: 0.5.21
+ dev: true
+
+ /@babel/regjsgen@0.8.0:
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+ dev: true
+
+ /@babel/runtime@7.23.2:
+ resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.0
+
+ /@babel/template@7.22.15:
+ resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ '@babel/parser': 7.23.0
+ '@babel/types': 7.23.0
+
+ /@babel/traverse@7.23.2:
+ resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ '@babel/generator': 7.23.0
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.23.0
+ '@babel/types': 7.23.0
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/types@7.23.0:
+ resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.22.5
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+
+ /@base2/pretty-print-object@1.0.1:
+ resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==}
+ dev: true
+
+ /@bcoe/v8-coverage@0.2.3:
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+ dev: true
+
+ /@colors/colors@1.5.0:
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+ requiresBuild: true
+ optional: true
+
+ /@cspotcode/source-map-support@0.8.1:
+ resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.9
+
+ /@csstools/css-parser-algorithms@2.3.2(@csstools/css-tokenizer@2.2.1):
+ resolution: {integrity: sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ '@csstools/css-tokenizer': ^2.2.1
+ dependencies:
+ '@csstools/css-tokenizer': 2.2.1
+ dev: true
+
+ /@csstools/css-tokenizer@2.2.1:
+ resolution: {integrity: sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==}
+ engines: {node: ^14 || ^16 || >=18}
+ dev: true
+
+ /@csstools/media-query-list-parser@2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1):
+ resolution: {integrity: sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ '@csstools/css-parser-algorithms': ^2.3.2
+ '@csstools/css-tokenizer': ^2.2.1
+ dependencies:
+ '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
+ '@csstools/css-tokenizer': 2.2.1
+ dev: true
+
+ /@csstools/selector-specificity@3.0.0(postcss-selector-parser@6.0.13):
+ resolution: {integrity: sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==}
+ engines: {node: ^14 || ^16 || >=18}
+ peerDependencies:
+ postcss-selector-parser: ^6.0.13
+ dependencies:
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /@discoveryjs/json-ext@0.5.7:
+ resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
+ engines: {node: '>=10.0.0'}
+ dev: true
+
+ /@drizzle-team/studio@0.0.5:
+ resolution: {integrity: sha512-ps5qF0tMxWRVu+V5gvCRrQNqlY92aTnIKdq27gm9LZMSdaKYZt6AVvSK1dlUMzs6Rt0Jm80b+eWct6xShBKhIw==}
+ dev: true
+
+ /@emotion/is-prop-valid@0.8.8:
+ resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
+ requiresBuild: true
+ dependencies:
+ '@emotion/memoize': 0.7.4
+ dev: false
+ optional: true
+
+ /@emotion/memoize@0.7.4:
+ resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0):
+ resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
+ dev: true
+
+ /@esbuild-kit/core-utils@3.3.2:
+ resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
+ dependencies:
+ esbuild: 0.18.20
+ source-map-support: 0.5.21
+ dev: true
+
+ /@esbuild-kit/esm-loader@2.6.5:
+ resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
+ dependencies:
+ '@esbuild-kit/core-utils': 3.3.2
+ get-tsconfig: 4.7.2
+ dev: true
+
+ /@esbuild/android-arm64@0.18.20:
+ resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-arm@0.18.20:
+ resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/android-x64@0.18.20:
+ resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.18.20:
+ resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.18.20:
+ resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.18.20:
+ resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.18.20:
+ resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.18.20:
+ resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-arm@0.18.20:
+ resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.18.20:
+ resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.18.20:
+ resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.18.20:
+ resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.18.20:
+ resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.18.20:
+ resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.18.20:
+ resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/linux-x64@0.18.20:
+ resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.18.20:
+ resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.18.20:
+ resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.18.20:
+ resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.18.20:
+ resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.18.20:
+ resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@esbuild/win32-x64@0.18.20:
+ resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.52.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
+ dependencies:
+ eslint: 8.52.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@eslint-community/regexpp@4.9.1:
+ resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/eslintrc@2.1.2:
+ resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.23.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/js@8.52.0:
+ resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@fal-works/esbuild-plugin-global-externals@2.1.2:
+ resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==}
+ dev: true
+
+ /@floating-ui/core@1.5.0:
+ resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==}
+ dependencies:
+ '@floating-ui/utils': 0.1.6
+
+ /@floating-ui/dom@1.5.3:
+ resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==}
+ dependencies:
+ '@floating-ui/core': 1.5.0
+ '@floating-ui/utils': 0.1.6
+
+ /@floating-ui/react-dom@2.0.2(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@floating-ui/dom': 1.5.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ /@floating-ui/utils@0.1.6:
+ resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==}
+
+ /@graphql-codegen/cli@5.0.0(@types/node@20.8.7)(graphql@16.8.1)(typescript@5.2.2):
+ resolution: {integrity: sha512-A7J7+be/a6e+/ul2KI5sfJlpoqeqwX8EzktaKCeduyVKgOLA6W5t+NUGf6QumBDXU8PEOqXk3o3F+RAwCWOiqA==}
+ hasBin: true
+ peerDependencies:
+ '@parcel/watcher': ^2.1.0
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ peerDependenciesMeta:
+ '@parcel/watcher':
+ optional: true
+ dependencies:
+ '@babel/generator': 7.23.0
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.0
+ '@graphql-codegen/core': 4.0.0(graphql@16.8.1)
+ '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1)
+ '@graphql-tools/apollo-engine-loader': 8.0.0(graphql@16.8.1)
+ '@graphql-tools/code-file-loader': 8.0.2(graphql@16.8.1)
+ '@graphql-tools/git-loader': 8.0.2(graphql@16.8.1)
+ '@graphql-tools/github-loader': 8.0.0(@types/node@20.8.7)(graphql@16.8.1)
+ '@graphql-tools/graphql-file-loader': 8.0.0(graphql@16.8.1)
+ '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1)
+ '@graphql-tools/load': 8.0.0(graphql@16.8.1)
+ '@graphql-tools/prisma-loader': 8.0.1(@types/node@20.8.7)(graphql@16.8.1)
+ '@graphql-tools/url-loader': 8.0.0(@types/node@20.8.7)(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@whatwg-node/fetch': 0.8.8
+ chalk: 4.1.2
+ cosmiconfig: 8.3.6(typescript@5.2.2)
+ debounce: 1.2.1
+ detect-indent: 6.1.0
+ graphql: 16.8.1
+ graphql-config: 5.0.3(@types/node@20.8.7)(graphql@16.8.1)(typescript@5.2.2)
+ inquirer: 8.2.6
+ is-glob: 4.0.3
+ jiti: 1.20.0
+ json-to-pretty-yaml: 1.2.2
+ listr2: 4.0.5
+ log-symbols: 4.1.0
+ micromatch: 4.0.5
+ shell-quote: 1.8.1
+ string-env-interpolation: 1.0.1
+ ts-log: 2.2.5
+ tslib: 2.6.2
+ yaml: 2.3.3
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - bufferutil
+ - cosmiconfig-toml-loader
+ - encoding
+ - enquirer
+ - supports-color
+ - typescript
+ - utf-8-validate
+ dev: true
+
+ /@graphql-codegen/core@4.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-JAGRn49lEtSsZVxeIlFVIRxts2lWObR+OQo7V2LHDJ7ohYYw3ilv7nJ8pf8P4GTg/w6ptcYdSdVVdkI8kUHB/Q==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1)
+ '@graphql-tools/schema': 10.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.5.3
+ dev: true
+
+ /@graphql-codegen/introspection@4.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-t9g3AkK99dfHblMWtG4ynUM9+A7JrWq5110zSpNV2wlSnv0+bRKagDW8gozwgXfR5i1IIG8QDjJZ6VgXQVqCZw==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1)
+ '@graphql-codegen/visitor-plugin-common': 4.0.1(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.5.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-codegen/plugin-helpers@2.7.2(graphql@16.8.1):
+ resolution: {integrity: sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-tools/utils': 8.13.1(graphql@16.8.1)
+ change-case-all: 1.0.14
+ common-tags: 1.8.2
+ graphql: 16.8.1
+ import-from: 4.0.0
+ lodash: 4.17.21
+ tslib: 2.4.1
+ dev: true
+
+ /@graphql-codegen/plugin-helpers@3.1.2(graphql@16.8.1):
+ resolution: {integrity: sha512-emOQiHyIliVOIjKVKdsI5MXj312zmRDwmHpyUTZMjfpvxq/UVAHUJIVdVf+lnjjrI+LXBTgMlTWTgHQfmICxjg==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-tools/utils': 9.2.1(graphql@16.8.1)
+ change-case-all: 1.0.15
+ common-tags: 1.8.2
+ graphql: 16.8.1
+ import-from: 4.0.0
+ lodash: 4.17.21
+ tslib: 2.4.1
+ dev: true
+
+ /@graphql-codegen/plugin-helpers@5.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-6L5sb9D8wptZhnhLLBcheSPU7Tg//DGWgc5tQBWX46KYTOTQHGqDpv50FxAJJOyFVJrveN9otWk9UT9/yfY4ww==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ change-case-all: 1.0.15
+ common-tags: 1.8.2
+ graphql: 16.8.1
+ import-from: 4.0.0
+ lodash: 4.17.21
+ tslib: 2.5.3
+ dev: true
+
+ /@graphql-codegen/schema-ast@4.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-WIzkJFa9Gz28FITAPILbt+7A8+yzOyd1NxgwFh7ie+EmO9a5zQK6UQ3U/BviirguXCYnn+AR4dXsoDrSrtRA1g==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.5.3
+ dev: true
+
+ /@graphql-codegen/typescript-operations@4.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-GpUWWdBVUec/Zqo23aFLBMrXYxN2irypHqDcKjN78JclDPdreasAEPcIpMfqf4MClvpmvDLy4ql+djVAwmkjbw==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1)
+ '@graphql-codegen/typescript': 4.0.1(graphql@16.8.1)
+ '@graphql-codegen/visitor-plugin-common': 4.0.1(graphql@16.8.1)
+ auto-bind: 4.0.0
+ graphql: 16.8.1
+ tslib: 2.5.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-codegen/typescript-urql@4.0.0(graphql-tag@2.12.6)(graphql@16.8.1):
+ resolution: {integrity: sha512-l15f44zxU5r1yiIpzLzgDQf2JLmTT+ZrFv7D4kQVAAXquPRN+Bdei1V9VAcatISb5bcHNxmdrXIRMtWKPwVwTg==}
+ engines: {node: '>= 16.0.0'}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ graphql-tag: ^2.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1)
+ '@graphql-codegen/visitor-plugin-common': 2.13.1(graphql@16.8.1)
+ auto-bind: 4.0.0
+ graphql: 16.8.1
+ graphql-tag: 2.12.6(graphql@16.8.1)
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-codegen/typescript@4.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-3YziQ21dCVdnHb+Us1uDb3pA6eG5Chjv0uTK+bt9dXeMlwYBU8MbtzvQTo4qvzWVC1AxSOKj0rgfNu1xCXqJyA==}
+ peerDependencies:
+ graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1)
+ '@graphql-codegen/schema-ast': 4.0.0(graphql@16.8.1)
+ '@graphql-codegen/visitor-plugin-common': 4.0.1(graphql@16.8.1)
+ auto-bind: 4.0.0
+ graphql: 16.8.1
+ tslib: 2.5.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-codegen/urql-introspection@3.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-DBYfG3CO3G6MTzp+/FaXuxYS6cFSkpDMwxXKoJVqKR0jIGd/ev3Gh1pTgqxndcBu8oV9xjiaBQglKCge0EqLpQ==}
+ engines: {node: '>= 16.0.0'}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.1)
+ '@urql/introspection': 0.3.3(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+ dev: true
+
+ /@graphql-codegen/visitor-plugin-common@2.13.1(graphql@16.8.1):
+ resolution: {integrity: sha512-mD9ufZhDGhyrSaWQGrU1Q1c5f01TeWtSWy/cDwXYjJcHIj1Y/DG2x0tOflEfCvh5WcnmHNIw4lzDsg1W7iFJEg==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.8.1)
+ '@graphql-tools/optimize': 1.4.0(graphql@16.8.1)
+ '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.8.1)
+ '@graphql-tools/utils': 8.13.1(graphql@16.8.1)
+ auto-bind: 4.0.0
+ change-case-all: 1.0.14
+ dependency-graph: 0.11.0
+ graphql: 16.8.1
+ graphql-tag: 2.12.6(graphql@16.8.1)
+ parse-filepath: 1.0.2
+ tslib: 2.4.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-codegen/visitor-plugin-common@4.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-Bi/1z0nHg4QMsAqAJhds+ForyLtk7A3HQOlkrZNm3xEkY7lcBzPtiOTLBtvziwopBsXUxqeSwVjOOFPLS5Yw1Q==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ '@graphql-codegen/plugin-helpers': 5.0.1(graphql@16.8.1)
+ '@graphql-tools/optimize': 2.0.0(graphql@16.8.1)
+ '@graphql-tools/relay-operation-optimizer': 7.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ auto-bind: 4.0.0
+ change-case-all: 1.0.15
+ dependency-graph: 0.11.0
+ graphql: 16.8.1
+ graphql-tag: 2.12.6(graphql@16.8.1)
+ parse-filepath: 1.0.2
+ tslib: 2.5.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-tools/apollo-engine-loader@8.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-axQTbN5+Yxs1rJ6cWQBOfw3AEeC+fvIuZSfJLPLLvFJLj4pUm9fhxey/g6oQZAAQJqKPfw+tLDUQvnfvRK8Kmg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@ardatan/sync-fetch': 0.0.1
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@whatwg-node/fetch': 0.9.13
+ graphql: 16.8.1
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /@graphql-tools/batch-execute@9.0.2(graphql@16.8.1):
+ resolution: {integrity: sha512-Y2uwdZI6ZnatopD/SYfZ1eGuQFI7OU2KGZ2/B/7G9ISmgMl5K+ZZWz/PfIEXeiHirIDhyk54s4uka5rj2xwKqQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ dataloader: 2.2.2
+ graphql: 16.8.1
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+ dev: true
+
+ /@graphql-tools/code-file-loader@8.0.2(graphql@16.8.1):
+ resolution: {integrity: sha512-AKNpkElUL2cWocYpC4DzNEpo6qJw8Lp+L3bKQ/mIfmbsQxgLz5uve6zHBMhDaFPdlwfIox41N3iUSvi77t9e8A==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/graphql-tag-pluck': 8.0.2(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ globby: 11.1.0
+ graphql: 16.8.1
+ tslib: 2.6.2
+ unixify: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@graphql-tools/delegate@10.0.3(graphql@16.8.1):
+ resolution: {integrity: sha512-Jor9oazZ07zuWkykD3OOhT/2XD74Zm6Ar0ENZMk75MDD51wB2UWUIMljtHxbJhV5A6UBC2v8x6iY0xdCGiIlyw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/batch-execute': 9.0.2(graphql@16.8.1)
+ '@graphql-tools/executor': 1.2.0(graphql@16.8.1)
+ '@graphql-tools/schema': 10.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ dataloader: 2.2.2
+ graphql: 16.8.1
+ tslib: 2.6.2
+ dev: true
+
+ /@graphql-tools/executor-graphql-ws@1.1.0(graphql@16.8.1):
+ resolution: {integrity: sha512-yM67SzwE8rYRpm4z4AuGtABlOp9mXXVy6sxXnTJRoYIdZrmDbKVfIY+CpZUJCqS0FX3xf2+GoHlsj7Qswaxgcg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@types/ws': 8.5.8
+ graphql: 16.8.1
+ graphql-ws: 5.14.1(graphql@16.8.1)
+ isomorphic-ws: 5.0.0(ws@8.14.2)
+ tslib: 2.6.2
+ ws: 8.14.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: true
+
+ /@graphql-tools/executor-http@1.0.3(@types/node@20.8.7)(graphql@16.8.1):
+ resolution: {integrity: sha512-5WZIMBevRaxMabZ8U2Ty0dTUPy/PpeYSlMNEmC/YJjKKykgSfc/AwSejx2sE4FFKZ0I2kxRKRenyoWMHRAV49Q==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@repeaterjs/repeater': 3.0.4
+ '@whatwg-node/fetch': 0.9.13
+ extract-files: 11.0.0
+ graphql: 16.8.1
+ meros: 1.3.0(@types/node@20.8.7)
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+ transitivePeerDependencies:
+ - '@types/node'
+ dev: true
+
+ /@graphql-tools/executor-legacy-ws@1.0.4(graphql@16.8.1):
+ resolution: {integrity: sha512-b7aGuRekZDS+m3af3BIvMKxu15bmVPMt5eGQVuP2v5pxmbaPTh+iv5mx9b3Plt32z5Ke5tycBnNm5urSFtW8ng==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@types/ws': 8.5.8
+ graphql: 16.8.1
+ isomorphic-ws: 5.0.0(ws@8.14.2)
+ tslib: 2.6.2
+ ws: 8.14.2
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: true
+
+ /@graphql-tools/executor@1.2.0(graphql@16.8.1):
+ resolution: {integrity: sha512-SKlIcMA71Dha5JnEWlw4XxcaJ+YupuXg0QCZgl2TOLFz4SkGCwU/geAsJvUJFwK2RbVLpQv/UMq67lOaBuwDtg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1)
+ '@repeaterjs/repeater': 3.0.4
+ graphql: 16.8.1
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+ dev: true
+
+ /@graphql-tools/git-loader@8.0.2(graphql@16.8.1):
+ resolution: {integrity: sha512-AuCB0nlPvsHh8u42zRZdlD/ZMaWP9A44yAkQUVCZir1E/LG63fsZ9svTWJ+CbusW3Hd0ZP9qpxEhlHxnd4Tlsg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/graphql-tag-pluck': 8.0.2(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ is-glob: 4.0.3
+ micromatch: 4.0.5
+ tslib: 2.6.2
+ unixify: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@graphql-tools/github-loader@8.0.0(@types/node@20.8.7)(graphql@16.8.1):
+ resolution: {integrity: sha512-VuroArWKcG4yaOWzV0r19ElVIV6iH6UKDQn1MXemND0xu5TzrFme0kf3U9o0YwNo0kUYEk9CyFM0BYg4he17FA==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@ardatan/sync-fetch': 0.0.1
+ '@graphql-tools/executor-http': 1.0.3(@types/node@20.8.7)(graphql@16.8.1)
+ '@graphql-tools/graphql-tag-pluck': 8.0.2(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@whatwg-node/fetch': 0.9.13
+ graphql: 16.8.1
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+ transitivePeerDependencies:
+ - '@types/node'
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-tools/graphql-file-loader@8.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-wRXj9Z1IFL3+zJG1HWEY0S4TXal7+s1vVhbZva96MSp0kbb/3JBF7j0cnJ44Eq0ClccMgGCDFqPFXty4JlpaPg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/import': 7.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ globby: 11.1.0
+ graphql: 16.8.1
+ tslib: 2.6.2
+ unixify: 1.0.0
+ dev: true
+
+ /@graphql-tools/graphql-tag-pluck@8.0.2(graphql@16.8.1):
+ resolution: {integrity: sha512-U6fE4yEHxuk/nqmPixHpw1WhqdS6aYuaV60m1bEmUmGJNbpAhaMBy01JncpvpF15yZR5LZ0UjkHg+A3Lhoc8YQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/parser': 7.23.0
+ '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.23.2)
+ '@babel/traverse': 7.23.2
+ '@babel/types': 7.23.0
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@graphql-tools/import@7.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-NVZiTO8o1GZs6OXzNfjB+5CtQtqsZZpQOq+Uu0w57kdUkT4RlQKlwhT8T81arEsbV55KpzkpFsOZP7J1wdmhBw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ resolve-from: 5.0.0
+ tslib: 2.6.2
+ dev: true
+
+ /@graphql-tools/json-file-loader@8.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-ki6EF/mobBWJjAAC84xNrFMhNfnUFD6Y0rQMGXekrUgY0NdeYXHU0ZUgHzC9O5+55FslqUmAUHABePDHTyZsLg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ globby: 11.1.0
+ graphql: 16.8.1
+ tslib: 2.6.2
+ unixify: 1.0.0
+ dev: true
+
+ /@graphql-tools/load@8.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-Cy874bQJH0FP2Az7ELPM49iDzOljQmK1PPH6IuxsWzLSTxwTqd8dXA09dcVZrI7/LsN26heTY2R8q2aiiv0GxQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/schema': 10.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ p-limit: 3.1.0
+ tslib: 2.6.2
+ dev: true
+
+ /@graphql-tools/merge@8.4.2(graphql@16.8.1):
+ resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 9.2.1(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+ dev: false
+
+ /@graphql-tools/merge@9.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-J7/xqjkGTTwOJmaJQJ2C+VDBDOWJL3lKrHJN4yMaRLAJH3PosB7GiPRaSDZdErs0+F77sH2MKs2haMMkywzx7Q==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/utils': 10.0.6(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+
+ /@graphql-tools/optimize@1.4.0(graphql@16.8.1):
+ resolution: {integrity: sha512-dJs/2XvZp+wgHH8T5J2TqptT9/6uVzIYvA6uFACha+ufvdMBedkfR4b4GbT8jAKLRARiqRTxy3dctnwkTM2tdw==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ graphql: 16.8.1
+ tslib: 2.6.2
+ dev: true
+
+ /@graphql-tools/optimize@2.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ graphql: 16.8.1
+ tslib: 2.5.3
+ dev: true
+
+ /@graphql-tools/prisma-loader@8.0.1(@types/node@20.8.7)(graphql@16.8.1):
+ resolution: {integrity: sha512-bl6e5sAYe35Z6fEbgKXNrqRhXlCJYeWKBkarohgYA338/SD9eEhXtg3Cedj7fut3WyRLoQFpHzfiwxKs7XrgXg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/url-loader': 8.0.0(@types/node@20.8.7)(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@types/js-yaml': 4.0.8
+ '@types/json-stable-stringify': 1.0.35
+ '@whatwg-node/fetch': 0.9.13
+ chalk: 4.1.2
+ debug: 4.3.4
+ dotenv: 16.3.1
+ graphql: 16.8.1
+ graphql-request: 6.1.0(graphql@16.8.1)
+ http-proxy-agent: 7.0.0
+ https-proxy-agent: 7.0.2
+ jose: 4.15.4
+ js-yaml: 4.1.0
+ json-stable-stringify: 1.0.2
+ lodash: 4.17.21
+ scuid: 1.1.0
+ tslib: 2.6.2
+ yaml-ast-parser: 0.0.43
+ transitivePeerDependencies:
+ - '@types/node'
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@graphql-tools/relay-operation-optimizer@6.5.18(graphql@16.8.1):
+ resolution: {integrity: sha512-mc5VPyTeV+LwiM+DNvoDQfPqwQYhPV/cl5jOBjTgSniyaq8/86aODfMkrE2OduhQ5E00hqrkuL2Fdrgk0w1QJg==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@ardatan/relay-compiler': 12.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 9.2.1(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-tools/relay-operation-optimizer@7.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-UNlJi5y3JylhVWU4MBpL0Hun4Q7IoJwv9xYtmAz+CgRa066szzY7dcuPfxrA7cIGgG/Q6TVsKsYaiF4OHPs1Fw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@ardatan/relay-compiler': 12.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.5.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@graphql-tools/schema@10.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-kf3qOXMFcMs2f/S8Y3A8fm/2w+GaHAkfr3Gnhh2LOug/JgpY/ywgFVxO3jOeSpSEdoYcDKLcXVjMigNbY4AdQg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/merge': 9.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.6(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+
+ /@graphql-tools/schema@9.0.19(graphql@16.8.1):
+ resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/merge': 8.4.2(graphql@16.8.1)
+ '@graphql-tools/utils': 9.2.1(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+ dev: false
+
+ /@graphql-tools/url-loader@8.0.0(@types/node@20.8.7)(graphql@16.8.1):
+ resolution: {integrity: sha512-rPc9oDzMnycvz+X+wrN3PLrhMBQkG4+sd8EzaFN6dypcssiefgWKToXtRKI8HHK68n2xEq1PyrOpkjHFJB+GwA==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@ardatan/sync-fetch': 0.0.1
+ '@graphql-tools/delegate': 10.0.3(graphql@16.8.1)
+ '@graphql-tools/executor-graphql-ws': 1.1.0(graphql@16.8.1)
+ '@graphql-tools/executor-http': 1.0.3(@types/node@20.8.7)(graphql@16.8.1)
+ '@graphql-tools/executor-legacy-ws': 1.0.4(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ '@graphql-tools/wrap': 10.0.1(graphql@16.8.1)
+ '@types/ws': 8.5.8
+ '@whatwg-node/fetch': 0.9.13
+ graphql: 16.8.1
+ isomorphic-ws: 5.0.0(ws@8.14.2)
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+ ws: 8.14.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - bufferutil
+ - encoding
+ - utf-8-validate
+ dev: true
+
+ /@graphql-tools/utils@10.0.6(graphql@16.8.1):
+ resolution: {integrity: sha512-hZMjl/BbX10iagovakgf3IiqArx8TPsotq5pwBld37uIX1JiZoSbgbCIFol7u55bh32o6cfDEiiJgfAD5fbeyQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1)
+ dset: 3.1.2
+ graphql: 16.8.1
+ tslib: 2.6.2
+
+ /@graphql-tools/utils@10.0.7(graphql@16.8.1):
+ resolution: {integrity: sha512-KOdeMj6Hd/MENDaqPbws3YJl3wVy0DeYnL7PyUms5Skyf7uzI9INynDwPMhLXfSb0/ph6BXTwMd5zBtWbF8tBQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1)
+ dset: 3.1.2
+ graphql: 16.8.1
+ tslib: 2.6.2
+ dev: true
+
+ /@graphql-tools/utils@8.13.1(graphql@16.8.1):
+ resolution: {integrity: sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ graphql: 16.8.1
+ tslib: 2.6.2
+ dev: true
+
+ /@graphql-tools/utils@9.2.1(graphql@16.8.1):
+ resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+
+ /@graphql-tools/wrap@10.0.1(graphql@16.8.1):
+ resolution: {integrity: sha512-Cw6hVrKGM2OKBXeuAGltgy4tzuqQE0Nt7t/uAqnuokSXZhMHXJUb124Bnvxc2gPZn5chfJSDafDe4Cp8ZAVJgg==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@graphql-tools/delegate': 10.0.3(graphql@16.8.1)
+ '@graphql-tools/schema': 10.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ graphql: 16.8.1
+ tslib: 2.6.2
+ value-or-promise: 1.0.12
+ dev: true
+
+ /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1):
+ resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==}
+ peerDependencies:
+ graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ graphql: 16.8.1
+
+ /@humanwhocodes/config-array@0.11.13:
+ resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+ dev: true
+
+ /@humanwhocodes/object-schema@2.0.1:
+ resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
+ dev: true
+
+ /@isaacs/cliui@8.0.2:
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: /string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: /strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: /wrap-ansi@7.0.0
+ dev: true
+
+ /@istanbuljs/load-nyc-config@1.1.0:
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.1
+ resolve-from: 5.0.0
+ dev: true
+
+ /@istanbuljs/schema@0.1.3:
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /@jest/console@29.7.0:
+ resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ chalk: 4.1.2
+ jest-message-util: 29.7.0
+ jest-util: 29.7.0
+ slash: 3.0.0
+ dev: true
+
+ /@jest/core@29.7.0(ts-node@10.9.1):
+ resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/console': 29.7.0
+ '@jest/reporters': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 29.7.0
+ jest-config: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ jest-haste-map: 29.7.0
+ jest-message-util: 29.7.0
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.7.0
+ jest-resolve-dependencies: 29.7.0
+ jest-runner: 29.7.0
+ jest-runtime: 29.7.0
+ jest-snapshot: 29.7.0
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ jest-watcher: 29.7.0
+ micromatch: 4.0.5
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+ dev: true
+
+ /@jest/environment@29.7.0:
+ resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ jest-mock: 29.7.0
+ dev: true
+
+ /@jest/expect-utils@29.7.0:
+ resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ jest-get-type: 29.6.3
+ dev: true
+
+ /@jest/expect@29.7.0:
+ resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ expect: 29.7.0
+ jest-snapshot: 29.7.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/fake-timers@29.7.0:
+ resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@sinonjs/fake-timers': 10.3.0
+ '@types/node': 20.8.7
+ jest-message-util: 29.7.0
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+ dev: true
+
+ /@jest/globals@29.7.0:
+ resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/expect': 29.7.0
+ '@jest/types': 29.6.3
+ jest-mock: 29.7.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/reporters@29.7.0:
+ resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@jest/console': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ '@jridgewell/trace-mapping': 0.3.20
+ '@types/node': 20.8.7
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.2
+ exit: 0.1.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.0
+ istanbul-lib-instrument: 6.0.1
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 4.0.1
+ istanbul-reports: 3.1.6
+ jest-message-util: 29.7.0
+ jest-util: 29.7.0
+ jest-worker: 29.7.0
+ slash: 3.0.0
+ string-length: 4.0.2
+ strip-ansi: 6.0.1
+ v8-to-istanbul: 9.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/schemas@29.6.3:
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@sinclair/typebox': 0.27.8
+ dev: true
+
+ /@jest/source-map@29.6.3:
+ resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.20
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
+ dev: true
+
+ /@jest/test-result@29.7.0:
+ resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/console': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.5
+ collect-v8-coverage: 1.0.2
+ dev: true
+
+ /@jest/test-sequencer@29.7.0:
+ resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/test-result': 29.7.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.7.0
+ slash: 3.0.0
+ dev: true
+
+ /@jest/transform@29.7.0:
+ resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@babel/core': 7.23.2
+ '@jest/types': 29.6.3
+ '@jridgewell/trace-mapping': 0.3.20
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 2.0.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.7.0
+ jest-regex-util: 29.6.3
+ jest-util: 29.7.0
+ micromatch: 4.0.5
+ pirates: 4.0.6
+ slash: 3.0.0
+ write-file-atomic: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jest/types@29.6.3:
+ resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ '@types/istanbul-lib-coverage': 2.0.5
+ '@types/istanbul-reports': 3.0.3
+ '@types/node': 20.8.7
+ '@types/yargs': 17.0.29
+ chalk: 4.1.2
+ dev: true
+
+ /@josephg/resolvable@1.0.1:
+ resolution: {integrity: sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==}
+ dev: false
+
+ /@jridgewell/gen-mapping@0.3.3:
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/set-array': 1.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.20
+
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
+
+ /@jridgewell/source-map@0.3.5:
+ resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.20
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+
+ /@jridgewell/trace-mapping@0.3.20:
+ resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@jridgewell/trace-mapping@0.3.9:
+ resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /@juggle/resize-observer@3.4.0:
+ resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
+ dev: true
+
+ /@lukeed/csprng@1.1.0:
+ resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /@mdx-js/react@2.3.0(react@18.2.0):
+ resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==}
+ peerDependencies:
+ react: '>=16'
+ dependencies:
+ '@types/mdx': 2.0.9
+ '@types/react': 18.2.31
+ react: 18.2.0
+ dev: true
+
+ /@ndelangen/get-tarball@3.0.9:
+ resolution: {integrity: sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==}
+ dependencies:
+ gunzip-maybe: 1.4.2
+ pump: 3.0.0
+ tar-fs: 2.1.1
+ dev: true
+
+ /@nestjs/apollo@12.0.9(@apollo/server@4.9.4)(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(@nestjs/graphql@12.0.9)(graphql@16.8.1):
+ resolution: {integrity: sha512-aAo+FzmLNQdAZVYkJu4Jnhx4QWp3RalfuFe9vH644ap/ao79FhWR/YKA0N+Zr1RTLKjtl7/PUm4N6z2a8G2LbQ==}
+ peerDependencies:
+ '@apollo/gateway': ^2.0.0
+ '@apollo/server': ^4.3.2
+ '@apollo/subgraph': ^2.0.0
+ '@as-integrations/fastify': ^1.3.0 || ^2.0.0
+ '@nestjs/common': ^9.3.8 || ^10.0.0
+ '@nestjs/core': ^9.3.8 || ^10.0.0
+ '@nestjs/graphql': ^12.0.0
+ graphql: ^16.6.0
+ peerDependenciesMeta:
+ '@apollo/gateway':
+ optional: true
+ '@apollo/subgraph':
+ optional: true
+ '@as-integrations/fastify':
+ optional: true
+ dependencies:
+ '@apollo/server': 4.9.4(graphql@16.8.1)
+ '@apollo/server-plugin-landing-page-graphql-playground': 4.0.0(@apollo/server@4.9.4)
+ '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/graphql': 12.0.9(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(graphql@16.8.1)(reflect-metadata@0.1.13)
+ graphql: 16.8.1
+ iterall: 1.3.0
+ lodash.omit: 4.5.0
+ tslib: 2.6.2
+ dev: false
+
+ /@nestjs/cli@10.1.18(esbuild@0.18.20):
+ resolution: {integrity: sha512-jQtG47keLsACt7b4YwJbTBYRm90n82gJpMaiR1HGAyQ9pccbctjSYu592eT4bxqkUWxPgBE3mpNynXj7dWAfrw==}
+ engines: {node: '>= 16'}
+ hasBin: true
+ peerDependencies:
+ '@swc/cli': ^0.1.62
+ '@swc/core': ^1.3.62
+ peerDependenciesMeta:
+ '@swc/cli':
+ optional: true
+ '@swc/core':
+ optional: true
+ dependencies:
+ '@angular-devkit/core': 16.2.3(chokidar@3.5.3)
+ '@angular-devkit/schematics': 16.2.3(chokidar@3.5.3)
+ '@angular-devkit/schematics-cli': 16.2.3(chokidar@3.5.3)
+ '@nestjs/schematics': 10.0.2(chokidar@3.5.3)(typescript@5.2.2)
+ chalk: 4.1.2
+ chokidar: 3.5.3
+ cli-table3: 0.6.3
+ commander: 4.1.1
+ fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.2.2)(webpack@5.88.2)
+ inquirer: 8.2.6
+ node-emoji: 1.11.0
+ ora: 5.4.1
+ os-name: 4.0.1
+ rimraf: 4.4.1
+ shelljs: 0.8.5
+ source-map-support: 0.5.21
+ tree-kill: 1.2.2
+ tsconfig-paths: 4.2.0
+ tsconfig-paths-webpack-plugin: 4.1.0
+ typescript: 5.2.2
+ webpack: 5.88.2(esbuild@0.18.20)
+ webpack-node-externals: 3.0.0
+ transitivePeerDependencies:
+ - esbuild
+ - uglify-js
+ - webpack-cli
+ dev: false
+
+ /@nestjs/common@10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1):
+ resolution: {integrity: sha512-cUtCRXiUstDmh4bSBhVbq4cI439Gngp4LgLGLBmd5dqFQodfXKnSD441ldYfFiLz4rbUsnoMJz/8ZjuIEI+B7A==}
+ peerDependencies:
+ class-transformer: '*'
+ class-validator: '*'
+ reflect-metadata: ^0.1.12
+ rxjs: ^7.1.0
+ peerDependenciesMeta:
+ class-transformer:
+ optional: true
+ class-validator:
+ optional: true
+ dependencies:
+ class-transformer: 0.5.1
+ class-validator: 0.14.0
+ iterare: 1.2.1
+ reflect-metadata: 0.1.13
+ rxjs: 7.8.1
+ tslib: 2.6.2
+ uid: 2.0.2
+ dev: false
+
+ /@nestjs/config@3.1.1(@nestjs/common@10.2.7)(reflect-metadata@0.1.13):
+ resolution: {integrity: sha512-qu5QlNiJdqQtOsnB6lx4JCXPQ96jkKUsOGd+JXfXwqJqZcOSAq6heNFg0opW4pq4J/VZoNwoo87TNnx9wthnqQ==}
+ peerDependencies:
+ '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0
+ reflect-metadata: ^0.1.13
+ dependencies:
+ '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ dotenv: 16.3.1
+ dotenv-expand: 10.0.0
+ lodash: 4.17.21
+ reflect-metadata: 0.1.13
+ uuid: 9.0.0
+ dev: false
+
+ /@nestjs/core@10.2.7(@nestjs/common@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1):
+ resolution: {integrity: sha512-5GSu53QUUcwX17sNmlJPa1I0wIeAZOKbedyVuQx0ZAwWVa9g0wJBbsNP+R4EJ+j5Dkdzt/8xkiZvnKt8RFRR8g==}
+ requiresBuild: true
+ peerDependencies:
+ '@nestjs/common': ^10.0.0
+ '@nestjs/microservices': ^10.0.0
+ '@nestjs/platform-express': ^10.0.0
+ '@nestjs/websockets': ^10.0.0
+ reflect-metadata: ^0.1.12
+ rxjs: ^7.1.0
+ peerDependenciesMeta:
+ '@nestjs/microservices':
+ optional: true
+ '@nestjs/platform-express':
+ optional: true
+ '@nestjs/websockets':
+ optional: true
+ dependencies:
+ '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/platform-express': 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)
+ '@nuxtjs/opencollective': 0.3.2
+ fast-safe-stringify: 2.1.1
+ iterare: 1.2.1
+ path-to-regexp: 3.2.0
+ reflect-metadata: 0.1.13
+ rxjs: 7.8.1
+ tslib: 2.6.2
+ uid: 2.0.2
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@nestjs/graphql@12.0.9(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(graphql@16.8.1)(reflect-metadata@0.1.13):
+ resolution: {integrity: sha512-A5oRD5GMwzaNZum06KSxKtqhC7LvS4p7v0hLGzvNWPuLrBjAjAnm/2NV8IV8lYiJXpPHNtSnnekZH9uvy/hZlw==}
+ peerDependencies:
+ '@apollo/subgraph': ^2.0.0
+ '@nestjs/common': ^9.3.8 || ^10.0.0
+ '@nestjs/core': ^9.3.8 || ^10.0.0
+ class-transformer: '*'
+ class-validator: '*'
+ graphql: ^16.6.0
+ reflect-metadata: ^0.1.13
+ ts-morph: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@apollo/subgraph':
+ optional: true
+ class-transformer:
+ optional: true
+ class-validator:
+ optional: true
+ ts-morph:
+ optional: true
+ dependencies:
+ '@graphql-tools/merge': 9.0.0(graphql@16.8.1)
+ '@graphql-tools/schema': 10.0.0(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.6(graphql@16.8.1)
+ '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/mapped-types': 2.0.2(@nestjs/common@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)
+ chokidar: 3.5.3
+ class-transformer: 0.5.1
+ class-validator: 0.14.0
+ fast-glob: 3.3.1
+ graphql: 16.8.1
+ graphql-tag: 2.12.6(graphql@16.8.1)
+ graphql-ws: 5.14.0(graphql@16.8.1)
+ lodash: 4.17.21
+ normalize-path: 3.0.0
+ reflect-metadata: 0.1.13
+ subscriptions-transport-ws: 0.11.0(graphql@16.8.1)
+ tslib: 2.6.2
+ uuid: 9.0.0
+ ws: 8.13.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: false
+
+ /@nestjs/mapped-types@2.0.2(@nestjs/common@10.2.7)(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13):
+ resolution: {integrity: sha512-V0izw6tWs6fTp9+KiiPUbGHWALy563Frn8X6Bm87ANLRuE46iuBMD5acKBDP5lKL/75QFvrzSJT7HkCbB0jTpg==}
+ peerDependencies:
+ '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0
+ class-transformer: ^0.4.0 || ^0.5.0
+ class-validator: ^0.13.0 || ^0.14.0
+ reflect-metadata: ^0.1.12
+ peerDependenciesMeta:
+ class-transformer:
+ optional: true
+ class-validator:
+ optional: true
+ dependencies:
+ '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ class-transformer: 0.5.1
+ class-validator: 0.14.0
+ reflect-metadata: 0.1.13
+ dev: false
+
+ /@nestjs/platform-express@10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7):
+ resolution: {integrity: sha512-p+kp6aJtkgAdVpUrCVmM6MKtOvjsbt7QofBiZMidjYesZkMeG5gZ1D2SK8XzvQ8VXHJfFgEdY2xcKGB+wJLOYQ==}
+ peerDependencies:
+ '@nestjs/common': ^10.0.0
+ '@nestjs/core': ^10.0.0
+ dependencies:
+ '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ body-parser: 1.20.2
+ cors: 2.8.5
+ express: 4.18.2
+ multer: 1.4.4-lts.1
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@nestjs/schematics@10.0.2(chokidar@3.5.3)(typescript@5.2.2):
+ resolution: {integrity: sha512-DaZZjymYoIfRqC5W62lnYXIIods1PDY6CGc8+IpRwyinzffjKxZ3DF3exu+mdyvllzkXo9DTXkoX4zOPSJHCkw==}
+ peerDependencies:
+ typescript: '>=4.8.2'
+ dependencies:
+ '@angular-devkit/core': 16.1.8(chokidar@3.5.3)
+ '@angular-devkit/schematics': 16.1.8(chokidar@3.5.3)
+ comment-json: 4.2.3
+ jsonc-parser: 3.2.0
+ pluralize: 8.0.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - chokidar
+
+ /@nestjs/testing@10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)(@nestjs/platform-express@10.2.7):
+ resolution: {integrity: sha512-d2SIqiJIf/7NSILeNNWSdRvTTpHSouGgisGHwf5PVDC7z4/yXZw/wPO9eJhegnxFlqk6n2LW4QBTmMzbqjAfHA==}
+ peerDependencies:
+ '@nestjs/common': ^10.0.0
+ '@nestjs/core': ^10.0.0
+ '@nestjs/microservices': ^10.0.0
+ '@nestjs/platform-express': ^10.0.0
+ peerDependenciesMeta:
+ '@nestjs/microservices':
+ optional: true
+ '@nestjs/platform-express':
+ optional: true
+ dependencies:
+ '@nestjs/common': 10.2.7(class-transformer@0.5.1)(class-validator@0.14.0)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/core': 10.2.7(@nestjs/common@10.2.7)(@nestjs/platform-express@10.2.7)(reflect-metadata@0.1.13)(rxjs@7.8.1)
+ '@nestjs/platform-express': 10.2.7(@nestjs/common@10.2.7)(@nestjs/core@10.2.7)
+ tslib: 2.6.2
+ dev: false
+
+ /@next/env@13.5.6:
+ resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==}
+
+ /@next/eslint-plugin-next@13.5.6:
+ resolution: {integrity: sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==}
+ dependencies:
+ glob: 7.1.7
+ dev: true
+
+ /@next/swc-darwin-arm64@13.5.6:
+ resolution: {integrity: sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-darwin-x64@13.5.6:
+ resolution: {integrity: sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-arm64-gnu@13.5.6:
+ resolution: {integrity: sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-arm64-musl@13.5.6:
+ resolution: {integrity: sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-x64-gnu@13.5.6:
+ resolution: {integrity: sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-linux-x64-musl@13.5.6:
+ resolution: {integrity: sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-arm64-msvc@13.5.6:
+ resolution: {integrity: sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-ia32-msvc@13.5.6:
+ resolution: {integrity: sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==}
+ engines: {node: '>= 10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@next/swc-win32-x64-msvc@13.5.6:
+ resolution: {integrity: sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ optional: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
+
+ /@nuxtjs/opencollective@0.3.2:
+ resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==}
+ engines: {node: '>=8.0.0', npm: '>=5.0.0'}
+ hasBin: true
+ dependencies:
+ chalk: 4.1.2
+ consola: 2.15.3
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+ dev: false
+
+ /@peculiar/asn1-schema@2.3.8:
+ resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==}
+ dependencies:
+ asn1js: 3.0.5
+ pvtsutils: 1.3.5
+ tslib: 2.6.2
+ dev: true
+
+ /@peculiar/json-schema@1.1.12:
+ resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /@peculiar/webcrypto@1.4.3:
+ resolution: {integrity: sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==}
+ engines: {node: '>=10.12.0'}
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.8
+ '@peculiar/json-schema': 1.1.12
+ pvtsutils: 1.3.5
+ tslib: 2.6.2
+ webcrypto-core: 1.7.7
+ dev: true
+
+ /@pkgjs/parseargs@0.11.0:
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@pkgr/utils@2.4.2:
+ resolution: {integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ fast-glob: 3.3.1
+ is-glob: 4.0.3
+ open: 9.1.0
+ picocolors: 1.0.0
+ tslib: 2.6.2
+ dev: true
+
+ /@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(webpack@5.89.0):
+ resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==}
+ engines: {node: '>= 10.13'}
+ peerDependencies:
+ '@types/webpack': 4.x || 5.x
+ react-refresh: '>=0.10.0 <1.0.0'
+ sockjs-client: ^1.4.0
+ type-fest: '>=0.17.0 <5.0.0'
+ webpack: '>=4.43.0 <6.0.0'
+ webpack-dev-server: 3.x || 4.x
+ webpack-hot-middleware: 2.x
+ webpack-plugin-serve: 0.x || 1.x
+ peerDependenciesMeta:
+ '@types/webpack':
+ optional: true
+ sockjs-client:
+ optional: true
+ type-fest:
+ optional: true
+ webpack-dev-server:
+ optional: true
+ webpack-hot-middleware:
+ optional: true
+ webpack-plugin-serve:
+ optional: true
+ dependencies:
+ ansi-html-community: 0.0.8
+ common-path-prefix: 3.0.0
+ core-js-pure: 3.33.1
+ error-stack-parser: 2.1.4
+ find-up: 5.0.0
+ html-entities: 2.4.0
+ loader-utils: 2.0.4
+ react-refresh: 0.11.0
+ schema-utils: 3.3.0
+ source-map: 0.7.4
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /@protobufjs/aspromise@1.1.2:
+ resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
+ dev: false
+
+ /@protobufjs/base64@1.1.2:
+ resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
+ dev: false
+
+ /@protobufjs/codegen@2.0.4:
+ resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
+ dev: false
+
+ /@protobufjs/eventemitter@1.1.0:
+ resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
+ dev: false
+
+ /@protobufjs/fetch@1.1.0:
+ resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
+ dependencies:
+ '@protobufjs/aspromise': 1.1.2
+ '@protobufjs/inquire': 1.1.0
+ dev: false
+
+ /@protobufjs/float@1.0.2:
+ resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
+ dev: false
+
+ /@protobufjs/inquire@1.1.0:
+ resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
+ dev: false
+
+ /@protobufjs/path@1.1.2:
+ resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
+ dev: false
+
+ /@protobufjs/pool@1.1.0:
+ resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
+ dev: false
+
+ /@protobufjs/utf8@1.1.0:
+ resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
+ dev: false
+
+ /@radix-ui/number@1.0.1:
+ resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+
+ /@radix-ui/primitive@1.0.1:
+ resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+
+ /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-context@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-direction@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-id@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@floating-ui/react-dom': 2.0.2(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/rect': 1.0.1
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@floating-ui/react-dom': 2.0.2(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/rect': 1.0.1
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-select@1.2.2(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/number': 1.0.1
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ aria-hidden: 1.2.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.31)(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-select@2.0.0(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/number': 1.0.1
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ aria-hidden: 1.2.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.31)(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-slot@1.0.2(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/rect': 1.0.1
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-use-size@1.0.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.31)(react@18.2.0)
+ '@types/react': 18.2.31
+ react: 18.2.0
+
+ /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.2
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.31
+ '@types/react-dom': 18.2.14
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ /@radix-ui/rect@1.0.1:
+ resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+
+ /@repeaterjs/repeater@3.0.4:
+ resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==}
+ dev: true
+
+ /@rushstack/eslint-patch@1.5.1:
+ resolution: {integrity: sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==}
+ dev: true
+
+ /@sinclair/typebox@0.27.8:
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
+ dev: true
+
+ /@sinonjs/commons@3.0.0:
+ resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
+ /@sinonjs/fake-timers@10.3.0:
+ resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
+ dependencies:
+ '@sinonjs/commons': 3.0.0
+ dev: true
+
+ /@storybook/addon-a11y@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-BzmSIhgqR+WSS5gqSOyzFACs20Nv0Wk9b4lpUWw5zEqZkXy1PFAUyRQ65kD9Tdjc1O2KL2Zi1h/gi0O6dWldMg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/addon-highlight': 7.5.1
+ '@storybook/channels': 7.5.1
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ axe-core: 4.8.2
+ lodash: 4.17.21
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-resize-detector: 7.1.2(react-dom@18.2.0)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/addon-actions@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-GieD3ru6EslKvwol1cE4lvszQCLB/AkQdnLofnqy1nnYso+hRxmPAw9/O+pWfpUBFdjXsQ7GX09+wEUpOJzepw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ dequal: 2.0.3
+ lodash: 4.17.21
+ polished: 4.2.2
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-inspector: 6.0.2(react@18.2.0)
+ telejson: 7.2.0
+ ts-dedent: 2.2.0
+ uuid: 9.0.1
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/addon-backgrounds@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-XZoyJw/WoUlVvQHPTbSAZjKy2SEUjaSmAWgcRync25vp+q0obthjx6UnZHEUuH8Ud07HA3FYzlFtMicH5y/OIQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ memoizerific: 1.11.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/addon-controls@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-Xag1e7TZo04LjUenfobkShpKMxTtwa4xM4bXQA8LjaAGZQ7jipbQ4PE73a17K59S2vqq89VAhkuMJWiyaOFqpw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/blocks': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-common': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/node-logger': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ lodash: 4.17.21
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/addon-docs@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-+wE67oWIhGK9+kv2sxoY2KDXm3v62RfEgxiksdhtffTP/joOK3p88S0lO+8g0G4xfNGUnBhPtzGMuUxWwaH2Pw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@jest/transform': 29.7.0
+ '@mdx-js/react': 2.3.0(react@18.2.0)
+ '@storybook/blocks': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/csf-plugin': 7.5.1
+ '@storybook/csf-tools': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/mdx2-csf': 1.1.0
+ '@storybook/node-logger': 7.5.1
+ '@storybook/postinstall': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ '@storybook/react-dom-shim': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ fs-extra: 11.1.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ remark-external-links: 8.0.0
+ remark-slug: 6.1.0
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/addon-essentials@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-/jaUZXV+mE/2G5PgEpFKm4lFEHluWn6GFR/pg+hphvHOzBGA3Y75JMgUfJ5CDYHB1dAVSf9JrPOd8Eb1tpESfA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@storybook/addon-actions': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-backgrounds': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-controls': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-docs': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-highlight': 7.5.1
+ '@storybook/addon-measure': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-outline': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-toolbars': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/addon-viewport': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-common': 7.5.1
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/node-logger': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/addon-highlight@7.5.1:
+ resolution: {integrity: sha512-js9OV17kpjRowuaGAPfI9aOn/zzt8P589ACZE+/eYBO9jT65CADwAUxg//Uq0/he+Ac9495pcK3BcYyDeym7/g==}
+ dependencies:
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/preview-api': 7.5.1
+ dev: true
+
+ /@storybook/addon-measure@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-yR6oELJe0UHYxRijd1YMuGaQRlZ3uABjmrXaFCPnd6agahgTwIJLiK4XamtkVur//LaiJMvtmM2XXrkJ1BvNJw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/types': 7.5.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tiny-invariant: 1.3.1
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/addon-outline@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-IMi5Bo34/Q5YUG5uD8ZUTBwlpGrkDIV+PUgkyNIbmn9OgozoCH80Fs7YlGluRFODQISpHwio9qvSFRGdSNT56A==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/types': 7.5.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/addon-styling@1.3.7(@types/react-dom@18.2.14)(@types/react@18.2.31)(less@4.2.0)(postcss@8.4.31)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(webpack@5.89.0):
+ resolution: {integrity: sha512-JSBZMOrSw/3rlq5YoEI7Qyq703KSNP0Jd+gxTWu3/tP6245mpjn2dXnR8FvqVxCi+FG4lt2kQyPzgsuwEw1SSA==}
+ hasBin: true
+ peerDependencies:
+ less: ^3.5.0 || ^4.0.0
+ postcss: ^7.0.0 || ^8.0.1
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ less:
+ optional: true
+ postcss:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ webpack:
+ optional: true
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.0
+ '@storybook/api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-common': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/node-logger': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ css-loader: 6.8.1(webpack@5.89.0)
+ less: 4.2.0
+ less-loader: 11.1.3(less@4.2.0)(webpack@5.89.0)
+ postcss: 8.4.31
+ postcss-loader: 7.3.3(postcss@8.4.31)(typescript@5.2.2)(webpack@5.89.0)
+ prettier: 2.8.8
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ resolve-url-loader: 5.0.0
+ sass-loader: 13.3.2(webpack@5.89.0)
+ style-loader: 3.3.3(webpack@5.89.0)
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - fibers
+ - node-sass
+ - sass
+ - sass-embedded
+ - supports-color
+ - typescript
+ dev: true
+
+ /@storybook/addon-toolbars@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-T88hEEQicV6eCovr5TN2nFgKt7wU0o7pAunP5cU01iiVRj63+oQiVIBB8Xtm4tN+/DsqtyP0BTa6rFwt2ULy8A==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/addon-viewport@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-L57lOGB3LfKgAdLinaZojRQ9W9w2RC0iP9bVaXwrRVeJdpNayfuW4Kh1C8dmacZroB4Zp2U/nEjkSmdcp6uUWg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ memoizerific: 1.11.3
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/addons@7.5.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-/AdQYqZ1aHHmMrJL68suo1IdyQzRQX7W1sQ3o40juqr/REIpiSZMMSuBcQ6wKXP1NxHMJXEDdb/iSN31Z6DiLg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/types': 7.5.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@storybook/api@7.5.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-z5HrwXnBdfr8q5CO3E9oL0H+joixyuQ2nod+UPqd5QYE/GzpyWHTzpW6CxSCDX2wL60KEsfc/7T0CE12Gx4XMA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@storybook/blocks@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-7b69p6kDdgmlejEMM2mW6/Lz4OmU/R3Qr+TpKnPcV5iS7ADxRQEQCTEMoQ5RyLJf0vDRh/7Ljn/RMo8Ux3X7JA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@storybook/channels': 7.5.1
+ '@storybook/client-logger': 7.5.1
+ '@storybook/components': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/core-events': 7.5.1
+ '@storybook/csf': 0.1.1
+ '@storybook/docs-tools': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ '@types/lodash': 4.14.200
+ color-convert: 2.0.1
+ dequal: 2.0.3
+ lodash: 4.17.21
+ markdown-to-jsx: 7.3.2(react@18.2.0)
+ memoizerific: 1.11.3
+ polished: 4.2.2
+ react: 18.2.0
+ react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0)
+ react-dom: 18.2.0(react@18.2.0)
+ telejson: 7.2.0
+ tocbot: 4.21.2
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/builder-manager@7.5.1:
+ resolution: {integrity: sha512-a02kg/DCcYgiTz+7rw4KdvQzif+2lZ+NIFF5U5u8SDoCQuoe3wRT6QBrFYQTxJexA4WfO6cpyRLDJ1rx6NLo8A==}
+ dependencies:
+ '@fal-works/esbuild-plugin-global-externals': 2.1.2
+ '@storybook/core-common': 7.5.1
+ '@storybook/manager': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@types/ejs': 3.1.4
+ '@types/find-cache-dir': 3.2.1
+ '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.18.20)
+ browser-assert: 1.2.1
+ ejs: 3.1.9
+ esbuild: 0.18.20
+ esbuild-plugin-alias: 0.2.1
+ express: 4.18.2
+ find-cache-dir: 3.3.2
+ fs-extra: 11.1.1
+ process: 0.11.10
+ util: 0.12.5
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/builder-webpack5@7.5.1(esbuild@0.18.20)(typescript@5.2.2):
+ resolution: {integrity: sha512-klZ2Q1lESt4o9HhofsD1cEPFd8T9FCWkMCNVYmPoGepmyVwuibLCJ/U6k4noQ8Wow5SEexKSq2gU7ir7cKcXwA==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.2
+ '@storybook/channels': 7.5.1
+ '@storybook/client-logger': 7.5.1
+ '@storybook/core-common': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/core-webpack': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/preview': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ '@swc/core': 1.3.93
+ '@types/node': 18.18.6
+ '@types/semver': 7.5.4
+ babel-loader: 9.1.3(@babel/core@7.23.2)(webpack@5.89.0)
+ babel-plugin-named-exports-order: 0.0.2
+ browser-assert: 1.2.1
+ case-sensitive-paths-webpack-plugin: 2.4.0
+ constants-browserify: 1.0.0
+ css-loader: 6.8.1(webpack@5.89.0)
+ express: 4.18.2
+ fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.2.2)(webpack@5.89.0)
+ fs-extra: 11.1.1
+ html-webpack-plugin: 5.5.3(webpack@5.89.0)
+ path-browserify: 1.0.1
+ process: 0.11.10
+ semver: 7.5.4
+ style-loader: 3.3.3(webpack@5.89.0)
+ swc-loader: 0.2.3(@swc/core@1.3.93)(webpack@5.89.0)
+ terser-webpack-plugin: 5.3.9(@swc/core@1.3.93)(esbuild@0.18.20)(webpack@5.89.0)
+ ts-dedent: 2.2.0
+ typescript: 5.2.2
+ url: 0.11.3
+ util: 0.12.5
+ util-deprecate: 1.0.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ webpack-dev-middleware: 6.1.1(webpack@5.89.0)
+ webpack-hot-middleware: 2.25.4
+ webpack-virtual-modules: 0.5.0
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - encoding
+ - esbuild
+ - supports-color
+ - uglify-js
+ - webpack-cli
+ dev: true
+
+ /@storybook/channels@7.5.1:
+ resolution: {integrity: sha512-7hTGHqvtdFTqRx8LuCznOpqPBYfUeMUt/0IIp7SFuZT585yMPxrYoaK//QmLEWnPb80B8HVTSQi7caUkJb32LA==}
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/global': 5.0.0
+ qs: 6.11.2
+ telejson: 7.2.0
+ tiny-invariant: 1.3.1
+ dev: true
+
+ /@storybook/cli@7.5.1:
+ resolution: {integrity: sha512-qKIJs8gqXTy0eSEbt0OW5nsJqiV/2+N1eWoiBiIxoZ+8b0ACXIAUcE/N6AsEDUqIq8AMK7lebqjEfIAt2Sp7Mg==}
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/preset-env': 7.23.2(@babel/core@7.23.2)
+ '@babel/types': 7.23.0
+ '@ndelangen/get-tarball': 3.0.9
+ '@storybook/codemod': 7.5.1
+ '@storybook/core-common': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/core-server': 7.5.1
+ '@storybook/csf-tools': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/telemetry': 7.5.1
+ '@storybook/types': 7.5.1
+ '@types/semver': 7.5.4
+ '@yarnpkg/fslib': 2.10.3
+ '@yarnpkg/libzip': 2.3.0
+ chalk: 4.1.2
+ commander: 6.2.1
+ cross-spawn: 7.0.3
+ detect-indent: 6.1.0
+ envinfo: 7.10.0
+ execa: 5.1.1
+ express: 4.18.2
+ find-up: 5.0.0
+ fs-extra: 11.1.1
+ get-npm-tarball-url: 2.0.3
+ get-port: 5.1.1
+ giget: 1.1.3
+ globby: 11.1.0
+ jscodeshift: 0.14.0(@babel/preset-env@7.23.2)
+ leven: 3.1.0
+ ora: 5.4.1
+ prettier: 2.8.8
+ prompts: 2.4.2
+ puppeteer-core: 2.1.1
+ read-pkg-up: 7.0.1
+ semver: 7.5.4
+ simple-update-notifier: 2.0.0
+ strip-json-comments: 3.1.1
+ tempy: 1.0.1
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@storybook/client-logger@7.5.1:
+ resolution: {integrity: sha512-XxbLvg0aQRoBrzxYLcVYCbjDkGbkU8Rfb74XbV2CLiO2bIbFPmA1l1Nwbp+wkCGA+O6Z1zwzSl6wcKKqZ6XZCg==}
+ dependencies:
+ '@storybook/global': 5.0.0
+ dev: true
+
+ /@storybook/codemod@7.5.1:
+ resolution: {integrity: sha512-PqHGOz/CZnRG9pWgshezCacu524CrXOJrCOwMUP9OMpH0Jk/NhBkHaBZrB8wMjn5hekTj0UmRa/EN8wJm9CCUQ==}
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/preset-env': 7.23.2(@babel/core@7.23.2)
+ '@babel/types': 7.23.0
+ '@storybook/csf': 0.1.1
+ '@storybook/csf-tools': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/types': 7.5.1
+ '@types/cross-spawn': 6.0.4
+ cross-spawn: 7.0.3
+ globby: 11.1.0
+ jscodeshift: 0.14.0(@babel/preset-env@7.23.2)
+ lodash: 4.17.21
+ prettier: 2.8.8
+ recast: 0.23.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@storybook/components@7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-fdzzxGBV/Fj9pYwfYL3RZsVUHeBqlfLMBP/L6mPmjaZSwHFqkaRZZUajZc57lCtI+TOy2gY6WH3cPavEtqtgLw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/client-logger': 7.5.1
+ '@storybook/csf': 0.1.1
+ '@storybook/global': 5.0.0
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ memoizerific: 1.11.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ use-resize-observer: 9.1.0(react-dom@18.2.0)(react@18.2.0)
+ util-deprecate: 1.0.2
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ dev: true
+
+ /@storybook/core-client@7.5.1:
+ resolution: {integrity: sha512-K651UnNKkW8U078CH5rcUqf0siGcfEhwya2yQN5RBb/H78HSLBLdYgzKqxaKtmz+S8DFyWhrgbXZLdBjavozJg==}
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ dev: true
+
+ /@storybook/core-common@7.5.1:
+ resolution: {integrity: sha512-/rQ0/xvxFHSGCgIkK74HrgDMnzfYtDYTCoSod/qCTojfs9aciX+JYgvo5ChPnI/LEKWwxRTkrE7pl2u5+C4XGA==}
+ dependencies:
+ '@storybook/core-events': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/types': 7.5.1
+ '@types/find-cache-dir': 3.2.1
+ '@types/node': 18.18.6
+ '@types/node-fetch': 2.6.7
+ '@types/pretty-hrtime': 1.0.2
+ chalk: 4.1.2
+ esbuild: 0.18.20
+ esbuild-register: 3.5.0(esbuild@0.18.20)
+ file-system-cache: 2.3.0
+ find-cache-dir: 3.3.2
+ find-up: 5.0.0
+ fs-extra: 11.1.1
+ glob: 10.3.10
+ handlebars: 4.7.8
+ lazy-universal-dotenv: 4.0.0
+ node-fetch: 2.7.0
+ picomatch: 2.3.1
+ pkg-dir: 5.0.0
+ pretty-hrtime: 1.0.3
+ resolve-from: 5.0.0
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/core-events@7.5.1:
+ resolution: {integrity: sha512-2eyaUhTfmEEqOEZVoCXVITCBn6N7QuZCG2UNxv0l//ED+7MuMiFhVw7kS7H3WOVk65R7gb8qbKFTNX8HFTgBHg==}
+ dependencies:
+ ts-dedent: 2.2.0
+ dev: true
+
+ /@storybook/core-server@7.5.1:
+ resolution: {integrity: sha512-DD4BXCH91aZJoFuu0cQwG1ZUmE59kG5pazuE3S89zH1GwKS1jWyeAv4EwEfvynT5Ah1ctd8QdCZCSXVzjq0qcw==}
+ dependencies:
+ '@aw-web-design/x-default-browser': 1.4.126
+ '@discoveryjs/json-ext': 0.5.7
+ '@storybook/builder-manager': 7.5.1
+ '@storybook/channels': 7.5.1
+ '@storybook/core-common': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/csf': 0.1.1
+ '@storybook/csf-tools': 7.5.1
+ '@storybook/docs-mdx': 0.1.0
+ '@storybook/global': 5.0.0
+ '@storybook/manager': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ '@storybook/telemetry': 7.5.1
+ '@storybook/types': 7.5.1
+ '@types/detect-port': 1.3.4
+ '@types/node': 18.18.6
+ '@types/pretty-hrtime': 1.0.2
+ '@types/semver': 7.5.4
+ better-opn: 3.0.2
+ chalk: 4.1.2
+ cli-table3: 0.6.3
+ compression: 1.7.4
+ detect-port: 1.5.1
+ express: 4.18.2
+ fs-extra: 11.1.1
+ globby: 11.1.0
+ ip: 2.0.0
+ lodash: 4.17.21
+ open: 8.4.2
+ pretty-hrtime: 1.0.3
+ prompts: 2.4.2
+ read-pkg-up: 7.0.1
+ semver: 7.5.4
+ telejson: 7.2.0
+ tiny-invariant: 1.3.1
+ ts-dedent: 2.2.0
+ util: 0.12.5
+ util-deprecate: 1.0.2
+ watchpack: 2.4.0
+ ws: 8.14.2
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /@storybook/core-webpack@7.5.1:
+ resolution: {integrity: sha512-FlXj6GCXG0evCC5s7LNcu1uxRC9fG856HQe4PzEk7jDSQdWQRX8Olpo4IOHB1WObuvYqw6Gf0OD6TB5uhnKXmg==}
+ dependencies:
+ '@storybook/core-common': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/types': 7.5.1
+ '@types/node': 18.18.6
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/csf-plugin@7.5.1:
+ resolution: {integrity: sha512-jhV2aCZhSIXUiQDcHtuCg3dyYMzjYHTwLb4cJtkNw4sXqQoTGydTSWYwWigcHFfKGoyQp82rSgE1hE4YYx6iew==}
+ dependencies:
+ '@storybook/csf-tools': 7.5.1
+ unplugin: 1.5.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@storybook/csf-tools@7.5.1:
+ resolution: {integrity: sha512-YChGbT1/odLS4RLb2HtK7ixM7mH5s7G5nOsWGKXalbza4SFKZIU2UzllEUsA+X8YfxMHnCD5TC3xLfK0ByxmzQ==}
+ dependencies:
+ '@babel/generator': 7.23.0
+ '@babel/parser': 7.23.0
+ '@babel/traverse': 7.23.2
+ '@babel/types': 7.23.0
+ '@storybook/csf': 0.1.1
+ '@storybook/types': 7.5.1
+ fs-extra: 11.1.1
+ recast: 0.23.4
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@storybook/csf@0.0.1:
+ resolution: {integrity: sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==}
+ dependencies:
+ lodash: 4.17.21
+ dev: true
+
+ /@storybook/csf@0.1.1:
+ resolution: {integrity: sha512-4hE3AlNVxR60Wc5KSC68ASYzUobjPqtSKyhV6G+ge0FIXU55N5nTY7dXGRZHQGDBPq+XqchMkIdlkHPRs8nTHg==}
+ dependencies:
+ type-fest: 2.19.0
+ dev: true
+
+ /@storybook/docs-mdx@0.1.0:
+ resolution: {integrity: sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==}
+ dev: true
+
+ /@storybook/docs-tools@7.5.1:
+ resolution: {integrity: sha512-tDtQGeKU5Kc2XoqZ5vpeGQrOkRg2UoDiSRS6cLy+M/sMB03Annq0ZngnJXaMiv0DLi2zpWSgWqPgYA3TJTZHBw==}
+ dependencies:
+ '@storybook/core-common': 7.5.1
+ '@storybook/preview-api': 7.5.1
+ '@storybook/types': 7.5.1
+ '@types/doctrine': 0.0.3
+ doctrine: 3.0.0
+ lodash: 4.17.21
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/global@5.0.0:
+ resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==}
+ dev: true
+
+ /@storybook/manager-api@7.5.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-ygwJywluhhE1dpA0jC2D/3NFhMXzFCt+iW4m3cOwexYTuiDWF66AbGOFBx9peE7Wk/Z9doKkf9E3v11enwaidA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@storybook/channels': 7.5.1
+ '@storybook/client-logger': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/csf': 0.1.1
+ '@storybook/global': 5.0.0
+ '@storybook/router': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/theming': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ dequal: 2.0.3
+ lodash: 4.17.21
+ memoizerific: 1.11.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ semver: 7.5.4
+ store2: 2.14.2
+ telejson: 7.2.0
+ ts-dedent: 2.2.0
+ dev: true
+
+ /@storybook/manager@7.5.1:
+ resolution: {integrity: sha512-Jo83sj7KvsZ78vvqjH72ErmQ31Frx6GBLbpeYXZtbAXWl0/LHsxAEVz0Mke+DixzWDyP0/cn+Nw8QUfA+Oz1fg==}
+ dev: true
+
+ /@storybook/mdx2-csf@1.1.0:
+ resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==}
+ dev: true
+
+ /@storybook/nextjs@7.5.1(@swc/core@1.3.93)(@types/react-dom@18.2.14)(@types/react@18.2.31)(esbuild@0.18.20)(next@13.5.6)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(webpack@5.89.0):
+ resolution: {integrity: sha512-DezMv3UZYzqltzOgLw1TOQOct3IQ9zGffvfP3T/mRQxmW7UOYXDbAtmD/d3Ud6Fi59HuEnu4hEwyJNacZvuNqw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ '@next/font': ^13.0.0
+ next: ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ '@next/font':
+ optional: true
+ '@storybook/addon-actions':
+ optional: true
+ typescript:
+ optional: true
+ webpack:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.23.2)
+ '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-runtime': 7.23.2(@babel/core@7.23.2)
+ '@babel/preset-env': 7.23.2(@babel/core@7.23.2)
+ '@babel/preset-react': 7.22.15(@babel/core@7.23.2)
+ '@babel/preset-typescript': 7.23.2(@babel/core@7.23.2)
+ '@babel/runtime': 7.23.2
+ '@storybook/addon-actions': 7.5.1(@types/react-dom@18.2.14)(@types/react@18.2.31)(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/builder-webpack5': 7.5.1(esbuild@0.18.20)(typescript@5.2.2)
+ '@storybook/core-common': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/preset-react-webpack': 7.5.1(@babel/core@7.23.2)(@swc/core@1.3.93)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@storybook/preview-api': 7.5.1
+ '@storybook/react': 7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@types/node': 18.18.6
+ css-loader: 6.8.1(webpack@5.89.0)
+ find-up: 5.0.0
+ fs-extra: 11.1.1
+ image-size: 1.0.2
+ loader-utils: 3.2.1
+ next: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ node-polyfill-webpack-plugin: 2.0.1(webpack@5.89.0)
+ pnp-webpack-plugin: 1.7.0(typescript@5.2.2)
+ postcss: 8.4.31
+ postcss-loader: 7.3.3(postcss@8.4.31)(typescript@5.2.2)(webpack@5.89.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ resolve-url-loader: 5.0.0
+ sass-loader: 12.6.0(webpack@5.89.0)
+ semver: 7.5.4
+ style-loader: 3.3.3(webpack@5.89.0)
+ styled-jsx: 5.1.1(@babel/core@7.23.2)(react@18.2.0)
+ ts-dedent: 2.2.0
+ tsconfig-paths: 4.2.0
+ tsconfig-paths-webpack-plugin: 4.1.0
+ typescript: 5.2.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ transitivePeerDependencies:
+ - '@swc/core'
+ - '@swc/helpers'
+ - '@types/react'
+ - '@types/react-dom'
+ - '@types/webpack'
+ - babel-plugin-macros
+ - encoding
+ - esbuild
+ - fibers
+ - node-sass
+ - sass
+ - sass-embedded
+ - sockjs-client
+ - supports-color
+ - type-fest
+ - uglify-js
+ - webpack-cli
+ - webpack-dev-server
+ - webpack-hot-middleware
+ - webpack-plugin-serve
+ dev: true
+
+ /@storybook/node-logger@7.5.1:
+ resolution: {integrity: sha512-xRMdL5YPe8C9sgJ1R0QD3YbiLjDGrfQk91+GplRD8N9FVCT5dki55Bv5Kp0FpemLYYg6uxAZL5nHmsZHKDKQoA==}
+ dev: true
+
+ /@storybook/postinstall@7.5.1:
+ resolution: {integrity: sha512-+LFUe2nNbmmLPKNt34RXSSC1r40yGGOoP/qlaPFwNOgQN2AZUrfqk6ZYnw6LjmcuHpQInZ4y4WDgbzg6QQL3+w==}
+ dev: true
+
+ /@storybook/preset-react-webpack@7.5.1(@babel/core@7.23.2)(@swc/core@1.3.93)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-Dt6Na7YyxBHUoo2PJ73epLfGA3HlXMoF8MdtysQM5Pv6ZNcC3QmqoOnR0lQDMw0SzAcreRnY68Gu7xi+zTnlEw==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ '@babel/core': ^7.22.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ typescript:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/preset-flow': 7.22.15(@babel/core@7.23.2)
+ '@babel/preset-react': 7.22.15(@babel/core@7.23.2)
+ '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack@5.89.0)
+ '@storybook/core-webpack': 7.5.1
+ '@storybook/docs-tools': 7.5.1
+ '@storybook/node-logger': 7.5.1
+ '@storybook/react': 7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)
+ '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.2.2)(webpack@5.89.0)
+ '@types/node': 18.18.6
+ '@types/semver': 7.5.4
+ babel-plugin-add-react-displayname: 0.0.5
+ babel-plugin-react-docgen: 4.2.1
+ fs-extra: 11.1.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-refresh: 0.11.0
+ semver: 7.5.4
+ typescript: 5.2.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ transitivePeerDependencies:
+ - '@swc/core'
+ - '@types/webpack'
+ - encoding
+ - esbuild
+ - sockjs-client
+ - supports-color
+ - type-fest
+ - uglify-js
+ - webpack-cli
+ - webpack-dev-server
+ - webpack-hot-middleware
+ - webpack-plugin-serve
+ dev: true
+
+ /@storybook/preview-api@7.5.1:
+ resolution: {integrity: sha512-8xjUbuGmHLmw8tfTUCjXSvMM9r96JaexPFmHdwW6XLe71KKdWp8u96vRDRE5648cd+/of15OjaRtakRKqluA/A==}
+ dependencies:
+ '@storybook/channels': 7.5.1
+ '@storybook/client-logger': 7.5.1
+ '@storybook/core-events': 7.5.1
+ '@storybook/csf': 0.1.1
+ '@storybook/global': 5.0.0
+ '@storybook/types': 7.5.1
+ '@types/qs': 6.9.9
+ dequal: 2.0.3
+ lodash: 4.17.21
+ memoizerific: 1.11.3
+ qs: 6.11.2
+ synchronous-promise: 2.0.17
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ dev: true
+
+ /@storybook/preview@7.5.1:
+ resolution: {integrity: sha512-nfZC103z9Cy27FrJKUr2IjDuVt8Mvn1Z5gZ0TtJihoK7sfLTv29nd/XU9zzrb/epM3o8UEzc63xZZsMaToDbAw==}
+ dev: true
+
+ /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.2.2)(webpack@5.89.0):
+ resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==}
+ peerDependencies:
+ typescript: '>= 4.x'
+ webpack: '>= 4'
+ dependencies:
+ debug: 4.3.4
+ endent: 2.1.0
+ find-cache-dir: 3.3.2
+ flat-cache: 3.1.1
+ micromatch: 4.0.5
+ react-docgen-typescript: 2.2.2(typescript@5.2.2)
+ tslib: 2.6.2
+ typescript: 5.2.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@storybook/react-dom-shim@7.5.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-bzTIfLm91O9h3rPYJLtRbmsPARerY3z7MoyvadGp8TikvIvf+WyT/vHujw+20SxnqiZVq5Jv65FFlxc46GGB1Q==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@storybook/react@7.5.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-IG97c30fFSmPyGpJ1awHC/+9XnCTqleeOQwROXjroMHSm8m/JTWpHMVLyM1x7b6VAnBhNHWJ+oXLZe/hXkXfpA==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/core-client': 7.5.1
+ '@storybook/docs-tools': 7.5.1
+ '@storybook/global': 5.0.0
+ '@storybook/preview-api': 7.5.1
+ '@storybook/react-dom-shim': 7.5.1(react-dom@18.2.0)(react@18.2.0)
+ '@storybook/types': 7.5.1
+ '@types/escodegen': 0.0.6
+ '@types/estree': 0.0.51
+ '@types/node': 18.18.6
+ acorn: 7.4.1
+ acorn-jsx: 5.3.2(acorn@7.4.1)
+ acorn-walk: 7.2.0
+ escodegen: 2.1.0
+ html-tags: 3.3.1
+ lodash: 4.17.21
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-element-to-jsx-string: 15.0.0(react-dom@18.2.0)(react@18.2.0)
+ ts-dedent: 2.2.0
+ type-fest: 2.19.0
+ typescript: 5.2.2
+ util-deprecate: 1.0.2
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/router@7.5.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-BvKo+IxWwo3dfIG1+vLtZLT4qqkNHL5GTIozTyX04uqt9ByYZL6SJEzxEa1Xn6Qq/fbdQwzCanNHbTlwiTMf7Q==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ memoizerific: 1.11.3
+ qs: 6.11.2
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@storybook/telemetry@7.5.1:
+ resolution: {integrity: sha512-z9PGouNqvZ2F7vD79qDF4PN7iW3kE3MO7YX0iKTmzgLi4ImKuXIJRF04GRH8r+WYghnbomAyA4o6z9YJMdNuVw==}
+ dependencies:
+ '@storybook/client-logger': 7.5.1
+ '@storybook/core-common': 7.5.1
+ '@storybook/csf-tools': 7.5.1
+ chalk: 4.1.2
+ detect-package-manager: 2.0.1
+ fetch-retry: 5.0.6
+ fs-extra: 11.1.1
+ read-pkg-up: 7.0.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: true
+
+ /@storybook/theming@7.5.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-ETLAOn10hI4Mkmjsr0HGcM6HbzaURrrPBYmfXOrdbrzEVN+AHW4FlvP9d8fYyP1gdjPE1F39XvF0jYgt1zXiHQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
+ '@storybook/client-logger': 7.5.1
+ '@storybook/global': 5.0.0
+ memoizerific: 1.11.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /@storybook/types@7.5.1:
+ resolution: {integrity: sha512-ZcMSaqFNx1E+G00nRDUi8kKL7gxJVlnCvbKLNj3V85guy4DkIYAZr31yDqze07gDWbjvKoHIp3tKpgE+2i8upQ==}
+ dependencies:
+ '@storybook/channels': 7.5.1
+ '@types/babel__core': 7.20.3
+ '@types/express': 4.17.20
+ file-system-cache: 2.3.0
+ dev: true
+
+ /@swc/core-darwin-arm64@1.3.93:
+ resolution: {integrity: sha512-gEKgk7FVIgltnIfDO6GntyuQBBlAYg5imHpRgLxB1zSI27ijVVkksc6QwISzFZAhKYaBWIsFSVeL9AYSziAF7A==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-darwin-x64@1.3.93:
+ resolution: {integrity: sha512-ZQPxm/fXdDQtn3yrYSL/gFfA8OfZ5jTi33yFQq6vcg/Y8talpZ+MgdSlYM0FkLrZdMTYYTNFiuBQuuvkA+av+Q==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm-gnueabihf@1.3.93:
+ resolution: {integrity: sha512-OYFMMI2yV+aNe3wMgYhODxHdqUB/jrK0SEMHHS44GZpk8MuBXEF+Mcz4qjkY5Q1EH7KVQqXb/gVWwdgTHpjM2A==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm64-gnu@1.3.93:
+ resolution: {integrity: sha512-BT4dT78odKnJMNiq5HdjBsv29CiIdcCcImAPxeFqAeFw1LL6gh9nzI8E96oWc+0lVT5lfhoesCk4Qm7J6bty8w==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm64-musl@1.3.93:
+ resolution: {integrity: sha512-yH5fWEl1bktouC0mhh0Chuxp7HEO4uCtS/ly1Vmf18gs6wZ8DOOkgAEVv2dNKIryy+Na++ljx4Ym7C8tSJTrLw==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-x64-gnu@1.3.93:
+ resolution: {integrity: sha512-OFUdx64qvrGJhXKEyxosHxgoUVgba2ztYh7BnMiU5hP8lbI8G13W40J0SN3CmFQwPP30+3oEbW7LWzhKEaYjlg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-x64-musl@1.3.93:
+ resolution: {integrity: sha512-4B8lSRwEq1XYm6xhxHhvHmKAS7pUp1Q7E33NQ2TlmFhfKvCOh86qvThcjAOo57x8DRwmpvEVrqvpXtYagMN6Ig==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-arm64-msvc@1.3.93:
+ resolution: {integrity: sha512-BHShlxtkven8ZjjvZ5QR6sC5fZCJ9bMujEkiha6W4cBUTY7ce7qGFyHmQd+iPC85d9kD/0cCiX/Xez8u0BhO7w==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-ia32-msvc@1.3.93:
+ resolution: {integrity: sha512-nEwNWnz4JzYAK6asVvb92yeylfxMYih7eMQOnT7ZVlZN5ba9WF29xJ6kcQKs9HRH6MvWhz9+wRgv3FcjlU6HYA==}
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-x64-msvc@1.3.93:
+ resolution: {integrity: sha512-jibQ0zUr4kwJaQVwgmH+svS04bYTPnPw/ZkNInzxS+wFAtzINBYcU8s2PMWbDb2NGYiRSEeoSGyAvS9H+24JFA==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core@1.3.93:
+ resolution: {integrity: sha512-690GRr1wUGmGYZHk7fUduX/JUwViMF2o74mnZYIWEcJaCcd9MQfkhsxPBtjeg6tF+h266/Cf3RPYhsFBzzxXcA==}
+ engines: {node: '>=10'}
+ requiresBuild: true
+ peerDependencies:
+ '@swc/helpers': ^0.5.0
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+ dependencies:
+ '@swc/counter': 0.1.2
+ '@swc/types': 0.1.5
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.3.93
+ '@swc/core-darwin-x64': 1.3.93
+ '@swc/core-linux-arm-gnueabihf': 1.3.93
+ '@swc/core-linux-arm64-gnu': 1.3.93
+ '@swc/core-linux-arm64-musl': 1.3.93
+ '@swc/core-linux-x64-gnu': 1.3.93
+ '@swc/core-linux-x64-musl': 1.3.93
+ '@swc/core-win32-arm64-msvc': 1.3.93
+ '@swc/core-win32-ia32-msvc': 1.3.93
+ '@swc/core-win32-x64-msvc': 1.3.93
+ dev: true
+
+ /@swc/counter@0.1.2:
+ resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
+ dev: true
+
+ /@swc/helpers@0.5.2:
+ resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
+ dependencies:
+ tslib: 2.6.2
+
+ /@swc/types@0.1.5:
+ resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
+ dev: true
+
+ /@tootallnate/once@2.0.0:
+ resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
+ engines: {node: '>= 10'}
+ dev: true
+
+ /@tsconfig/create-react-app@2.0.1:
+ resolution: {integrity: sha512-M/wUfGIifMUNqDO5APZmlHTmHXiO5kUPQehxi3Jz6VdaUJqQehuvAB0oNzGHevbl9od/9fS41KvQChgjVgg2tw==}
+ dev: true
+
+ /@tsconfig/esm@1.0.5:
+ resolution: {integrity: sha512-JzoZ0h299JRLPfV5VBsMq1TuMy+OmU9bdV/7NcjfRojL0eIcA1k5ESrtjWrDwJRJnk9B0QmgR0rq04LERbdfWw==}
+ deprecated: this package has been deprecated
+ dev: true
+
+ /@tsconfig/next@2.0.1:
+ resolution: {integrity: sha512-8Za+6fv85ipdoO1u/Xknyurab8T92LbS0/KzRB0/GHvPh3xl0L4yf5+VmSxXNwjF1uS/xLSqf+BPhfaqasCpZw==}
+ dev: true
+
+ /@tsconfig/node-lts@18.12.5:
+ resolution: {integrity: sha512-KJZX0kQ5FBv77WDVzmQ9y1dUjaJCNXAAz3LSsg5cMwH0AUijVdDQtII+IVprEXdb13U9GjVOBxBzyRvr/ozPxw==}
+ dev: true
+
+ /@tsconfig/node10@1.0.9:
+ resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
+
+ /@tsconfig/node12@1.0.11:
+ resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
+
+ /@tsconfig/node14@1.0.3:
+ resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
+
+ /@tsconfig/node16@1.0.4:
+ resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+
+ /@tsconfig/strictest@2.0.2:
+ resolution: {integrity: sha512-jt4jIsWKvUvuY6adJnQJlb/UR7DdjC8CjHI/OaSQruj2yX9/K6+KOvDt/vD6udqos/FUk5Op66CvYT7TBLYO5Q==}
+ dev: true
+
+ /@types/babel__core@7.20.3:
+ resolution: {integrity: sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==}
+ dependencies:
+ '@babel/parser': 7.23.0
+ '@babel/types': 7.23.0
+ '@types/babel__generator': 7.6.6
+ '@types/babel__template': 7.4.3
+ '@types/babel__traverse': 7.20.3
+ dev: true
+
+ /@types/babel__generator@7.6.6:
+ resolution: {integrity: sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==}
+ dependencies:
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@types/babel__template@7.4.3:
+ resolution: {integrity: sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==}
+ dependencies:
+ '@babel/parser': 7.23.0
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@types/babel__traverse@7.20.3:
+ resolution: {integrity: sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==}
+ dependencies:
+ '@babel/types': 7.23.0
+ dev: true
+
+ /@types/body-parser@1.19.4:
+ resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==}
+ dependencies:
+ '@types/connect': 3.4.37
+ '@types/node': 20.8.7
+
+ /@types/connect@3.4.37:
+ resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==}
+ dependencies:
+ '@types/node': 20.8.7
+
+ /@types/cross-spawn@6.0.4:
+ resolution: {integrity: sha512-GGLpeThc2Bu8FBGmVn76ZU3lix17qZensEI4/MPty0aZpm2CHfgEMis31pf5X5EiudYKcPAsWciAsCALoPo5dw==}
+ dependencies:
+ '@types/node': 20.8.7
+ dev: true
+
+ /@types/detect-port@1.3.4:
+ resolution: {integrity: sha512-HveFGabu3IwATqwLelcp6UZ1MIzSFwk+qswC9luzzHufqAwhs22l7KkINDLWRfXxIPTYnSZ1DuQBEgeVPgUOSA==}
+ dev: true
+
+ /@types/doctrine@0.0.3:
+ resolution: {integrity: sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==}
+ dev: true
+
+ /@types/ejs@3.1.4:
+ resolution: {integrity: sha512-fnM/NjByiWdSRJRrmGxgqOSAnmOnsvX1QcNYk5TVyIIj+7ZqOKMb9gQa4OIl/lil2w/8TiTWV+nz3q8yqxez/w==}
+ dev: true
+
+ /@types/emscripten@1.39.9:
+ resolution: {integrity: sha512-ILdWj4XYtNOqxJaW22NEQx2gJsLfV5ncxYhhGX1a1H1lXl2Ta0gUz7QOnOoF1xQbJwWDjImi8gXN9mKdIf6n9g==}
+ dev: true
+
+ /@types/escodegen@0.0.6:
+ resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==}
+ dev: true
+
+ /@types/eslint-scope@3.7.6:
+ resolution: {integrity: sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==}
+ dependencies:
+ '@types/eslint': 8.44.6
+ '@types/estree': 1.0.3
+
+ /@types/eslint@8.44.6:
+ resolution: {integrity: sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==}
+ dependencies:
+ '@types/estree': 1.0.3
+ '@types/json-schema': 7.0.14
+
+ /@types/estree@0.0.51:
+ resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
+ dev: true
+
+ /@types/estree@1.0.3:
+ resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==}
+
+ /@types/express-serve-static-core@4.17.39:
+ resolution: {integrity: sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==}
+ dependencies:
+ '@types/node': 20.8.7
+ '@types/qs': 6.9.9
+ '@types/range-parser': 1.2.6
+ '@types/send': 0.17.3
+
+ /@types/express@4.17.20:
+ resolution: {integrity: sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==}
+ dependencies:
+ '@types/body-parser': 1.19.4
+ '@types/express-serve-static-core': 4.17.39
+ '@types/qs': 6.9.9
+ '@types/serve-static': 1.15.4
+
+ /@types/find-cache-dir@3.2.1:
+ resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==}
+ dev: true
+
+ /@types/graceful-fs@4.1.8:
+ resolution: {integrity: sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==}
+ dependencies:
+ '@types/node': 20.8.7
+ dev: true
+
+ /@types/graphql-validation-complexity@0.4.3:
+ resolution: {integrity: sha512-R+6xPuZBKu7sXxThEV3URw6WLkoF32I5x0ZRbV9FsSPvrSc2H3OavPm69zH1SnirKcUInCYpx3PaQ+5N/W7Arg==}
+ dependencies:
+ graphql: 16.8.1
+ dev: true
+
+ /@types/html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
+ dev: true
+
+ /@types/http-errors@2.0.3:
+ resolution: {integrity: sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==}
+
+ /@types/istanbul-lib-coverage@2.0.5:
+ resolution: {integrity: sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==}
+ dev: true
+
+ /@types/istanbul-lib-report@3.0.2:
+ resolution: {integrity: sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==}
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.5
+ dev: true
+
+ /@types/istanbul-reports@3.0.3:
+ resolution: {integrity: sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==}
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.2
+ dev: true
+
+ /@types/jest@29.5.6:
+ resolution: {integrity: sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==}
+ dependencies:
+ expect: 29.7.0
+ pretty-format: 29.7.0
+ dev: true
+
+ /@types/js-yaml@4.0.8:
+ resolution: {integrity: sha512-m6jnPk1VhlYRiLFm3f8X9Uep761f+CK8mHyS65LutH2OhmBF0BeMEjHgg05usH8PLZMWWc/BUR9RPmkvpWnyRA==}
+ dev: true
+
+ /@types/jsdom@20.0.1:
+ resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==}
+ dependencies:
+ '@types/node': 20.8.7
+ '@types/tough-cookie': 4.0.4
+ parse5: 7.1.2
+ dev: true
+
+ /@types/json-schema@7.0.14:
+ resolution: {integrity: sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==}
+
+ /@types/json-stable-stringify@1.0.35:
+ resolution: {integrity: sha512-zlCWqsRBI0+ANN7dzGeDFJ4CHaVFTLqBNRS11GjR2mHCW6XxNtnMxhQzBKMzfsnjI8oI+kWq2vBwinyQpZVSsg==}
+ dev: true
+
+ /@types/json5@0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ dev: true
+
+ /@types/lodash@4.14.200:
+ resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==}
+ dev: true
+
+ /@types/long@4.0.2:
+ resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==}
+ dev: false
+
+ /@types/mdx@2.0.9:
+ resolution: {integrity: sha512-OKMdj17y8Cs+k1r0XFyp59ChSOwf8ODGtMQ4mnpfz5eFDk1aO41yN3pSKGuvVzmWAkFp37seubY1tzOVpwfWwg==}
+ dev: true
+
+ /@types/mime-types@2.1.3:
+ resolution: {integrity: sha512-bvxCbHeeS7quxS7uOJShyoOQj/BfLabhF6mk9Rmr+2MRfW8W1yxyyL/0GTxLFTHen41GrIw4K3D4DrLouhb8vg==}
+ dev: true
+
+ /@types/mime@1.3.4:
+ resolution: {integrity: sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==}
+
+ /@types/mime@3.0.3:
+ resolution: {integrity: sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ==}
+
+ /@types/minimist@1.2.4:
+ resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==}
+ dev: true
+
+ /@types/node-fetch@2.6.7:
+ resolution: {integrity: sha512-lX17GZVpJ/fuCjguZ5b3TjEbSENxmEk1B2z02yoXSK9WMEWRivhdSY73wWMn6bpcCDAOh6qAdktpKHIlkDk2lg==}
+ dependencies:
+ '@types/node': 20.8.7
+ form-data: 4.0.0
+
+ /@types/node@18.18.6:
+ resolution: {integrity: sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==}
+ dev: true
+
+ /@types/node@20.8.7:
+ resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==}
+ dependencies:
+ undici-types: 5.25.3
+
+ /@types/normalize-package-data@2.4.3:
+ resolution: {integrity: sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==}
+ dev: true
+
+ /@types/parse-json@4.0.1:
+ resolution: {integrity: sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==}
+
+ /@types/pg@8.10.7:
+ resolution: {integrity: sha512-ksJqHipwYaSEHz9e1fr6H6erjoEdNNaOxwyJgPx9bNeaqOW3iWBQgVHfpwiSAoqGzchfc+ZyRLwEfeCcyYD3uQ==}
+ dependencies:
+ '@types/node': 20.8.7
+ pg-protocol: 1.6.0
+ pg-types: 4.0.1
+
+ /@types/pretty-hrtime@1.0.2:
+ resolution: {integrity: sha512-vyv9knII8XeW8TnXDcGH7HqG6FeR56ESN6ExM34d/U8Zvs3xuG34euV6CVyB7KEYI7Ts4lQM8b4NL72e7UadnA==}
+ dev: true
+
+ /@types/prop-types@15.7.9:
+ resolution: {integrity: sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==}
+
+ /@types/qs@6.9.9:
+ resolution: {integrity: sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==}
+
+ /@types/range-parser@1.2.6:
+ resolution: {integrity: sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==}
+
+ /@types/react-dom@18.2.14:
+ resolution: {integrity: sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==}
+ dependencies:
+ '@types/react': 18.2.31
+
+ /@types/react@18.2.31:
+ resolution: {integrity: sha512-c2UnPv548q+5DFh03y8lEDeMfDwBn9G3dRwfkrxQMo/dOtRHUUO57k6pHvBIfH/VF4Nh+98mZ5aaSe+2echD5g==}
+ dependencies:
+ '@types/prop-types': 15.7.9
+ '@types/scheduler': 0.16.5
+ csstype: 3.1.2
+
+ /@types/scheduler@0.16.5:
+ resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==}
+
+ /@types/semver@7.5.4:
+ resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==}
+ dev: true
+
+ /@types/send@0.17.3:
+ resolution: {integrity: sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==}
+ dependencies:
+ '@types/mime': 1.3.4
+ '@types/node': 20.8.7
+
+ /@types/serve-static@1.15.4:
+ resolution: {integrity: sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==}
+ dependencies:
+ '@types/http-errors': 2.0.3
+ '@types/mime': 3.0.3
+ '@types/node': 20.8.7
+
+ /@types/stack-utils@2.0.2:
+ resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==}
+ dev: true
+
+ /@types/tough-cookie@4.0.4:
+ resolution: {integrity: sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==}
+ dev: true
+
+ /@types/unist@2.0.9:
+ resolution: {integrity: sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==}
+ dev: true
+
+ /@types/validator@13.11.5:
+ resolution: {integrity: sha512-xW4qsT4UIYILu+7ZrBnfQdBYniZrMLYYK3wN9M/NdeIHgBN5pZI2/8Q7UfdWIcr5RLJv/OGENsx91JIpUUoC7Q==}
+ dev: false
+
+ /@types/ws@8.5.8:
+ resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==}
+ dependencies:
+ '@types/node': 20.8.7
+ dev: true
+
+ /@types/yargs-parser@21.0.2:
+ resolution: {integrity: sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==}
+ dev: true
+
+ /@types/yargs@17.0.29:
+ resolution: {integrity: sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==}
+ dependencies:
+ '@types/yargs-parser': 21.0.2
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.9.1
+ '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ '@typescript-eslint/scope-manager': 6.8.0
+ '@typescript-eslint/type-utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ '@typescript-eslint/visitor-keys': 6.8.0
+ debug: 4.3.4
+ eslint: 8.52.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare: 1.4.0
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.8.0(eslint@8.52.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 6.8.0
+ '@typescript-eslint/types': 6.8.0
+ '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2)
+ '@typescript-eslint/visitor-keys': 6.8.0
+ debug: 4.3.4
+ eslint: 8.52.0
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager@5.62.0:
+ resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ dev: true
+
+ /@typescript-eslint/scope-manager@6.8.0:
+ resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.8.0
+ '@typescript-eslint/visitor-keys': 6.8.0
+ dev: true
+
+ /@typescript-eslint/type-utils@6.8.0(eslint@8.52.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2)
+ '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ debug: 4.3.4
+ eslint: 8.52.0
+ ts-api-utils: 1.0.3(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types@5.62.0:
+ resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@typescript-eslint/types@6.8.0:
+ resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2):
+ resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ tsutils: 3.21.0(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2):
+ resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.8.0
+ '@typescript-eslint/visitor-keys': 6.8.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.5.4
+ ts-api-utils: 1.0.3(typescript@5.2.2)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils@5.62.0(eslint@8.52.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0)
+ '@types/json-schema': 7.0.14
+ '@types/semver': 7.5.4
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2)
+ eslint: 8.52.0
+ eslint-scope: 5.1.1
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/utils@6.8.0(eslint@8.52.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0)
+ '@types/json-schema': 7.0.14
+ '@types/semver': 7.5.4
+ '@typescript-eslint/scope-manager': 6.8.0
+ '@typescript-eslint/types': 6.8.0
+ '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2)
+ eslint: 8.52.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys@5.62.0:
+ resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.62.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@typescript-eslint/visitor-keys@6.8.0:
+ resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.8.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ dev: true
+
+ /@urql/core@4.1.4(graphql@16.8.1):
+ resolution: {integrity: sha512-wFm67yljv4uFAWNtPwcS1NMhF/n+p/68i+kZU6R1dPxhfq2nBW0142p4szeZsBDrtO7pBdOhp7YeSZROFFlXZg==}
+ dependencies:
+ '@0no-co/graphql.web': 1.0.4(graphql@16.8.1)
+ wonka: 6.3.4
+ transitivePeerDependencies:
+ - graphql
+ dev: false
+
+ /@urql/devtools@2.0.3(@urql/core@4.1.4)(graphql@16.8.1):
+ resolution: {integrity: sha512-TktPLiBS9LcBPHD6qcnb8wqOVcg3Bx0iCtvQ80uPpfofwwBGJmqnQTjUdEFU6kwaLOFZULQ9+Uo4831G823mQw==}
+ peerDependencies:
+ '@urql/core': '>= 1.14.0'
+ graphql: '>= 0.11.0'
+ dependencies:
+ '@urql/core': 4.1.4(graphql@16.8.1)
+ graphql: 16.8.1
+ wonka: 6.3.4
+ dev: false
+
+ /@urql/introspection@0.3.3(graphql@16.8.1):
+ resolution: {integrity: sha512-tekSLLqWnusfV6V7xaEnLJQSdXOD/lWy7f8JYQwrX+88Md+voGSCSx5WJXI7KLBN3Tat2OV08tAr8UROykls4Q==}
+ peerDependencies:
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ graphql: 16.8.1
+ dev: true
+
+ /@urql/next@1.1.0(next@13.5.6)(react@18.2.0)(urql@4.0.5):
+ resolution: {integrity: sha512-yem5319hUn9cg+BIOMBRGb2Xt39Jusz4eu3Vdv0Fb5+mRLal644JxYpB98OBj0idBtMvl04zuJ69FGuHz4Aa6w==}
+ peerDependencies:
+ next: '>=13.0.0'
+ react: '>=18.0.0'
+ urql: ^4.0.0
+ dependencies:
+ next: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ urql: 4.0.5(graphql@16.8.1)(react@18.2.0)
+ dev: false
+
+ /@webassemblyjs/ast@1.11.6:
+ resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==}
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+
+ /@webassemblyjs/floating-point-hex-parser@1.11.6:
+ resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
+
+ /@webassemblyjs/helper-api-error@1.11.6:
+ resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
+
+ /@webassemblyjs/helper-buffer@1.11.6:
+ resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==}
+
+ /@webassemblyjs/helper-numbers@1.11.6:
+ resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
+ dependencies:
+ '@webassemblyjs/floating-point-hex-parser': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@xtuc/long': 4.2.2
+
+ /@webassemblyjs/helper-wasm-bytecode@1.11.6:
+ resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
+
+ /@webassemblyjs/helper-wasm-section@1.11.6:
+ resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+
+ /@webassemblyjs/ieee754@1.11.6:
+ resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+
+ /@webassemblyjs/leb128@1.11.6:
+ resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
+ dependencies:
+ '@xtuc/long': 4.2.2
+
+ /@webassemblyjs/utf8@1.11.6:
+ resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
+
+ /@webassemblyjs/wasm-edit@1.11.6:
+ resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/helper-wasm-section': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-opt': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ '@webassemblyjs/wast-printer': 1.11.6
+
+ /@webassemblyjs/wasm-gen@1.11.6:
+ resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+
+ /@webassemblyjs/wasm-opt@1.11.6:
+ resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-buffer': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+
+ /@webassemblyjs/wasm-parser@1.11.6:
+ resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/helper-api-error': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+
+ /@webassemblyjs/wast-printer@1.11.6:
+ resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==}
+ dependencies:
+ '@webassemblyjs/ast': 1.11.6
+ '@xtuc/long': 4.2.2
+
+ /@whatwg-node/events@0.0.3:
+ resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==}
+ dev: true
+
+ /@whatwg-node/events@0.1.1:
+ resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==}
+ engines: {node: '>=16.0.0'}
+ dev: true
+
+ /@whatwg-node/fetch@0.8.8:
+ resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==}
+ dependencies:
+ '@peculiar/webcrypto': 1.4.3
+ '@whatwg-node/node-fetch': 0.3.6
+ busboy: 1.6.0
+ urlpattern-polyfill: 8.0.2
+ web-streams-polyfill: 3.2.1
+ dev: true
+
+ /@whatwg-node/fetch@0.9.13:
+ resolution: {integrity: sha512-PPtMwhjtS96XROnSpowCQM85gCUG2m7AXZFw0PZlGbhzx2GK7f2iOXilfgIJ0uSlCuuGbOIzfouISkA7C4FJOw==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@whatwg-node/node-fetch': 0.4.19
+ urlpattern-polyfill: 9.0.0
+ dev: true
+
+ /@whatwg-node/node-fetch@0.3.6:
+ resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==}
+ dependencies:
+ '@whatwg-node/events': 0.0.3
+ busboy: 1.6.0
+ fast-querystring: 1.1.2
+ fast-url-parser: 1.1.3
+ tslib: 2.6.2
+ dev: true
+
+ /@whatwg-node/node-fetch@0.4.19:
+ resolution: {integrity: sha512-AW7/m2AuweAoSXmESrYQr/KBafueScNbn2iNO0u6xFr2JZdPmYsSm5yvAXYk6yDLv+eDmSSKrf7JnFZ0CsJIdA==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ '@whatwg-node/events': 0.1.1
+ busboy: 1.6.0
+ fast-querystring: 1.1.2
+ fast-url-parser: 1.1.3
+ tslib: 2.6.2
+ dev: true
+
+ /@xtuc/ieee754@1.2.0:
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ /@xtuc/long@4.2.2:
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
+ /@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.18.20):
+ resolution: {integrity: sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==}
+ engines: {node: '>=14.15.0'}
+ peerDependencies:
+ esbuild: '>=0.10.0'
+ dependencies:
+ esbuild: 0.18.20
+ tslib: 2.6.2
+ dev: true
+
+ /@yarnpkg/fslib@2.10.3:
+ resolution: {integrity: sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==}
+ engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'}
+ dependencies:
+ '@yarnpkg/libzip': 2.3.0
+ tslib: 1.14.1
+ dev: true
+
+ /@yarnpkg/libzip@2.3.0:
+ resolution: {integrity: sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==}
+ engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'}
+ dependencies:
+ '@types/emscripten': 1.39.9
+ tslib: 1.14.1
+ dev: true
+
+ /abab@2.0.6:
+ resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+ dev: true
+
+ /abort-controller@3.0.0:
+ resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
+ engines: {node: '>=6.5'}
+ dependencies:
+ event-target-shim: 5.0.1
+ dev: true
+
+ /accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
+ /acorn-globals@7.0.1:
+ resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
+ dependencies:
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
+ dev: true
+
+ /acorn-import-assertions@1.9.0(acorn@8.10.0):
+ resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
+ peerDependencies:
+ acorn: ^8
+ dependencies:
+ acorn: 8.10.0
+
+ /acorn-jsx@5.3.2(acorn@7.4.1):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 7.4.1
+ dev: true
+
+ /acorn-jsx@5.3.2(acorn@8.10.0):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.10.0
+ dev: true
+
+ /acorn-walk@7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /acorn-walk@8.2.0:
+ resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
+ engines: {node: '>=0.4.0'}
+
+ /acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /acorn@8.10.0:
+ resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /add@2.0.6:
+ resolution: {integrity: sha512-j5QzrmsokwWWp6kUcJQySpbG+xfOBqqKnup3OIk1pz+kB/80SLorZ9V8zHFLO92Lcd+hbvq8bT+zOGoPkmBV0Q==}
+ dev: true
+
+ /address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+ dev: true
+
+ /adjust-sourcemap-loader@4.0.0:
+ resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==}
+ engines: {node: '>=8.9'}
+ dependencies:
+ loader-utils: 2.0.4
+ regex-parser: 2.2.11
+ dev: true
+
+ /agent-base@5.1.1:
+ resolution: {integrity: sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==}
+ engines: {node: '>= 6.0.0'}
+ dev: true
+
+ /agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /agent-base@7.1.0:
+ resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
+ engines: {node: '>= 14'}
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /aggregate-error@3.1.0:
+ resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
+ engines: {node: '>=8'}
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+ dev: true
+
+ /ajv-formats@2.1.1(ajv@8.12.0):
+ resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
+ peerDependencies:
+ ajv: ^8.0.0
+ peerDependenciesMeta:
+ ajv:
+ optional: true
+ dependencies:
+ ajv: 8.12.0
+
+ /ajv-keywords@3.5.2(ajv@6.12.6):
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+ dependencies:
+ ajv: 6.12.6
+
+ /ajv-keywords@5.1.0(ajv@8.12.0):
+ resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
+ peerDependencies:
+ ajv: ^8.8.2
+ dependencies:
+ ajv: 8.12.0
+ fast-deep-equal: 3.1.3
+ dev: true
+
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ /ajv@8.12.0:
+ resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+
+ /ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.21.3
+
+ /ansi-escapes@5.0.0:
+ resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==}
+ engines: {node: '>=12'}
+ dependencies:
+ type-fest: 1.4.0
+ dev: true
+
+ /ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+ dev: true
+
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ /ansi-regex@6.0.1:
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ /app-root-dir@1.0.2:
+ resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==}
+ dev: true
+
+ /append-field@1.0.0:
+ resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==}
+ dev: false
+
+ /arg@4.1.3:
+ resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
+
+ /arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ /argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ dependencies:
+ sprintf-js: 1.0.3
+ dev: true
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
+
+ /aria-hidden@1.2.3:
+ resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ tslib: 2.6.2
+
+ /aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
+ /array-buffer-byte-length@1.0.0:
+ resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
+ dependencies:
+ call-bind: 1.0.5
+ is-array-buffer: 3.0.2
+ dev: true
+
+ /array-flatten@1.1.1:
+ resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+
+ /array-includes@3.1.7:
+ resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ is-string: 1.0.7
+ dev: true
+
+ /array-timsort@1.0.3:
+ resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==}
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /array.prototype.findlastindex@1.2.3:
+ resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.tosorted@1.1.2:
+ resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-shim-unscopables: 1.0.0
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /arraybuffer.prototype.slice@1.0.2:
+ resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ is-array-buffer: 3.0.2
+ is-shared-array-buffer: 1.0.2
+ dev: true
+
+ /arrify@1.0.1:
+ resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /asap@2.0.6:
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
+ dev: true
+
+ /asn1.js@5.4.1:
+ resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==}
+ dependencies:
+ bn.js: 4.12.0
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ safer-buffer: 2.1.2
+ dev: true
+
+ /asn1js@3.0.5:
+ resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ pvtsutils: 1.3.5
+ pvutils: 1.1.3
+ tslib: 2.6.2
+ dev: true
+
+ /assert@2.1.0:
+ resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==}
+ dependencies:
+ call-bind: 1.0.5
+ is-nan: 1.3.2
+ object-is: 1.1.5
+ object.assign: 4.1.4
+ util: 0.12.5
+ dev: true
+
+ /ast-types-flow@0.0.7:
+ resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
+ dev: true
+
+ /ast-types@0.14.2:
+ resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /ast-types@0.15.2:
+ resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /ast-types@0.16.1:
+ resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
+ engines: {node: '>=4'}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /astral-regex@2.0.0:
+ resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /async-limiter@1.0.1:
+ resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
+ dev: true
+
+ /async-retry@1.3.3:
+ resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==}
+ dependencies:
+ retry: 0.13.1
+ dev: false
+
+ /async@3.2.4:
+ resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
+ dev: true
+
+ /asynciterator.prototype@1.0.0:
+ resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ /auto-bind@4.0.0:
+ resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /autoprefixer@10.4.16(postcss@8.4.31):
+ resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.22.1
+ caniuse-lite: 1.0.30001551
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /available-typed-arrays@1.0.5:
+ resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /axe-core@4.8.2:
+ resolution: {integrity: sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /axios-proxy-builder@0.1.2:
+ resolution: {integrity: sha512-6uBVsBZzkB3tCC8iyx59mCjQckhB8+GQrI9Cop8eC7ybIsvs/KtnNgEBfRMSEa7GqK2VBGUzgjNYMdPIfotyPA==}
+ dependencies:
+ tunnel: 0.0.6
+ dev: true
+
+ /axios@0.26.1:
+ resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
+ dependencies:
+ follow-redirects: 1.15.3
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
+ dependencies:
+ dequal: 2.0.3
+ dev: true
+
+ /b4a@1.6.4:
+ resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==}
+ dev: false
+
+ /babel-core@7.0.0-bridge.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.2
+ dev: true
+
+ /babel-jest@29.7.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ peerDependencies:
+ '@babel/core': ^7.8.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@jest/transform': 29.7.0
+ '@types/babel__core': 7.20.3
+ babel-plugin-istanbul: 6.1.1
+ babel-preset-jest: 29.6.3(@babel/core@7.23.2)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-loader@9.1.3(@babel/core@7.23.2)(webpack@5.89.0):
+ resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ webpack: '>=5'
+ dependencies:
+ '@babel/core': 7.23.2
+ find-cache-dir: 4.0.0
+ schema-utils: 4.2.0
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /babel-plugin-add-react-displayname@0.0.5:
+ resolution: {integrity: sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==}
+ dev: true
+
+ /babel-plugin-istanbul@6.1.1:
+ resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/helper-plugin-utils': 7.22.5
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 5.2.1
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-jest-hoist@29.6.3:
+ resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@babel/template': 7.22.15
+ '@babel/types': 7.23.0
+ '@types/babel__core': 7.20.3
+ '@types/babel__traverse': 7.20.3
+ dev: true
+
+ /babel-plugin-named-exports-order@0.0.2:
+ resolution: {integrity: sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==}
+ dev: true
+
+ /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.2):
+ resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/compat-data': 7.23.2
+ '@babel/core': 7.23.2
+ '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.23.2):
+ resolution: {integrity: sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2)
+ core-js-compat: 3.33.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-react-docgen@4.2.1:
+ resolution: {integrity: sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==}
+ dependencies:
+ ast-types: 0.14.2
+ lodash: 4.17.21
+ react-docgen: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0:
+ resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
+ dev: true
+
+ /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.2):
+ resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2)
+ dev: true
+
+ /babel-preset-fbjs@3.4.0(@babel/core@7.23.2):
+ resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.2)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.23.2)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2)
+ '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2)
+ '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.2)
+ '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.23.2)
+ babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0
+ dev: true
+
+ /babel-preset-jest@29.6.3(@babel/core@7.23.2):
+ resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.2
+ babel-plugin-jest-hoist: 29.6.3
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2)
+ dev: true
+
+ /backo2@1.0.2:
+ resolution: {integrity: sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==}
+ dev: false
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /balanced-match@2.0.0:
+ resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==}
+ dev: true
+
+ /base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ /better-opn@3.0.2:
+ resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ open: 8.4.2
+ dev: true
+
+ /big-integer@1.6.51:
+ resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+ dev: true
+
+ /bin-links@4.0.3:
+ resolution: {integrity: sha512-obsRaULtJurnfox/MDwgq6Yo9kzbv1CPTk/1/s7Z/61Lezc8IKkFCOXNeVLXz0456WRzBQmSsDWlai2tIhBsfA==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ cmd-shim: 6.0.2
+ npm-normalize-package-bin: 3.0.1
+ read-cmd-shim: 4.0.0
+ write-file-atomic: 5.0.1
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+
+ /binary-install@1.1.0:
+ resolution: {integrity: sha512-rkwNGW+3aQVSZoD0/o3mfPN6Yxh3Id0R/xzTVBVVpGNlVz8EGwusksxRlbk/A5iKTZt9zkMn3qIqmAt3vpfbzg==}
+ engines: {node: '>=10'}
+ dependencies:
+ axios: 0.26.1
+ rimraf: 3.0.2
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /bl@4.1.0:
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ dependencies:
+ buffer: 5.7.1
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ /bn.js@4.12.0:
+ resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==}
+ dev: true
+
+ /bn.js@5.2.1:
+ resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
+ dev: true
+
+ /body-parser@1.20.1:
+ resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.11.0
+ raw-body: 2.5.1
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /body-parser@1.20.2:
+ resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.11.0
+ raw-body: 2.5.2
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+ dev: true
+
+ /bplist-parser@0.2.0:
+ resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==}
+ engines: {node: '>= 5.10.0'}
+ dependencies:
+ big-integer: 1.6.51
+ dev: true
+
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+
+ /brorand@1.1.0:
+ resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
+ dev: true
+
+ /browser-assert@1.2.1:
+ resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==}
+ dev: true
+
+ /browserify-aes@1.2.0:
+ resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==}
+ dependencies:
+ buffer-xor: 1.0.3
+ cipher-base: 1.0.4
+ create-hash: 1.2.0
+ evp_bytestokey: 1.0.3
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+ dev: true
+
+ /browserify-cipher@1.0.1:
+ resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==}
+ dependencies:
+ browserify-aes: 1.2.0
+ browserify-des: 1.0.2
+ evp_bytestokey: 1.0.3
+ dev: true
+
+ /browserify-des@1.0.2:
+ resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==}
+ dependencies:
+ cipher-base: 1.0.4
+ des.js: 1.1.0
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+ dev: true
+
+ /browserify-rsa@4.1.0:
+ resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==}
+ dependencies:
+ bn.js: 5.2.1
+ randombytes: 2.1.0
+ dev: true
+
+ /browserify-sign@4.2.1:
+ resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==}
+ dependencies:
+ bn.js: 5.2.1
+ browserify-rsa: 4.1.0
+ create-hash: 1.2.0
+ create-hmac: 1.1.7
+ elliptic: 6.5.4
+ inherits: 2.0.4
+ parse-asn1: 5.1.6
+ readable-stream: 3.6.2
+ safe-buffer: 5.2.1
+ dev: true
+
+ /browserify-zlib@0.1.4:
+ resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==}
+ dependencies:
+ pako: 0.2.9
+ dev: true
+
+ /browserify-zlib@0.2.0:
+ resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==}
+ dependencies:
+ pako: 1.0.11
+ dev: true
+
+ /browserslist@4.22.1:
+ resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001551
+ electron-to-chromium: 1.4.563
+ node-releases: 2.0.13
+ update-browserslist-db: 1.0.13(browserslist@4.22.1)
+
+ /bs-logger@0.2.6:
+ resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
+ engines: {node: '>= 6'}
+ dependencies:
+ fast-json-stable-stringify: 2.1.0
+ dev: true
+
+ /bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+ dependencies:
+ node-int64: 0.4.0
+ dev: true
+
+ /buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
+ dev: true
+
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ /buffer-writer@2.0.0:
+ resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==}
+ engines: {node: '>=4'}
+
+ /buffer-xor@1.0.3:
+ resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==}
+ dev: true
+
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+
+ /buffer@6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: true
+
+ /builtin-status-codes@3.0.0:
+ resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==}
+ dev: true
+
+ /bundle-name@3.0.0:
+ resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==}
+ engines: {node: '>=12'}
+ dependencies:
+ run-applescript: 5.0.0
+ dev: true
+
+ /busboy@1.6.0:
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
+ engines: {node: '>=10.16.0'}
+ dependencies:
+ streamsearch: 1.1.0
+
+ /bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
+ /c8@7.14.0:
+ resolution: {integrity: sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==}
+ engines: {node: '>=10.12.0'}
+ hasBin: true
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@istanbuljs/schema': 0.1.3
+ find-up: 5.0.0
+ foreground-child: 2.0.0
+ istanbul-lib-coverage: 3.2.0
+ istanbul-lib-report: 3.0.1
+ istanbul-reports: 3.1.6
+ rimraf: 3.0.2
+ test-exclude: 6.0.0
+ v8-to-istanbul: 9.1.3
+ yargs: 16.2.0
+ yargs-parser: 20.2.9
+ dev: true
+
+ /call-bind@1.0.5:
+ resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
+ dependencies:
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.1
+ set-function-length: 1.1.1
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ /camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.6.2
+ dev: true
+
+ /camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+
+ /camelcase-keys@7.0.2:
+ resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
+ engines: {node: '>=12'}
+ dependencies:
+ camelcase: 6.3.0
+ map-obj: 4.3.0
+ quick-lru: 5.1.1
+ type-fest: 1.4.0
+ dev: true
+
+ /camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /camelcase@7.0.1:
+ resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
+ engines: {node: '>=14.16'}
+ dev: true
+
+ /caniuse-lite@1.0.30001551:
+ resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==}
+
+ /capital-case@1.0.4:
+ resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ upper-case-first: 2.0.2
+ dev: true
+
+ /case-sensitive-paths-webpack-plugin@2.4.0:
+ resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ /chalk@5.3.0:
+ resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ dev: true
+
+ /change-case-all@1.0.14:
+ resolution: {integrity: sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA==}
+ dependencies:
+ change-case: 4.1.2
+ is-lower-case: 2.0.2
+ is-upper-case: 2.0.2
+ lower-case: 2.0.2
+ lower-case-first: 2.0.2
+ sponge-case: 1.0.1
+ swap-case: 2.0.2
+ title-case: 3.0.3
+ upper-case: 2.0.2
+ upper-case-first: 2.0.2
+ dev: true
+
+ /change-case-all@1.0.15:
+ resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==}
+ dependencies:
+ change-case: 4.1.2
+ is-lower-case: 2.0.2
+ is-upper-case: 2.0.2
+ lower-case: 2.0.2
+ lower-case-first: 2.0.2
+ sponge-case: 1.0.1
+ swap-case: 2.0.2
+ title-case: 3.0.3
+ upper-case: 2.0.2
+ upper-case-first: 2.0.2
+ dev: true
+
+ /change-case@4.1.2:
+ resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==}
+ dependencies:
+ camel-case: 4.1.2
+ capital-case: 1.0.4
+ constant-case: 3.0.4
+ dot-case: 3.0.4
+ header-case: 2.0.4
+ no-case: 3.0.4
+ param-case: 3.0.4
+ pascal-case: 3.1.2
+ path-case: 3.0.4
+ sentence-case: 3.0.4
+ snake-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /chardet@0.7.0:
+ resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ /chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
+ /chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /chromatic@7.4.0:
+ resolution: {integrity: sha512-ORsoNgXiAxIEvbdVEqOu4lMZuVMGoM3kiO/toTrAEdh0ej9jIMm2VYqvGVdYGgIWO0xOD9Bn6A34gGeqCsZ1lQ==}
+ hasBin: true
+ dev: true
+
+ /chrome-trace-event@1.0.3:
+ resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
+ engines: {node: '>=6.0'}
+
+ /ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /cipher-base@1.0.4:
+ resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==}
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+ dev: true
+
+ /cjs-module-lexer@1.2.3:
+ resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
+ dev: true
+
+ /class-transformer@0.5.1:
+ resolution: {integrity: sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==}
+ dev: false
+
+ /class-validator@0.14.0:
+ resolution: {integrity: sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==}
+ dependencies:
+ '@types/validator': 13.11.5
+ libphonenumber-js: 1.10.48
+ validator: 13.11.0
+ dev: false
+
+ /clean-css@5.3.2:
+ resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==}
+ engines: {node: '>= 10.0'}
+ dependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /clean-stack@2.2.0:
+ resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /cli-color@2.0.3:
+ resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ memoizee: 0.4.15
+ timers-ext: 0.1.7
+ dev: true
+
+ /cli-cursor@3.1.0:
+ resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
+ engines: {node: '>=8'}
+ dependencies:
+ restore-cursor: 3.1.0
+
+ /cli-cursor@4.0.0:
+ resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ restore-cursor: 4.0.0
+ dev: true
+
+ /cli-spinners@2.9.1:
+ resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==}
+ engines: {node: '>=6'}
+
+ /cli-table3@0.6.3:
+ resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==}
+ engines: {node: 10.* || >= 12.*}
+ dependencies:
+ string-width: 4.2.3
+ optionalDependencies:
+ '@colors/colors': 1.5.0
+
+ /cli-truncate@2.1.0:
+ resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
+ engines: {node: '>=8'}
+ dependencies:
+ slice-ansi: 3.0.0
+ string-width: 4.2.3
+ dev: true
+
+ /cli-truncate@3.1.0:
+ resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ slice-ansi: 5.0.0
+ string-width: 5.1.2
+ dev: true
+
+ /cli-width@3.0.0:
+ resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
+ engines: {node: '>= 10'}
+
+ /client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
+ /cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+ dev: true
+
+ /cliui@7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+ dev: true
+
+ /clone@1.0.4:
+ resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
+ engines: {node: '>=0.8'}
+
+ /clsx@2.0.0:
+ resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /cmd-shim@6.0.2:
+ resolution: {integrity: sha512-+FFYbB0YLaAkhkcrjkyNLYDiOsFSfRjwjY19LXk/psmMx1z00xlCv7hhQoTGXXIKi+YXHL/iiFo8NqMVQX9nOw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+ dev: true
+
+ /collect-v8-coverage@1.0.2:
+ resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
+ dev: true
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+
+ /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==}
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+
+ /color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+
+ /colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+ dev: true
+
+ /colorette@2.0.20:
+ resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+ dev: true
+
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ delayed-stream: 1.0.0
+
+ /commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+ dev: true
+
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ /commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ /commander@6.2.1:
+ resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+ dev: true
+
+ /commander@9.5.0:
+ resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
+ engines: {node: ^12.20.0 || >=14}
+ dev: true
+
+ /comment-json@4.2.3:
+ resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==}
+ engines: {node: '>= 6'}
+ dependencies:
+ array-timsort: 1.0.3
+ core-util-is: 1.0.3
+ esprima: 4.0.1
+ has-own-prop: 2.0.0
+ repeat-string: 1.6.1
+
+ /common-path-prefix@3.0.0:
+ resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==}
+ dev: true
+
+ /common-tags@1.8.2:
+ resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
+ engines: {node: '>=4.0.0'}
+ dev: true
+
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: true
+
+ /compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /compression@1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ /concat-stream@1.6.2:
+ resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
+ engines: {'0': node >= 0.8}
+ dependencies:
+ buffer-from: 1.1.2
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+ typedarray: 0.0.6
+
+ /confusing-browser-globals@1.0.11:
+ resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
+ dev: true
+
+ /consola@2.15.3:
+ resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
+ dev: false
+
+ /console-browserify@1.2.0:
+ resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==}
+ dev: true
+
+ /console.table@0.10.0:
+ resolution: {integrity: sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==}
+ engines: {node: '> 0.10'}
+ dependencies:
+ easy-table: 1.1.0
+ dev: true
+
+ /constant-case@3.0.4:
+ resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ upper-case: 2.0.2
+ dev: true
+
+ /constants-browserify@1.0.0:
+ resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==}
+ dev: true
+
+ /content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ safe-buffer: 5.2.1
+
+ /content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
+ /convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: true
+
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ /cookie-signature@1.0.6:
+ resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+
+ /cookie@0.5.0:
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
+ engines: {node: '>= 0.6'}
+
+ /copy-anything@2.0.6:
+ resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
+ dependencies:
+ is-what: 3.14.1
+ dev: true
+
+ /core-js-compat@3.33.1:
+ resolution: {integrity: sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==}
+ dependencies:
+ browserslist: 4.22.1
+ dev: true
+
+ /core-js-pure@3.33.1:
+ resolution: {integrity: sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==}
+ requiresBuild: true
+ dev: true
+
+ /core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ /cors@2.8.5:
+ resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ object-assign: 4.1.1
+ vary: 1.1.2
+ dev: false
+
+ /cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/parse-json': 4.0.1
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ /cosmiconfig@8.3.6(typescript@5.2.2):
+ resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ typescript: 5.2.2
+ dev: true
+
+ /create-ecdh@4.0.4:
+ resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==}
+ dependencies:
+ bn.js: 4.12.0
+ elliptic: 6.5.4
+ dev: true
+
+ /create-hash@1.2.0:
+ resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==}
+ dependencies:
+ cipher-base: 1.0.4
+ inherits: 2.0.4
+ md5.js: 1.3.5
+ ripemd160: 2.0.2
+ sha.js: 2.4.11
+ dev: true
+
+ /create-hmac@1.1.7:
+ resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==}
+ dependencies:
+ cipher-base: 1.0.4
+ create-hash: 1.2.0
+ inherits: 2.0.4
+ ripemd160: 2.0.2
+ safe-buffer: 5.2.1
+ sha.js: 2.4.11
+ dev: true
+
+ /create-jest@29.7.0(@types/node@20.8.7)(ts-node@10.9.1):
+ resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ hasBin: true
+ dependencies:
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-config: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ jest-util: 29.7.0
+ prompts: 2.4.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+ dev: true
+
+ /create-require@1.1.1:
+ resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
+
+ /cross-env@7.0.3:
+ resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
+ engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
+ hasBin: true
+ dependencies:
+ cross-spawn: 7.0.3
+ dev: true
+
+ /cross-fetch@3.1.8:
+ resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==}
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ /crypto-browserify@3.12.0:
+ resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==}
+ dependencies:
+ browserify-cipher: 1.0.1
+ browserify-sign: 4.2.1
+ create-ecdh: 4.0.4
+ create-hash: 1.2.0
+ create-hmac: 1.1.7
+ diffie-hellman: 5.0.3
+ inherits: 2.0.4
+ pbkdf2: 3.1.2
+ public-encrypt: 4.0.3
+ randombytes: 2.1.0
+ randomfill: 1.0.4
+ dev: true
+
+ /crypto-random-string@2.0.0:
+ resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /css-functions-list@3.2.1:
+ resolution: {integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==}
+ engines: {node: '>=12 || >=16'}
+ dev: true
+
+ /css-loader@6.8.1(webpack@5.89.0):
+ resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-modules-extract-imports: 3.0.0(postcss@8.4.31)
+ postcss-modules-local-by-default: 4.0.3(postcss@8.4.31)
+ postcss-modules-scope: 3.0.0(postcss@8.4.31)
+ postcss-modules-values: 4.0.0(postcss@8.4.31)
+ postcss-value-parser: 4.2.0
+ semver: 7.5.4
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+ dev: true
+
+ /css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.0.2
+ dev: true
+
+ /css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+ dev: true
+
+ /cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /cssfilter@0.0.10:
+ resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==}
+ dev: false
+
+ /cssom@0.3.8:
+ resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
+ dev: true
+
+ /cssom@0.5.0:
+ resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
+ dev: true
+
+ /cssstyle@2.3.0:
+ resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
+ engines: {node: '>=8'}
+ dependencies:
+ cssom: 0.3.8
+ dev: true
+
+ /csstype@3.1.2:
+ resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+
+ /d@1.0.1:
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
+ dependencies:
+ es5-ext: 0.10.62
+ type: 1.2.0
+ dev: true
+
+ /damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ dev: true
+
+ /data-uri-to-buffer@4.0.1:
+ resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
+ engines: {node: '>= 12'}
+ dev: true
+
+ /data-urls@3.0.2:
+ resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ abab: 2.0.6
+ whatwg-mimetype: 3.0.0
+ whatwg-url: 11.0.0
+ dev: true
+
+ /dataloader@2.2.2:
+ resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==}
+
+ /date-fns-tz@2.0.0(date-fns@2.30.0):
+ resolution: {integrity: sha512-OAtcLdB9vxSXTWHdT8b398ARImVwQMyjfYGkKD2zaGpHseG2UPHbHjXELReErZFxWdSLph3c2zOaaTyHfOhERQ==}
+ peerDependencies:
+ date-fns: '>=2.0.0'
+ dependencies:
+ date-fns: 2.30.0
+ dev: false
+
+ /date-fns@2.30.0:
+ resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
+ engines: {node: '>=0.11'}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ dev: false
+
+ /debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+ dev: true
+
+ /debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+ dev: true
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+
+ /decamelize-keys@1.1.1:
+ resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ decamelize: 1.2.0
+ map-obj: 1.0.1
+ dev: true
+
+ /decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /decamelize@5.0.1:
+ resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /decimal.js@10.4.3:
+ resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+ dev: true
+
+ /decompress-response@6.0.0:
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ mimic-response: 3.1.0
+ dev: false
+
+ /dedent@0.7.0:
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
+ dev: true
+
+ /dedent@1.5.1:
+ resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
+ peerDependencies:
+ babel-plugin-macros: ^3.1.0
+ peerDependenciesMeta:
+ babel-plugin-macros:
+ optional: true
+ dev: true
+
+ /deep-extend@0.6.0:
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
+ engines: {node: '>=4.0.0'}
+ dev: false
+
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
+
+ /deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ /default-browser-id@3.0.0:
+ resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==}
+ engines: {node: '>=12'}
+ dependencies:
+ bplist-parser: 0.2.0
+ untildify: 4.0.0
+ dev: true
+
+ /default-browser@4.0.0:
+ resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ bundle-name: 3.0.0
+ default-browser-id: 3.0.0
+ execa: 7.2.0
+ titleize: 3.0.0
+ dev: true
+
+ /defaults@1.0.4:
+ resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
+ dependencies:
+ clone: 1.0.4
+
+ /define-data-property@1.1.1:
+ resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.0
+
+ /define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ has-property-descriptors: 1.0.0
+ object-keys: 1.1.1
+ dev: true
+
+ /defu@6.1.2:
+ resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==}
+ dev: true
+
+ /del@6.1.1:
+ resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==}
+ engines: {node: '>=10'}
+ dependencies:
+ globby: 11.1.0
+ graceful-fs: 4.2.11
+ is-glob: 4.0.3
+ is-path-cwd: 2.2.0
+ is-path-inside: 3.0.3
+ p-map: 4.0.0
+ rimraf: 3.0.2
+ slash: 3.0.0
+ dev: true
+
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ /depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ /dependency-graph@0.11.0:
+ resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==}
+ engines: {node: '>= 0.6.0'}
+ dev: true
+
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /des.js@1.1.0:
+ resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==}
+ dependencies:
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ dev: true
+
+ /destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ /detect-indent@6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /detect-libc@2.0.2:
+ resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
+ engines: {node: '>=8'}
+
+ /detect-newline@3.1.0:
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
+ /detect-package-manager@2.0.1:
+ resolution: {integrity: sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==}
+ engines: {node: '>=12'}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /detect-port@1.5.1:
+ resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==}
+ hasBin: true
+ dependencies:
+ address: 1.2.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+ /diff-sequences@29.6.3:
+ resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dev: true
+
+ /diff@4.0.2:
+ resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
+ engines: {node: '>=0.3.1'}
+
+ /diffie-hellman@5.0.3:
+ resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
+ dependencies:
+ bn.js: 4.12.0
+ miller-rabin: 4.0.1
+ randombytes: 2.1.0
+ dev: true
+
+ /difflib@0.2.4:
+ resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==}
+ dependencies:
+ heap: 0.2.7
+ dev: true
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
+ /doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+ dependencies:
+ utila: 0.4.0
+ dev: true
+
+ /dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: true
+
+ /domain-browser@4.22.0:
+ resolution: {integrity: sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ dev: true
+
+ /domexception@4.0.0:
+ resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
+ engines: {node: '>=12'}
+ dependencies:
+ webidl-conversions: 7.0.0
+ dev: true
+
+ /domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
+ /domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: true
+
+ /dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /dotenv-cli@7.3.0:
+ resolution: {integrity: sha512-314CA4TyK34YEJ6ntBf80eUY+t1XaFLyem1k9P0sX1gn30qThZ5qZr/ZwE318gEnzyYP9yj9HJk6SqwE0upkfw==}
+ hasBin: true
+ dependencies:
+ cross-spawn: 7.0.3
+ dotenv: 16.3.1
+ dotenv-expand: 10.0.0
+ minimist: 1.2.8
+ dev: true
+
+ /dotenv-expand@10.0.0:
+ resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
+ engines: {node: '>=12'}
+
+ /dotenv@16.3.1:
+ resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==}
+ engines: {node: '>=12'}
+
+ /dreamopt@0.8.0:
+ resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
+ engines: {node: '>=0.4.0'}
+ dependencies:
+ wordwrap: 1.0.0
+ dev: true
+
+ /drizzle-kit@0.19.13:
+ resolution: {integrity: sha512-Rba5VW1O2JfJlwVBeZ8Zwt2E2us5oZ08PQBDiVSGlug53TOc8hzXjblZFuF+dnll9/RQEHrkzBmJFgqTvn5Rxg==}
+ hasBin: true
+ dependencies:
+ '@drizzle-team/studio': 0.0.5
+ '@esbuild-kit/esm-loader': 2.6.5
+ camelcase: 7.0.1
+ chalk: 5.3.0
+ commander: 9.5.0
+ esbuild: 0.18.20
+ esbuild-register: 3.5.0(esbuild@0.18.20)
+ glob: 8.1.0
+ hanji: 0.0.5
+ json-diff: 0.9.0
+ minimatch: 7.4.6
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /drizzle-orm@0.28.6(@types/pg@8.10.7)(pg@8.11.3)(postgres@3.4.0):
+ resolution: {integrity: sha512-yBe+F9htrlYER7uXgDJUQsTHFoIrI5yMm5A0bg0GiZ/kY5jNXTWoEy4KQtg35cE27sw1VbgzoMWHAgCckUUUww==}
+ peerDependencies:
+ '@aws-sdk/client-rds-data': '>=3'
+ '@cloudflare/workers-types': '>=3'
+ '@libsql/client': '*'
+ '@neondatabase/serverless': '>=0.1'
+ '@opentelemetry/api': ^1.4.1
+ '@planetscale/database': '>=1'
+ '@types/better-sqlite3': '*'
+ '@types/pg': '*'
+ '@types/sql.js': '*'
+ '@vercel/postgres': '*'
+ better-sqlite3: '>=7'
+ bun-types: '*'
+ knex: '*'
+ kysely: '*'
+ mysql2: '>=2'
+ pg: '>=8'
+ postgres: '>=3'
+ sql.js: '>=1'
+ sqlite3: '>=5'
+ peerDependenciesMeta:
+ '@aws-sdk/client-rds-data':
+ optional: true
+ '@cloudflare/workers-types':
+ optional: true
+ '@libsql/client':
+ optional: true
+ '@neondatabase/serverless':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@types/better-sqlite3':
+ optional: true
+ '@types/pg':
+ optional: true
+ '@types/sql.js':
+ optional: true
+ '@vercel/postgres':
+ optional: true
+ better-sqlite3:
+ optional: true
+ bun-types:
+ optional: true
+ knex:
+ optional: true
+ kysely:
+ optional: true
+ mysql2:
+ optional: true
+ pg:
+ optional: true
+ postgres:
+ optional: true
+ sql.js:
+ optional: true
+ sqlite3:
+ optional: true
+ dependencies:
+ '@types/pg': 8.10.7
+ pg: 8.11.3
+ postgres: 3.4.0
+ dev: false
+
+ /dset@3.1.2:
+ resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==}
+ engines: {node: '>=4'}
+
+ /duplexify@3.7.1:
+ resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
+ dependencies:
+ end-of-stream: 1.4.4
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+ stream-shift: 1.0.1
+ dev: true
+
+ /eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ dev: true
+
+ /easy-table@1.1.0:
+ resolution: {integrity: sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==}
+ optionalDependencies:
+ wcwidth: 1.0.1
+ dev: true
+
+ /ee-first@1.1.1:
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+
+ /ejs@3.1.9:
+ resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+ dependencies:
+ jake: 10.8.7
+ dev: true
+
+ /electron-to-chromium@1.4.563:
+ resolution: {integrity: sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==}
+
+ /elliptic@6.5.4:
+ resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==}
+ dependencies:
+ bn.js: 4.12.0
+ brorand: 1.1.0
+ hash.js: 1.1.7
+ hmac-drbg: 1.0.1
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+ dev: true
+
+ /emittery@0.13.1:
+ resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ dev: true
+
+ /emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ dependencies:
+ once: 1.4.0
+
+ /endent@2.1.0:
+ resolution: {integrity: sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==}
+ dependencies:
+ dedent: 0.7.0
+ fast-json-parse: 1.0.3
+ objectorarray: 1.0.5
+ dev: true
+
+ /enhanced-resolve@5.15.0:
+ resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
+ /entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ dev: true
+
+ /entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+ dev: true
+
+ /envinfo@7.10.0:
+ resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /errno@0.1.8:
+ resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ prr: 1.0.1
+ dev: true
+ optional: true
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+
+ /error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+ dependencies:
+ stackframe: 1.3.4
+ dev: true
+
+ /es-abstract@1.22.2:
+ resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.0
+ arraybuffer.prototype.slice: 1.0.2
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ es-set-tostringtag: 2.0.1
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.1
+ get-symbol-description: 1.0.0
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has: 1.0.4
+ has-property-descriptors: 1.0.0
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ is-array-buffer: 3.0.2
+ is-callable: 1.2.7
+ is-negative-zero: 2.0.2
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.2
+ is-string: 1.0.7
+ is-typed-array: 1.1.12
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.4
+ regexp.prototype.flags: 1.5.1
+ safe-array-concat: 1.0.1
+ safe-regex-test: 1.0.0
+ string.prototype.trim: 1.2.8
+ string.prototype.trimend: 1.0.7
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.0
+ typed-array-byte-length: 1.0.0
+ typed-array-byte-offset: 1.0.0
+ typed-array-length: 1.0.4
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.13
+ dev: true
+
+ /es-iterator-helpers@1.0.15:
+ resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==}
+ dependencies:
+ asynciterator.prototype: 1.0.0
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ es-set-tostringtag: 2.0.1
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.1
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.0
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.0.1
+ dev: true
+
+ /es-module-lexer@1.3.1:
+ resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==}
+
+ /es-set-tostringtag@2.0.1:
+ resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.4
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /es-shim-unscopables@1.0.0:
+ resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
+ dependencies:
+ has: 1.0.4
+ dev: true
+
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
+ /es5-ext@0.10.62:
+ resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
+ engines: {node: '>=0.10'}
+ requiresBuild: true
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ next-tick: 1.1.0
+ dev: true
+
+ /es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-symbol: 3.1.3
+ dev: true
+
+ /es6-symbol@3.1.3:
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
+ dependencies:
+ d: 1.0.1
+ ext: 1.7.0
+ dev: true
+
+ /es6-weak-map@2.0.3:
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.3
+ dev: true
+
+ /esbuild-plugin-alias@0.2.1:
+ resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==}
+ dev: true
+
+ /esbuild-register@3.5.0(esbuild@0.18.20):
+ resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==}
+ peerDependencies:
+ esbuild: '>=0.12 <1'
+ dependencies:
+ debug: 4.3.4
+ esbuild: 0.18.20
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /esbuild@0.18.20:
+ resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ 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
+
+ /escalade@3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+
+ /escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ /escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.28.1)(eslint@8.52.0):
+ resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ peerDependencies:
+ eslint: ^7.32.0 || ^8.2.0
+ eslint-plugin-import: ^2.25.2
+ dependencies:
+ confusing-browser-globals: 1.0.11
+ eslint: 8.52.0
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
+ object.assign: 4.1.4
+ object.entries: 1.1.7
+ semver: 6.3.1
+ dev: true
+
+ /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.8.0)(@typescript-eslint/parser@6.8.0)(eslint-plugin-import@2.28.1)(eslint@8.52.0):
+ resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0
+ '@typescript-eslint/parser': ^5.0.0 || ^6.0.0
+ eslint: ^7.32.0 || ^8.2.0
+ eslint-plugin-import: ^2.25.3
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2)
+ '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ eslint: 8.52.0
+ eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.28.1)(eslint@8.52.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
+ dev: true
+
+ /eslint-config-next@13.5.6(eslint@8.52.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==}
+ peerDependencies:
+ eslint: ^7.23.0 || ^8.0.0
+ typescript: '>=3.3.1'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@next/eslint-plugin-next': 13.5.6
+ '@rushstack/eslint-patch': 1.5.1
+ '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ eslint: 8.52.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.52.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
+ eslint-plugin-jsx-a11y: 6.7.1(eslint@8.52.0)
+ eslint-plugin-react: 7.33.2(eslint@8.52.0)
+ eslint-plugin-react-hooks: 4.6.0(eslint@8.52.0)
+ typescript: 5.2.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-config-prettier@9.0.0(eslint@8.52.0):
+ resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: 8.52.0
+ dev: true
+
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.13.0
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.52.0):
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4
+ enhanced-resolve: 5.15.0
+ eslint: 8.52.0
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
+ eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
+ fast-glob: 3.3.1
+ get-tsconfig: 4.7.2
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0):
+ resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ debug: 3.2.7
+ eslint: 8.52.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.52.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0):
+ resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2)
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.52.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
+ has: 1.0.4
+ is-core-module: 2.13.0
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.1
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.14.2
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-json@3.1.0:
+ resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==}
+ engines: {node: '>=12.0'}
+ dependencies:
+ lodash: 4.17.21
+ vscode-json-languageservice: 4.2.1
+ dev: true
+
+ /eslint-plugin-jsx-a11y@6.7.1(eslint@8.52.0):
+ resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ '@babel/runtime': 7.23.2
+ aria-query: 5.3.0
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.2
+ ast-types-flow: 0.0.7
+ axe-core: 4.8.2
+ axobject-query: 3.2.1
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 8.52.0
+ has: 1.0.4
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.5
+ minimatch: 3.1.2
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
+ semver: 6.3.1
+ dev: true
+
+ /eslint-plugin-prettier@5.0.1(@types/eslint@8.44.6)(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@3.0.3):
+ resolution: {integrity: sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ '@types/eslint': '>=8.0.0'
+ eslint: '>=8.0.0'
+ eslint-config-prettier: '*'
+ prettier: '>=3.0.0'
+ peerDependenciesMeta:
+ '@types/eslint':
+ optional: true
+ eslint-config-prettier:
+ optional: true
+ dependencies:
+ '@types/eslint': 8.44.6
+ eslint: 8.52.0
+ eslint-config-prettier: 9.0.0(eslint@8.52.0)
+ prettier: 3.0.3
+ prettier-linter-helpers: 1.0.0
+ synckit: 0.8.5
+ dev: true
+
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.52.0):
+ resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ dependencies:
+ eslint: 8.52.0
+ dev: true
+
+ /eslint-plugin-react@7.33.2(eslint@8.52.0):
+ resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.flatmap: 1.3.2
+ array.prototype.tosorted: 1.1.2
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.15
+ eslint: 8.52.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.7
+ object.fromentries: 2.0.7
+ object.hasown: 1.1.3
+ object.values: 1.1.7
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.10
+ dev: true
+
+ /eslint-plugin-storybook@0.6.15(eslint@8.52.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-lAGqVAJGob47Griu29KXYowI4G7KwMoJDOkEip8ujikuDLxU+oWJ1l0WL6F2oDO4QiyUFXvtDkEkISMOPzo+7w==}
+ engines: {node: 12.x || 14.x || >= 16}
+ peerDependencies:
+ eslint: '>=6'
+ dependencies:
+ '@storybook/csf': 0.0.1
+ '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.2.2)
+ eslint: 8.52.0
+ requireindex: 1.2.0
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-tailwindcss@3.13.0(tailwindcss@3.3.3):
+ resolution: {integrity: sha512-Fcep4KDRLWaK3KmkQbdyKHG0P4GdXFmXdDaweTIPcgOP60OOuWFbh1++dufRT28Q4zpKTKaHwTsXPJ4O/EjU2Q==}
+ engines: {node: '>=12.13.0'}
+ peerDependencies:
+ tailwindcss: ^3.3.2
+ dependencies:
+ fast-glob: 3.3.1
+ postcss: 8.4.31
+ tailwindcss: 3.3.3(ts-node@10.9.1)
+ dev: true
+
+ /eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.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}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
+
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /eslint@8.52.0:
+ resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0)
+ '@eslint-community/regexpp': 4.9.1
+ '@eslint/eslintrc': 2.1.2
+ '@eslint/js': 8.52.0
+ '@humanwhocodes/config-array': 0.11.13
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.23.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.3
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.10.0
+ acorn-jsx: 5.3.2(acorn@8.10.0)
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.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'}
+
+ /estree-to-babel@3.2.1:
+ resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==}
+ engines: {node: '>=8.3.0'}
+ dependencies:
+ '@babel/traverse': 7.23.2
+ '@babel/types': 7.23.0
+ c8: 7.14.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ /event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ dev: true
+
+ /event-target-shim@5.0.1:
+ resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /eventemitter3@3.1.2:
+ resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==}
+ dev: false
+
+ /eventemitter3@5.0.1:
+ resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+ dev: true
+
+ /events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ /evp_bytestokey@1.0.3:
+ resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
+ dependencies:
+ md5.js: 1.3.5
+ safe-buffer: 5.2.1
+ dev: true
+
+ /execa@4.1.0:
+ resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 5.2.0
+ human-signals: 1.1.1
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: false
+
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /execa@7.2.0:
+ resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==}
+ engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 4.3.1
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 3.0.7
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+ dev: true
+
+ /exit@0.1.2:
+ resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /expand-template@2.0.3:
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /expect@29.7.0:
+ resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/expect-utils': 29.7.0
+ jest-get-type: 29.6.3
+ jest-matcher-utils: 29.7.0
+ jest-message-util: 29.7.0
+ jest-util: 29.7.0
+ dev: true
+
+ /express@4.18.2:
+ resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.1
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.5.0
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.2.0
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.1
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.7
+ proxy-addr: 2.0.7
+ qs: 6.11.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.18.0
+ serve-static: 1.15.0
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ /ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+ dependencies:
+ type: 2.7.2
+ dev: true
+
+ /extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+ dev: true
+
+ /external-editor@3.1.0:
+ resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
+ engines: {node: '>=4'}
+ dependencies:
+ chardet: 0.7.0
+ iconv-lite: 0.4.24
+ tmp: 0.0.33
+
+ /extract-files@11.0.0:
+ resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==}
+ engines: {node: ^12.20 || >= 14.13}
+ dev: true
+
+ /extract-zip@1.7.0:
+ resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==}
+ hasBin: true
+ dependencies:
+ concat-stream: 1.6.2
+ debug: 2.6.9
+ mkdirp: 0.5.6
+ yauzl: 2.10.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /fast-decode-uri-component@1.0.1:
+ resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
+ dev: true
+
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ /fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+ dev: true
+
+ /fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+ dev: false
+
+ /fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+
+ /fast-json-parse@1.0.3:
+ resolution: {integrity: sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==}
+ dev: true
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ dev: true
+
+ /fast-querystring@1.1.2:
+ resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==}
+ dependencies:
+ fast-decode-uri-component: 1.0.1
+ dev: true
+
+ /fast-safe-stringify@2.1.1:
+ resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
+ dev: false
+
+ /fast-url-parser@1.1.3:
+ resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==}
+ dependencies:
+ punycode: 1.4.1
+ dev: true
+
+ /fastest-levenshtein@1.0.16:
+ resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
+ engines: {node: '>= 4.9.1'}
+ dev: true
+
+ /fastq@1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ dependencies:
+ reusify: 1.0.4
+
+ /fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+ dependencies:
+ bser: 2.1.1
+ dev: true
+
+ /fbjs-css-vars@1.0.2:
+ resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==}
+ dev: true
+
+ /fbjs@3.0.5:
+ resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==}
+ dependencies:
+ cross-fetch: 3.1.8
+ fbjs-css-vars: 1.0.2
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ promise: 7.3.1
+ setimmediate: 1.0.5
+ ua-parser-js: 1.0.36
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /fd-slicer@1.1.0:
+ resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
+ dependencies:
+ pend: 1.2.0
+ dev: true
+
+ /fetch-blob@3.2.0:
+ resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
+ engines: {node: ^12.20 || >= 14.13}
+ dependencies:
+ node-domexception: 1.0.0
+ web-streams-polyfill: 3.2.1
+ dev: true
+
+ /fetch-retry@5.0.6:
+ resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==}
+ dev: true
+
+ /figures@3.2.0:
+ resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
+ engines: {node: '>=8'}
+ dependencies:
+ escape-string-regexp: 1.0.5
+
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.1.1
+ dev: true
+
+ /file-entry-cache@7.0.1:
+ resolution: {integrity: sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ flat-cache: 3.1.1
+ dev: true
+
+ /file-system-cache@2.3.0:
+ resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==}
+ dependencies:
+ fs-extra: 11.1.1
+ ramda: 0.29.0
+ dev: true
+
+ /filelist@1.0.4:
+ resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+ dependencies:
+ minimatch: 5.1.6
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /filter-obj@2.0.2:
+ resolution: {integrity: sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /finalhandler@1.2.0:
+ resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /find-cache-dir@2.1.0:
+ resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 2.1.0
+ pkg-dir: 3.0.0
+ dev: true
+
+ /find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+ dev: true
+
+ /find-cache-dir@4.0.0:
+ resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ common-path-prefix: 3.0.0
+ pkg-dir: 7.0.0
+ dev: true
+
+ /find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+ dependencies:
+ locate-path: 3.0.0
+ dev: true
+
+ /find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /find-up@6.3.0:
+ resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ locate-path: 7.2.0
+ path-exists: 5.0.0
+ dev: true
+
+ /flat-cache@3.1.1:
+ resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ flatted: 3.2.9
+ keyv: 4.5.4
+ rimraf: 3.0.2
+ dev: true
+
+ /flat@5.0.2:
+ resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
+ hasBin: true
+ dev: true
+
+ /flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
+ dev: true
+
+ /flow-parser@0.219.3:
+ resolution: {integrity: sha512-dyPC0+TwAcBMQ1IZhSpj91mxZ31AI9FJ3q/ZMt8kdKaITnDCGmyUyWOwUfAKBVLrUTkdaTfpla0muhwOGY+dXw==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /follow-redirects@1.15.3:
+ resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dev: true
+
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.7
+ dev: true
+
+ /foreground-child@2.0.0:
+ resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 3.0.7
+ dev: true
+
+ /foreground-child@3.1.1:
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
+ engines: {node: '>=14'}
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+ dev: true
+
+ /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.2.2)(webpack@5.88.2):
+ resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==}
+ engines: {node: '>=12.13.0', yarn: '>=1.0.0'}
+ peerDependencies:
+ typescript: '>3.6.0'
+ webpack: ^5.11.0
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ chalk: 4.1.2
+ chokidar: 3.5.3
+ cosmiconfig: 7.1.0
+ deepmerge: 4.3.1
+ fs-extra: 10.1.0
+ memfs: 3.5.3
+ minimatch: 3.1.2
+ node-abort-controller: 3.1.1
+ schema-utils: 3.3.0
+ semver: 7.5.4
+ tapable: 2.2.1
+ typescript: 5.2.2
+ webpack: 5.88.2(esbuild@0.18.20)
+ dev: false
+
+ /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.2.2)(webpack@5.89.0):
+ resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==}
+ engines: {node: '>=12.13.0', yarn: '>=1.0.0'}
+ peerDependencies:
+ typescript: '>3.6.0'
+ webpack: ^5.11.0
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ chalk: 4.1.2
+ chokidar: 3.5.3
+ cosmiconfig: 7.1.0
+ deepmerge: 4.3.1
+ fs-extra: 10.1.0
+ memfs: 3.5.3
+ minimatch: 3.1.2
+ node-abort-controller: 3.1.1
+ schema-utils: 3.3.0
+ semver: 7.5.4
+ tapable: 2.2.1
+ typescript: 5.2.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
+ /formdata-polyfill@4.0.10:
+ resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
+ engines: {node: '>=12.20.0'}
+ dependencies:
+ fetch-blob: 3.2.0
+ dev: true
+
+ /forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+
+ /fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ dev: true
+
+ /framer-motion@10.16.4(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-p9V9nGomS3m6/CALXqv6nFGMuFOxbWsmaOrdmhyQimMIlLl3LC7h7l86wge/Js/8cRu5ktutS/zlzgR7eBOtFA==}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tslib: 2.6.2
+ optionalDependencies:
+ '@emotion/is-prop-valid': 0.8.8
+ dev: false
+
+ /fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+
+ /fs-constants@1.0.0:
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
+
+ /fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+
+ /fs-extra@11.1.1:
+ resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
+ engines: {node: '>=14.14'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.0
+ dev: true
+
+ /fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ dev: true
+
+ /fs-monkey@1.0.5:
+ resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==}
+
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ optional: true
+
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ /function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ /get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+ dev: true
+
+ /get-intrinsic@1.2.1:
+ resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
+ dependencies:
+ function-bind: 1.1.2
+ has: 1.0.4
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+
+ /get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
+ /get-npm-tarball-url@2.0.3:
+ resolution: {integrity: sha512-R/PW6RqyaBQNWYaSyfrh54/qtcnOp22FHCCiRhSSZj0FP3KQWCsxxt0DzIdVTbwTqe9CtQfvl/FPD4UIPt4pqw==}
+ engines: {node: '>=12.17'}
+ dev: true
+
+ /get-package-type@0.1.0:
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+ engines: {node: '>=8.0.0'}
+ dev: true
+
+ /get-port@5.1.1:
+ resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+ dependencies:
+ pump: 3.0.0
+ dev: false
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+ dev: true
+
+ /get-symbol-description@1.0.0:
+ resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
+ /giget@1.1.3:
+ resolution: {integrity: sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==}
+ hasBin: true
+ dependencies:
+ colorette: 2.0.20
+ defu: 6.1.2
+ https-proxy-agent: 7.0.2
+ mri: 1.2.0
+ node-fetch-native: 1.4.0
+ pathe: 1.1.1
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /github-from-package@0.0.0:
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
+ dev: false
+
+ /github-slugger@1.5.0:
+ resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+
+ /glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+
+ /glob@10.3.10:
+ resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+ dependencies:
+ foreground-child: 3.1.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.3
+ minipass: 7.0.4
+ path-scurry: 1.10.1
+ dev: true
+
+ /glob@7.1.6:
+ resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ /glob@7.1.7:
+ resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ /glob@8.1.0:
+ resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 5.1.6
+ once: 1.4.0
+ dev: true
+
+ /glob@9.3.5:
+ resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ fs.realpath: 1.0.0
+ minimatch: 8.0.4
+ minipass: 4.2.8
+ path-scurry: 1.10.1
+ dev: false
+
+ /global-modules@2.0.0:
+ resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==}
+ engines: {node: '>=6'}
+ dependencies:
+ global-prefix: 3.0.0
+ dev: true
+
+ /global-prefix@3.0.0:
+ resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==}
+ engines: {node: '>=6'}
+ dependencies:
+ ini: 1.3.8
+ kind-of: 6.0.3
+ which: 1.3.1
+ dev: true
+
+ /globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ /globals@13.23.0:
+ resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /globalthis@1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-properties: 1.2.1
+ dev: true
+
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.1
+ ignore: 5.2.4
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /globjoin@0.1.4:
+ resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==}
+ dev: true
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.1
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ dev: true
+
+ /graphql-config@5.0.3(@types/node@20.8.7)(graphql@16.8.1)(typescript@5.2.2):
+ resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==}
+ engines: {node: '>= 16.0.0'}
+ peerDependencies:
+ cosmiconfig-toml-loader: ^1.0.0
+ graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ peerDependenciesMeta:
+ cosmiconfig-toml-loader:
+ optional: true
+ dependencies:
+ '@graphql-tools/graphql-file-loader': 8.0.0(graphql@16.8.1)
+ '@graphql-tools/json-file-loader': 8.0.0(graphql@16.8.1)
+ '@graphql-tools/load': 8.0.0(graphql@16.8.1)
+ '@graphql-tools/merge': 9.0.0(graphql@16.8.1)
+ '@graphql-tools/url-loader': 8.0.0(@types/node@20.8.7)(graphql@16.8.1)
+ '@graphql-tools/utils': 10.0.7(graphql@16.8.1)
+ cosmiconfig: 8.3.6(typescript@5.2.2)
+ graphql: 16.8.1
+ jiti: 1.20.0
+ minimatch: 4.2.3
+ string-env-interpolation: 1.0.1
+ tslib: 2.6.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - bufferutil
+ - encoding
+ - typescript
+ - utf-8-validate
+ dev: true
+
+ /graphql-request@6.1.0(graphql@16.8.1):
+ resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==}
+ peerDependencies:
+ graphql: 14 - 16
+ dependencies:
+ '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1)
+ cross-fetch: 3.1.8
+ graphql: 16.8.1
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /graphql-subscriptions@2.0.0(graphql@16.8.1):
+ resolution: {integrity: sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA==}
+ peerDependencies:
+ graphql: ^15.7.2 || ^16.0.0
+ dependencies:
+ graphql: 16.8.1
+ iterall: 1.3.0
+ dev: false
+
+ /graphql-tag@2.12.6(graphql@16.8.1):
+ resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
+ dependencies:
+ graphql: 16.8.1
+ tslib: 2.6.2
+
+ /graphql-validation-complexity@0.4.2(graphql@16.8.1):
+ resolution: {integrity: sha512-4tzmN/70a06c2JH5fvISkoLX6oBDpqK22cvr2comge3HZHtBLD3n5Sl6MnQYMVhQqKGlpZWcCgD00MnyKNzYYg==}
+ peerDependencies:
+ graphql: '>=0.9.5'
+ dependencies:
+ graphql: 16.8.1
+ warning: 4.0.3
+ dev: false
+
+ /graphql-ws@5.14.0(graphql@16.8.1):
+ resolution: {integrity: sha512-itrUTQZP/TgswR4GSSYuwWUzrE/w5GhbwM2GX3ic2U7aw33jgEsayfIlvaj7/GcIvZgNMzsPTrE5hqPuFUiE5g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ graphql: '>=0.11 <=16'
+ dependencies:
+ graphql: 16.8.1
+ dev: false
+
+ /graphql-ws@5.14.1(graphql@16.8.1):
+ resolution: {integrity: sha512-aqkls1espsygP1PfkAuuLIV96IbztQ6EaADse97pw8wRIMT3+AL/OYfS8V2iCRkc0gzckitoDRGCQEdnySggiA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ graphql: '>=0.11 <=16'
+ dependencies:
+ graphql: 16.8.1
+
+ /graphql@16.8.1:
+ resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==}
+ engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
+
+ /gunzip-maybe@1.4.2:
+ resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==}
+ hasBin: true
+ dependencies:
+ browserify-zlib: 0.1.4
+ is-deflate: 1.0.0
+ is-gzip: 1.0.0
+ peek-stream: 1.1.3
+ pumpify: 1.5.1
+ through2: 2.0.5
+ dev: true
+
+ /handlebars@4.7.8:
+ resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
+ engines: {node: '>=0.4.7'}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ neo-async: 2.6.2
+ source-map: 0.6.1
+ wordwrap: 1.0.0
+ optionalDependencies:
+ uglify-js: 3.17.4
+ dev: true
+
+ /hanji@0.0.5:
+ resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
+ dependencies:
+ lodash.throttle: 4.1.1
+ sisteransi: 1.0.5
+ dev: true
+
+ /hard-rejection@2.1.0:
+ resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: true
+
+ /has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ /has-own-prop@2.0.0:
+ resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==}
+ engines: {node: '>=8'}
+
+ /has-property-descriptors@1.0.0:
+ resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ dependencies:
+ get-intrinsic: 1.2.1
+
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+
+ /has-tostringtag@1.0.0:
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /has@1.0.4:
+ resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
+ engines: {node: '>= 0.4.0'}
+
+ /hash-base@3.1.0:
+ resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==}
+ engines: {node: '>=4'}
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ safe-buffer: 5.2.1
+ dev: true
+
+ /hash.js@1.1.7:
+ resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
+ dependencies:
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ dev: true
+
+ /he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+ dev: true
+
+ /header-case@2.0.4:
+ resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
+ dependencies:
+ capital-case: 1.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /heap@0.2.7:
+ resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
+ dev: true
+
+ /hmac-drbg@1.0.1:
+ resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
+ dependencies:
+ hash.js: 1.1.7
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+ dev: true
+
+ /hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+ dev: true
+
+ /hosted-git-info@4.1.0:
+ resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
+ engines: {node: '>=10'}
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /html-encoding-sniffer@3.0.0:
+ resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
+ engines: {node: '>=12'}
+ dependencies:
+ whatwg-encoding: 2.0.0
+ dev: true
+
+ /html-entities@2.4.0:
+ resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
+ dev: true
+
+ /html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ dev: true
+
+ /html-minifier-terser@6.1.0:
+ resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ engines: {node: '>=12'}
+ hasBin: true
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 5.3.2
+ commander: 8.3.0
+ he: 1.2.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 5.22.0
+ dev: true
+
+ /html-tags@3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /html-webpack-plugin@5.5.3(webpack@5.89.0):
+ resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==}
+ engines: {node: '>=10.13.0'}
+ peerDependencies:
+ webpack: ^5.20.0
+ dependencies:
+ '@types/html-minifier-terser': 6.1.0
+ html-minifier-terser: 6.1.0
+ lodash: 4.17.21
+ pretty-error: 4.0.0
+ tapable: 2.2.1
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 2.2.0
+ dev: true
+
+ /http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+
+ /http-proxy-agent@5.0.0:
+ resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
+ engines: {node: '>= 6'}
+ dependencies:
+ '@tootallnate/once': 2.0.0
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /http-proxy-agent@7.0.0:
+ resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==}
+ engines: {node: '>= 14'}
+ dependencies:
+ agent-base: 7.1.0
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /https-browserify@1.0.0:
+ resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==}
+ dev: true
+
+ /https-proxy-agent@4.0.0:
+ resolution: {integrity: sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==}
+ engines: {node: '>= 6.0.0'}
+ dependencies:
+ agent-base: 5.1.1
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /https-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==}
+ engines: {node: '>= 14'}
+ dependencies:
+ agent-base: 7.1.0
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /human-signals@1.1.1:
+ resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==}
+ engines: {node: '>=8.12.0'}
+ dev: false
+
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
+ /human-signals@4.3.1:
+ resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==}
+ engines: {node: '>=14.18.0'}
+ dev: true
+
+ /human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+ dev: true
+
+ /husky@8.0.3:
+ resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+
+ /iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /icss-utils@5.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ /ignore@5.2.4:
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /image-size@0.5.5:
+ resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /image-size@1.0.2:
+ resolution: {integrity: sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ queue: 6.0.2
+ dev: true
+
+ /immutable@3.7.6:
+ resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ /import-from@4.0.0:
+ resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==}
+ engines: {node: '>=12.2'}
+ dev: true
+
+ /import-lazy@4.0.0:
+ resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /import-local@3.1.0:
+ resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+ dev: true
+
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+ dev: true
+
+ /indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /indent-string@5.0.0:
+ resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ /ini@1.3.8:
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+
+ /inquirer@8.2.4:
+ resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-width: 3.0.0
+ external-editor: 3.1.0
+ figures: 3.2.0
+ lodash: 4.17.21
+ mute-stream: 0.0.8
+ ora: 5.4.1
+ run-async: 2.4.1
+ rxjs: 7.8.1
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ through: 2.3.8
+ wrap-ansi: 7.0.0
+ dev: false
+
+ /inquirer@8.2.6:
+ resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-width: 3.0.0
+ external-editor: 3.1.0
+ figures: 3.2.0
+ lodash: 4.17.21
+ mute-stream: 0.0.8
+ ora: 5.4.1
+ run-async: 2.4.1
+ rxjs: 7.8.1
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ through: 2.3.8
+ wrap-ansi: 6.2.0
+
+ /internal-slot@1.0.5:
+ resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.1
+ has: 1.0.4
+ side-channel: 1.0.4
+ dev: true
+
+ /interpret@1.4.0:
+ resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
+ engines: {node: '>= 0.10'}
+ dev: false
+
+ /invariant@2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ dependencies:
+ loose-envify: 1.4.0
+
+ /ip@2.0.0:
+ resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==}
+ dev: true
+
+ /ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+
+ /is-absolute-url@3.0.3:
+ resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-absolute@1.0.0:
+ resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-relative: 1.0.0
+ is-windows: 1.0.2
+ dev: true
+
+ /is-arguments@1.1.1:
+ resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-array-buffer@3.0.2:
+ resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ /is-arrayish@0.3.2:
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
+
+ /is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-core-module@2.13.0:
+ resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
+ dependencies:
+ has: 1.0.4
+
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-deflate@1.0.0:
+ resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==}
+ dev: true
+
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+
+ /is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ hasBin: true
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ /is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ dependencies:
+ call-bind: 1.0.5
+ dev: true
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ /is-fullwidth-code-point@4.0.0:
+ resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /is-generator-fn@2.1.0:
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-gzip@1.0.0:
+ resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+ dependencies:
+ is-docker: 3.0.0
+ dev: true
+
+ /is-interactive@1.0.0:
+ resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
+ engines: {node: '>=8'}
+
+ /is-lower-case@2.0.2:
+ resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /is-map@2.0.2:
+ resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
+ dev: true
+
+ /is-nan@1.3.2:
+ resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ dev: true
+
+ /is-negative-zero@2.0.2:
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ /is-path-cwd@2.2.0:
+ resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-plain-obj@1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ isobject: 3.0.1
+ dev: true
+
+ /is-plain-object@5.0.0:
+ resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ dev: true
+
+ /is-promise@2.2.2:
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
+ dev: true
+
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-relative@1.0.0:
+ resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-unc-path: 1.0.0
+ dev: true
+
+ /is-set@2.0.2:
+ resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
+ dev: true
+
+ /is-shared-array-buffer@1.0.2:
+ resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ dependencies:
+ call-bind: 1.0.5
+ dev: true
+
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ /is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /is-typed-array@1.1.12:
+ resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.13
+ dev: true
+
+ /is-unc-path@1.0.0:
+ resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ unc-path-regex: 0.1.2
+ dev: true
+
+ /is-unicode-supported@0.1.0:
+ resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
+ engines: {node: '>=10'}
+
+ /is-upper-case@2.0.2:
+ resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /is-weakmap@2.0.1:
+ resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
+ dev: true
+
+ /is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.5
+ dev: true
+
+ /is-weakset@2.0.2:
+ resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /is-what@3.14.1:
+ resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
+ dev: true
+
+ /is-windows@1.0.2:
+ resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
+ /isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: true
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ /isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /isomorphic-ws@5.0.0(ws@8.14.2):
+ resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==}
+ peerDependencies:
+ ws: '*'
+ dependencies:
+ ws: 8.14.2
+ dev: true
+
+ /istanbul-lib-coverage@3.2.0:
+ resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /istanbul-lib-instrument@5.2.1:
+ resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/parser': 7.23.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-lib-instrument@6.0.1:
+ resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/parser': 7.23.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+ dependencies:
+ istanbul-lib-coverage: 3.2.0
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+ dev: true
+
+ /istanbul-lib-source-maps@4.0.1:
+ resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+ engines: {node: '>=10'}
+ dependencies:
+ debug: 4.3.4
+ istanbul-lib-coverage: 3.2.0
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /istanbul-reports@3.1.6:
+ resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==}
+ engines: {node: '>=8'}
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
+ dev: true
+
+ /iterall@1.3.0:
+ resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==}
+ dev: false
+
+ /iterare@1.2.1:
+ resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ dependencies:
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.4
+ set-function-name: 2.0.1
+ dev: true
+
+ /jackspeak@2.3.6:
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+ dev: true
+
+ /jake@10.8.7:
+ resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ async: 3.2.4
+ chalk: 4.1.2
+ filelist: 1.0.4
+ minimatch: 3.1.2
+ dev: true
+
+ /jest-changed-files@29.7.0:
+ resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ execa: 5.1.1
+ jest-util: 29.7.0
+ p-limit: 3.1.0
+ dev: true
+
+ /jest-circus@29.7.0:
+ resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/expect': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 1.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 29.7.0
+ jest-matcher-utils: 29.7.0
+ jest-message-util: 29.7.0
+ jest-runtime: 29.7.0
+ jest-snapshot: 29.7.0
+ jest-util: 29.7.0
+ p-limit: 3.1.0
+ pretty-format: 29.7.0
+ pure-rand: 6.0.4
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+ dev: true
+
+ /jest-cli@29.7.0(@types/node@20.8.7)(ts-node@10.9.1):
+ resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/core': 29.7.0(ts-node@10.9.1)
+ '@jest/test-result': 29.7.0
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ create-jest: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ exit: 0.1.2
+ import-local: 3.1.0
+ jest-config: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+ dev: true
+
+ /jest-config@29.7.0(@types/node@20.8.7)(ts-node@10.9.1):
+ resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ peerDependencies:
+ '@types/node': '*'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.2
+ '@jest/test-sequencer': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ babel-jest: 29.7.0(@babel/core@7.23.2)
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 29.7.0
+ jest-environment-node: 29.7.0
+ jest-get-type: 29.6.3
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.7.0
+ jest-runner: 29.7.0
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ micromatch: 4.0.5
+ parse-json: 5.2.0
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ ts-node: 10.9.1(@types/node@20.8.7)(typescript@5.2.2)
+ transitivePeerDependencies:
+ - babel-plugin-macros
+ - supports-color
+ dev: true
+
+ /jest-diff@29.7.0:
+ resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ chalk: 4.1.2
+ diff-sequences: 29.6.3
+ jest-get-type: 29.6.3
+ pretty-format: 29.7.0
+ dev: true
+
+ /jest-docblock@29.7.0:
+ resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ detect-newline: 3.1.0
+ dev: true
+
+ /jest-each@29.7.0:
+ resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ jest-util: 29.7.0
+ pretty-format: 29.7.0
+ dev: true
+
+ /jest-environment-jsdom@29.7.0:
+ resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/jsdom': 20.0.1
+ '@types/node': 20.8.7
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+ jsdom: 20.0.3
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jest-environment-node@29.7.0:
+ resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/fake-timers': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ jest-mock: 29.7.0
+ jest-util: 29.7.0
+ dev: true
+
+ /jest-get-type@29.6.3:
+ resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dev: true
+
+ /jest-haste-map@29.7.0:
+ resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/graceful-fs': 4.1.8
+ '@types/node': 20.8.7
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 29.6.3
+ jest-util: 29.7.0
+ jest-worker: 29.7.0
+ micromatch: 4.0.5
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /jest-leak-detector@29.7.0:
+ resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ jest-get-type: 29.6.3
+ pretty-format: 29.7.0
+ dev: true
+
+ /jest-matcher-utils@29.7.0:
+ resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ chalk: 4.1.2
+ jest-diff: 29.7.0
+ jest-get-type: 29.6.3
+ pretty-format: 29.7.0
+ dev: true
+
+ /jest-message-util@29.7.0:
+ resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ '@jest/types': 29.6.3
+ '@types/stack-utils': 2.0.2
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ pretty-format: 29.7.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ dev: true
+
+ /jest-mock@29.7.0:
+ resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ jest-util: 29.7.0
+ dev: true
+
+ /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+ dependencies:
+ jest-resolve: 29.7.0
+ dev: true
+
+ /jest-regex-util@29.6.3:
+ resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dev: true
+
+ /jest-resolve-dependencies@29.7.0:
+ resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ jest-regex-util: 29.6.3
+ jest-snapshot: 29.7.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-resolve@29.7.0:
+ resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.7.0
+ jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
+ jest-util: 29.7.0
+ jest-validate: 29.7.0
+ resolve: 1.22.8
+ resolve.exports: 2.0.2
+ slash: 3.0.0
+ dev: true
+
+ /jest-runner@29.7.0:
+ resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/console': 29.7.0
+ '@jest/environment': 29.7.0
+ '@jest/test-result': 29.7.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ chalk: 4.1.2
+ emittery: 0.13.1
+ graceful-fs: 4.2.11
+ jest-docblock: 29.7.0
+ jest-environment-node: 29.7.0
+ jest-haste-map: 29.7.0
+ jest-leak-detector: 29.7.0
+ jest-message-util: 29.7.0
+ jest-resolve: 29.7.0
+ jest-runtime: 29.7.0
+ jest-util: 29.7.0
+ jest-watcher: 29.7.0
+ jest-worker: 29.7.0
+ p-limit: 3.1.0
+ source-map-support: 0.5.13
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-runtime@29.7.0:
+ resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/environment': 29.7.0
+ '@jest/fake-timers': 29.7.0
+ '@jest/globals': 29.7.0
+ '@jest/source-map': 29.6.3
+ '@jest/test-result': 29.7.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ chalk: 4.1.2
+ cjs-module-lexer: 1.2.3
+ collect-v8-coverage: 1.0.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-haste-map: 29.7.0
+ jest-message-util: 29.7.0
+ jest-mock: 29.7.0
+ jest-regex-util: 29.6.3
+ jest-resolve: 29.7.0
+ jest-snapshot: 29.7.0
+ jest-util: 29.7.0
+ slash: 3.0.0
+ strip-bom: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-snapshot@29.7.0:
+ resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/generator': 7.23.0
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.2)
+ '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.2)
+ '@babel/types': 7.23.0
+ '@jest/expect-utils': 29.7.0
+ '@jest/transform': 29.7.0
+ '@jest/types': 29.6.3
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.2)
+ chalk: 4.1.2
+ expect: 29.7.0
+ graceful-fs: 4.2.11
+ jest-diff: 29.7.0
+ jest-get-type: 29.6.3
+ jest-matcher-utils: 29.7.0
+ jest-message-util: 29.7.0
+ jest-util: 29.7.0
+ natural-compare: 1.4.0
+ pretty-format: 29.7.0
+ semver: 7.5.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jest-util@29.7.0:
+ resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+ dev: true
+
+ /jest-validate@29.7.0:
+ resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.6.3
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 29.6.3
+ leven: 3.1.0
+ pretty-format: 29.7.0
+ dev: true
+
+ /jest-watcher@29.7.0:
+ resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/test-result': 29.7.0
+ '@jest/types': 29.6.3
+ '@types/node': 20.8.7
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.13.1
+ jest-util: 29.7.0
+ string-length: 4.0.2
+ dev: true
+
+ /jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/node': 20.8.7
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ /jest-worker@29.7.0:
+ resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@types/node': 20.8.7
+ jest-util: 29.7.0
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+ dev: true
+
+ /jest@29.7.0(@types/node@20.8.7)(ts-node@10.9.1):
+ resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+ dependencies:
+ '@jest/core': 29.7.0(ts-node@10.9.1)
+ '@jest/types': 29.6.3
+ import-local: 3.1.0
+ jest-cli: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ transitivePeerDependencies:
+ - '@types/node'
+ - babel-plugin-macros
+ - supports-color
+ - ts-node
+ dev: true
+
+ /jiti@1.20.0:
+ resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==}
+ hasBin: true
+
+ /jose@4.15.4:
+ resolution: {integrity: sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==}
+ dev: true
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+ dev: true
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /jscodeshift@0.14.0(@babel/preset-env@7.23.2):
+ resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==}
+ hasBin: true
+ peerDependencies:
+ '@babel/preset-env': ^7.1.6
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/parser': 7.23.0
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.2)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.2)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.2)
+ '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2)
+ '@babel/preset-env': 7.23.2(@babel/core@7.23.2)
+ '@babel/preset-flow': 7.22.15(@babel/core@7.23.2)
+ '@babel/preset-typescript': 7.23.2(@babel/core@7.23.2)
+ '@babel/register': 7.22.15(@babel/core@7.23.2)
+ babel-core: 7.0.0-bridge.0(@babel/core@7.23.2)
+ chalk: 4.1.2
+ flow-parser: 0.219.3
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ neo-async: 2.6.2
+ node-dir: 0.1.17
+ recast: 0.21.5
+ temp: 0.8.4
+ write-file-atomic: 2.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /jsdom@20.0.3:
+ resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+ dependencies:
+ abab: 2.0.6
+ acorn: 8.10.0
+ acorn-globals: 7.0.1
+ cssom: 0.5.0
+ cssstyle: 2.3.0
+ data-urls: 3.0.2
+ decimal.js: 10.4.3
+ domexception: 4.0.0
+ escodegen: 2.1.0
+ form-data: 4.0.0
+ html-encoding-sniffer: 3.0.0
+ http-proxy-agent: 5.0.0
+ https-proxy-agent: 5.0.1
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.7
+ parse5: 7.1.2
+ saxes: 6.0.0
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.3
+ w3c-xmlserializer: 4.0.0
+ webidl-conversions: 7.0.0
+ whatwg-encoding: 2.0.0
+ whatwg-mimetype: 3.0.0
+ whatwg-url: 11.0.0
+ ws: 8.14.2
+ xml-name-validator: 4.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+ dev: true
+
+ /jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
+
+ /json-diff@0.9.0:
+ resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==}
+ hasBin: true
+ dependencies:
+ cli-color: 2.0.3
+ difflib: 0.2.4
+ dreamopt: 0.8.0
+ dev: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ /json-schema-traverse@1.0.0:
+ resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ dev: true
+
+ /json-stable-stringify@1.0.2:
+ resolution: {integrity: sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==}
+ dependencies:
+ jsonify: 0.0.1
+ dev: true
+
+ /json-to-pretty-yaml@1.2.2:
+ resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==}
+ engines: {node: '>= 0.2.0'}
+ dependencies:
+ remedial: 1.0.8
+ remove-trailing-spaces: 1.0.8
+ dev: true
+
+ /json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+ dev: true
+
+ /json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ /jsonc-parser@3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+
+ /jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+ dependencies:
+ universalify: 2.0.0
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ /jsonify@0.0.1:
+ resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==}
+ dev: true
+
+ /jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.flat: 1.3.2
+ object.assign: 4.1.4
+ object.values: 1.1.7
+ dev: true
+
+ /keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ dependencies:
+ json-buffer: 3.0.1
+ dev: true
+
+ /kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /klona@2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /known-css-properties@0.28.0:
+ resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==}
+ dev: true
+
+ /known-css-properties@0.29.0:
+ resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
+ dev: true
+
+ /language-subtag-registry@0.3.22:
+ resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
+ dev: true
+
+ /language-tags@1.0.5:
+ resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==}
+ dependencies:
+ language-subtag-registry: 0.3.22
+ dev: true
+
+ /lazy-universal-dotenv@4.0.0:
+ resolution: {integrity: sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==}
+ engines: {node: '>=14.0.0'}
+ dependencies:
+ app-root-dir: 1.0.2
+ dotenv: 16.3.1
+ dotenv-expand: 10.0.0
+ dev: true
+
+ /less-loader@11.1.3(less@4.2.0)(webpack@5.89.0):
+ resolution: {integrity: sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ less: ^3.5.0 || ^4.0.0
+ webpack: ^5.0.0
+ dependencies:
+ less: 4.2.0
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /less@4.2.0:
+ resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dependencies:
+ copy-anything: 2.0.6
+ parse-node-version: 1.0.1
+ tslib: 2.6.2
+ optionalDependencies:
+ errno: 0.1.8
+ graceful-fs: 4.2.11
+ image-size: 0.5.5
+ make-dir: 2.1.0
+ mime: 1.6.0
+ needle: 3.2.0
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /libphonenumber-js@1.10.48:
+ resolution: {integrity: sha512-Vvcgt4+o8+puIBJZLdMshPYx9nRN3/kTT7HPtOyfYrSQuN9PGBF1KUv0g07fjNzt4E4GuA7FnsLb+WeAMzyRQg==}
+ dev: false
+
+ /lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ /lint-staged@15.0.2:
+ resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==}
+ engines: {node: '>=18.12.0'}
+ hasBin: true
+ dependencies:
+ chalk: 5.3.0
+ commander: 11.1.0
+ debug: 4.3.4
+ execa: 8.0.1
+ lilconfig: 2.1.0
+ listr2: 7.0.2
+ micromatch: 4.0.5
+ pidtree: 0.6.0
+ string-argv: 0.3.2
+ yaml: 2.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /listr2@4.0.5:
+ resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ enquirer: '>= 2.3.0 < 3'
+ peerDependenciesMeta:
+ enquirer:
+ optional: true
+ dependencies:
+ cli-truncate: 2.1.0
+ colorette: 2.0.20
+ log-update: 4.0.0
+ p-map: 4.0.0
+ rfdc: 1.3.0
+ rxjs: 7.8.1
+ through: 2.3.8
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /listr2@7.0.2:
+ resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==}
+ engines: {node: '>=16.0.0'}
+ dependencies:
+ cli-truncate: 3.1.0
+ colorette: 2.0.20
+ eventemitter3: 5.0.1
+ log-update: 5.0.1
+ rfdc: 1.3.0
+ wrap-ansi: 8.1.0
+ dev: true
+
+ /loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+
+ /loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+ dev: true
+
+ /loader-utils@3.2.1:
+ resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==}
+ engines: {node: '>= 12.13.0'}
+ dev: true
+
+ /locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+ dev: true
+
+ /locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-locate: 4.1.0
+ dev: true
+
+ /locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+ dev: true
+
+ /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}
+ dependencies:
+ p-locate: 6.0.0
+ dev: true
+
+ /lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+ dev: true
+
+ /lodash.foreach@4.5.0:
+ resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==}
+ dev: true
+
+ /lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ dev: true
+
+ /lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ dev: true
+
+ /lodash.omit@4.5.0:
+ resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==}
+ dev: false
+
+ /lodash.sortby@4.7.0:
+ resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+ dev: false
+
+ /lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+ dev: true
+
+ /lodash.truncate@4.4.2:
+ resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==}
+ dev: true
+
+ /lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ /log-symbols@4.1.0:
+ resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
+ engines: {node: '>=10'}
+ dependencies:
+ chalk: 4.1.2
+ is-unicode-supported: 0.1.0
+
+ /log-update@4.0.0:
+ resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-escapes: 4.3.2
+ cli-cursor: 3.1.0
+ slice-ansi: 4.0.0
+ wrap-ansi: 6.2.0
+ dev: true
+
+ /log-update@5.0.1:
+ resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ ansi-escapes: 5.0.0
+ cli-cursor: 4.0.0
+ slice-ansi: 5.0.0
+ strip-ansi: 7.1.0
+ wrap-ansi: 8.1.0
+ dev: true
+
+ /loglevel@1.8.1:
+ resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==}
+ engines: {node: '>= 0.6.0'}
+ dev: false
+
+ /long@4.0.0:
+ resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==}
+ dev: false
+
+ /loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+
+ /lower-case-first@2.0.2:
+ resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /lru-cache@10.0.1:
+ resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==}
+ engines: {node: 14 || >=16.14}
+
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+
+ /lru-cache@7.18.3:
+ resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /lru-queue@0.1.0:
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
+ dependencies:
+ es5-ext: 0.10.62
+ dev: true
+
+ /macos-release@2.5.1:
+ resolution: {integrity: sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /magic-string@0.30.0:
+ resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ /magic-string@0.30.1:
+ resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: false
+
+ /make-dir@2.1.0:
+ resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+ engines: {node: '>=6'}
+ dependencies:
+ pify: 4.0.1
+ semver: 5.7.2
+ dev: true
+
+ /make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+ dependencies:
+ semver: 6.3.1
+ dev: true
+
+ /make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /make-error@1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+
+ /makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+ dependencies:
+ tmpl: 1.0.5
+ dev: true
+
+ /map-cache@0.2.2:
+ resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /map-obj@1.0.1:
+ resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /map-obj@4.3.0:
+ resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /map-or-similar@1.5.0:
+ resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==}
+ dev: true
+
+ /markdown-to-jsx@7.3.2(react@18.2.0):
+ resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==}
+ engines: {node: '>= 10'}
+ peerDependencies:
+ react: '>= 0.14.0'
+ dependencies:
+ react: 18.2.0
+ dev: true
+
+ /mathml-tag-names@2.1.3:
+ resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==}
+ dev: true
+
+ /md5.js@1.3.5:
+ resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==}
+ dependencies:
+ hash-base: 3.1.0
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+ dev: true
+
+ /mdast-util-definitions@4.0.0:
+ resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==}
+ dependencies:
+ unist-util-visit: 2.0.3
+ dev: true
+
+ /mdast-util-to-string@1.1.0:
+ resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==}
+ dev: true
+
+ /mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ dev: true
+
+ /media-typer@0.3.0:
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
+ engines: {node: '>= 0.6'}
+
+ /memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
+ dependencies:
+ fs-monkey: 1.0.5
+
+ /memoizee@0.4.15:
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
+ dependencies:
+ d: 1.0.1
+ es5-ext: 0.10.62
+ es6-weak-map: 2.0.3
+ event-emitter: 0.3.5
+ is-promise: 2.2.2
+ lru-queue: 0.1.0
+ next-tick: 1.1.0
+ timers-ext: 0.1.7
+ dev: true
+
+ /memoizerific@1.11.3:
+ resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==}
+ dependencies:
+ map-or-similar: 1.5.0
+ dev: true
+
+ /meow@10.1.5:
+ resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ '@types/minimist': 1.2.4
+ camelcase-keys: 7.0.2
+ decamelize: 5.0.1
+ decamelize-keys: 1.1.1
+ hard-rejection: 2.1.0
+ minimist-options: 4.1.0
+ normalize-package-data: 3.0.3
+ read-pkg-up: 8.0.0
+ redent: 4.0.0
+ trim-newlines: 4.1.1
+ type-fest: 1.4.0
+ yargs-parser: 20.2.9
+ dev: true
+
+ /merge-descriptors@1.0.1:
+ resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
+
+ /merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ /meros@1.3.0(@types/node@20.8.7):
+ resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==}
+ engines: {node: '>=13'}
+ peerDependencies:
+ '@types/node': '>=13'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ dependencies:
+ '@types/node': 20.8.7
+ dev: true
+
+ /methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+
+ /miller-rabin@4.0.1:
+ resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==}
+ hasBin: true
+ dependencies:
+ bn.js: 4.12.0
+ brorand: 1.1.0
+ dev: true
+
+ /mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ /mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+
+ /mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ /mime@2.6.0:
+ resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+ dev: true
+
+ /mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ /mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /mimic-response@3.1.0:
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /mini-svg-data-uri@1.4.4:
+ resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==}
+ hasBin: true
+ dev: true
+
+ /minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ dev: true
+
+ /minimalistic-crypto-utils@1.0.1:
+ resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
+ dev: true
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+
+ /minimatch@4.2.3:
+ resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch@7.4.6:
+ resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimatch@8.0.4:
+ resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: false
+
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /minimist-options@4.1.0:
+ resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
+ engines: {node: '>= 6'}
+ dependencies:
+ arrify: 1.0.1
+ is-plain-obj: 1.1.0
+ kind-of: 6.0.3
+ dev: true
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ /minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /minipass@4.2.8:
+ resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /minipass@7.0.4:
+ resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ /minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+ dev: true
+
+ /mkdirp-classic@0.5.3:
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
+
+ /mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.8
+
+ /mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dev: true
+
+ /mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ /multer@1.4.4-lts.1:
+ resolution: {integrity: sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==}
+ engines: {node: '>= 6.0.0'}
+ dependencies:
+ append-field: 1.0.0
+ busboy: 1.6.0
+ concat-stream: 1.6.2
+ mkdirp: 0.5.6
+ object-assign: 4.1.1
+ type-is: 1.6.18
+ xtend: 4.0.2
+ dev: false
+
+ /mute-stream@0.0.8:
+ resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+
+ /mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
+ /nanoid@3.3.6:
+ resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ /napi-build-utils@1.0.2:
+ resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
+ dev: false
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
+
+ /needle@3.2.0:
+ resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==}
+ engines: {node: '>= 4.4.x'}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ debug: 3.2.7
+ iconv-lite: 0.6.3
+ sax: 1.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
+ /neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ /next-themes@0.2.1(next@13.5.6)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==}
+ peerDependencies:
+ next: '*'
+ react: '*'
+ react-dom: '*'
+ dependencies:
+ next: 13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+ dev: true
+
+ /next@13.5.6(@babel/core@7.23.2)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==}
+ engines: {node: '>=16.14.0'}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ sass:
+ optional: true
+ dependencies:
+ '@next/env': 13.5.6
+ '@swc/helpers': 0.5.2
+ busboy: 1.6.0
+ caniuse-lite: 1.0.30001551
+ postcss: 8.4.31
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.23.2)(react@18.2.0)
+ watchpack: 2.4.0
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 13.5.6
+ '@next/swc-darwin-x64': 13.5.6
+ '@next/swc-linux-arm64-gnu': 13.5.6
+ '@next/swc-linux-arm64-musl': 13.5.6
+ '@next/swc-linux-x64-gnu': 13.5.6
+ '@next/swc-linux-x64-musl': 13.5.6
+ '@next/swc-win32-arm64-msvc': 13.5.6
+ '@next/swc-win32-ia32-msvc': 13.5.6
+ '@next/swc-win32-x64-msvc': 13.5.6
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
+
+ /no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.6.2
+ dev: true
+
+ /node-abi@3.51.0:
+ resolution: {integrity: sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==}
+ engines: {node: '>=10'}
+ dependencies:
+ semver: 7.5.4
+ dev: false
+
+ /node-abort-controller@3.1.1:
+ resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
+
+ /node-addon-api@6.1.0:
+ resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
+ dev: false
+
+ /node-dir@0.1.17:
+ resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==}
+ engines: {node: '>= 0.10.5'}
+ dependencies:
+ minimatch: 3.1.2
+ dev: true
+
+ /node-domexception@1.0.0:
+ resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
+ engines: {node: '>=10.5.0'}
+ dev: true
+
+ /node-emoji@1.11.0:
+ resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==}
+ dependencies:
+ lodash: 4.17.21
+ dev: false
+
+ /node-fetch-native@1.4.0:
+ resolution: {integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==}
+ dev: true
+
+ /node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+
+ /node-fetch@3.3.2:
+ resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ data-uri-to-buffer: 4.0.1
+ fetch-blob: 3.2.0
+ formdata-polyfill: 4.0.10
+ dev: true
+
+ /node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+ dev: true
+
+ /node-polyfill-webpack-plugin@2.0.1(webpack@5.89.0):
+ resolution: {integrity: sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ webpack: '>=5'
+ dependencies:
+ assert: 2.1.0
+ browserify-zlib: 0.2.0
+ buffer: 6.0.3
+ console-browserify: 1.2.0
+ constants-browserify: 1.0.0
+ crypto-browserify: 3.12.0
+ domain-browser: 4.22.0
+ events: 3.3.0
+ filter-obj: 2.0.2
+ https-browserify: 1.0.0
+ os-browserify: 0.3.0
+ path-browserify: 1.0.1
+ process: 0.11.10
+ punycode: 2.3.0
+ querystring-es3: 0.2.1
+ readable-stream: 4.4.2
+ stream-browserify: 3.0.0
+ stream-http: 3.2.0
+ string_decoder: 1.3.0
+ timers-browserify: 2.0.12
+ tty-browserify: 0.0.1
+ type-fest: 2.19.0
+ url: 0.11.3
+ util: 0.12.5
+ vm-browserify: 1.1.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /node-releases@2.0.13:
+ resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
+
+ /normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.8
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-package-data@3.0.3:
+ resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
+ engines: {node: '>=10'}
+ dependencies:
+ hosted-git-info: 4.1.0
+ is-core-module: 2.13.0
+ semver: 7.5.4
+ validate-npm-package-license: 3.0.4
+ dev: true
+
+ /normalize-path@2.1.1:
+ resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ remove-trailing-separator: 1.1.0
+ dev: true
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ /normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /npm-normalize-package-bin@3.0.1:
+ resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+
+ /npm-run-path@5.1.0:
+ resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ path-key: 4.0.0
+ dev: true
+
+ /nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ dependencies:
+ boolbase: 1.0.0
+ dev: true
+
+ /nullthrows@1.1.1:
+ resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
+ dev: true
+
+ /nwsapi@2.2.7:
+ resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
+ dev: true
+
+ /object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ /object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+
+ /object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+
+ /object-is@1.1.5:
+ resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ dev: true
+
+ /object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /object.assign@4.1.4:
+ resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
+ /object.entries@1.1.7:
+ resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: true
+
+ /object.fromentries@2.0.7:
+ resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: true
+
+ /object.groupby@1.0.1:
+ resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ dev: true
+
+ /object.hasown@1.1.3:
+ resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: true
+
+ /object.values@1.1.7:
+ resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: true
+
+ /objectorarray@1.0.5:
+ resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==}
+ dev: true
+
+ /obuf@1.1.2:
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
+
+ /on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+
+ /on-headers@1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+
+ /onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+
+ /onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ mimic-fn: 4.0.0
+ dev: true
+
+ /open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+
+ /open@9.1.0:
+ resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ default-browser: 4.0.0
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ is-wsl: 2.2.0
+ dev: true
+
+ /optionator@0.9.3:
+ resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ '@aashutoshrathi/word-wrap': 1.2.6
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /ora@5.4.1:
+ resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ bl: 4.1.0
+ chalk: 4.1.2
+ cli-cursor: 3.1.0
+ cli-spinners: 2.9.1
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ log-symbols: 4.1.0
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+
+ /os-browserify@0.3.0:
+ resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==}
+ dev: true
+
+ /os-name@4.0.1:
+ resolution: {integrity: sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==}
+ engines: {node: '>=10'}
+ dependencies:
+ macos-release: 2.5.1
+ windows-release: 4.0.0
+ dev: false
+
+ /os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+
+ /p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-try: 2.2.0
+ dev: true
+
+ /p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: 0.1.0
+ dev: true
+
+ /p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
+ /p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
+ /p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-limit: 2.3.0
+ dev: true
+
+ /p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: 3.1.0
+ dev: true
+
+ /p-locate@6.0.0:
+ resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ p-limit: 4.0.0
+ dev: true
+
+ /p-map@4.0.0:
+ resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ aggregate-error: 3.1.0
+ dev: true
+
+ /p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /packet-reader@1.0.0:
+ resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==}
+
+ /pako@0.2.9:
+ resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
+ dev: true
+
+ /pako@1.0.11:
+ resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+ dev: true
+
+ /param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+
+ /parse-asn1@5.1.6:
+ resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==}
+ dependencies:
+ asn1.js: 5.4.1
+ browserify-aes: 1.2.0
+ evp_bytestokey: 1.0.3
+ pbkdf2: 3.1.2
+ safe-buffer: 5.2.1
+ dev: true
+
+ /parse-filepath@1.0.2:
+ resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==}
+ engines: {node: '>=0.8'}
+ dependencies:
+ is-absolute: 1.0.0
+ map-cache: 0.2.2
+ path-root: 0.1.1
+ dev: true
+
+ /parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.22.13
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ /parse-node-version@1.0.1:
+ resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /parse5@7.1.2:
+ resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
+ dependencies:
+ entities: 4.5.0
+ dev: true
+
+ /parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
+ /pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ dev: true
+
+ /path-case@3.0.4:
+ resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-exists@5.0.0:
+ resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dev: true
+
+ /path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ /path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ /path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ /path-root-regex@0.1.2:
+ resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /path-root@0.1.1:
+ resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ path-root-regex: 0.1.2
+ dev: true
+
+ /path-scurry@1.10.1:
+ resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ lru-cache: 10.0.1
+ minipass: 7.0.4
+
+ /path-to-regexp@0.1.7:
+ resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+
+ /path-to-regexp@3.2.0:
+ resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==}
+ dev: false
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ /pathe@1.1.1:
+ resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==}
+ dev: true
+
+ /pbkdf2@3.1.2:
+ resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==}
+ engines: {node: '>=0.12'}
+ dependencies:
+ create-hash: 1.2.0
+ create-hmac: 1.1.7
+ ripemd160: 2.0.2
+ safe-buffer: 5.2.1
+ sha.js: 2.4.11
+ dev: true
+
+ /peek-stream@1.1.3:
+ resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==}
+ dependencies:
+ buffer-from: 1.1.2
+ duplexify: 3.7.1
+ through2: 2.0.5
+ dev: true
+
+ /pend@1.2.0:
+ resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
+ dev: true
+
+ /pg-cloudflare@1.1.1:
+ resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==}
+ requiresBuild: true
+ optional: true
+
+ /pg-connection-string@2.6.2:
+ resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==}
+
+ /pg-int8@1.0.1:
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+ engines: {node: '>=4.0.0'}
+
+ /pg-numeric@1.0.2:
+ resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==}
+ engines: {node: '>=4'}
+
+ /pg-pool@3.6.1(pg@8.11.3):
+ resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==}
+ peerDependencies:
+ pg: '>=8.0'
+ dependencies:
+ pg: 8.11.3
+
+ /pg-protocol@1.6.0:
+ resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==}
+
+ /pg-types@2.2.0:
+ resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
+ engines: {node: '>=4'}
+ dependencies:
+ pg-int8: 1.0.1
+ postgres-array: 2.0.0
+ postgres-bytea: 1.0.0
+ postgres-date: 1.0.7
+ postgres-interval: 1.2.0
+
+ /pg-types@4.0.1:
+ resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==}
+ engines: {node: '>=10'}
+ dependencies:
+ pg-int8: 1.0.1
+ pg-numeric: 1.0.2
+ postgres-array: 3.0.2
+ postgres-bytea: 3.0.0
+ postgres-date: 2.0.1
+ postgres-interval: 3.0.0
+ postgres-range: 1.1.3
+
+ /pg@8.11.3:
+ resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ pg-native: '>=3.0.1'
+ peerDependenciesMeta:
+ pg-native:
+ optional: true
+ dependencies:
+ buffer-writer: 2.0.0
+ packet-reader: 1.0.0
+ pg-connection-string: 2.6.2
+ pg-pool: 3.6.1(pg@8.11.3)
+ pg-protocol: 1.6.0
+ pg-types: 2.2.0
+ pgpass: 1.0.5
+ optionalDependencies:
+ pg-cloudflare: 1.1.1
+
+ /pgpass@1.0.5:
+ resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==}
+ dependencies:
+ split2: 4.2.0
+
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ /pidtree@0.6.0:
+ resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
+ engines: {node: '>=0.10'}
+ hasBin: true
+ dev: true
+
+ /pify@2.3.0:
+ 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'}
+ dev: true
+
+ /pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+
+ /pkg-dir@3.0.0:
+ resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
+ engines: {node: '>=6'}
+ dependencies:
+ find-up: 3.0.0
+ dev: true
+
+ /pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ dev: true
+
+ /pkg-dir@5.0.0:
+ resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==}
+ engines: {node: '>=10'}
+ dependencies:
+ find-up: 5.0.0
+ dev: true
+
+ /pkg-dir@7.0.0:
+ resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
+ engines: {node: '>=14.16'}
+ dependencies:
+ find-up: 6.3.0
+ dev: true
+
+ /pluralize@8.0.0:
+ resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
+ engines: {node: '>=4'}
+
+ /pnp-webpack-plugin@1.7.0(typescript@5.2.2):
+ resolution: {integrity: sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==}
+ engines: {node: '>=6'}
+ dependencies:
+ ts-pnp: 1.2.0(typescript@5.2.2)
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /polished@4.2.2:
+ resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ dev: true
+
+ /postcss-import@15.1.0(postcss@8.4.31):
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ postcss: 8.4.31
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ /postcss-js@4.0.1(postcss@8.4.31):
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.31
+
+ /postcss-load-config@4.0.1(postcss@8.4.31)(ts-node@10.9.1):
+ resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+ dependencies:
+ lilconfig: 2.1.0
+ postcss: 8.4.31
+ ts-node: 10.9.1(@types/node@20.8.7)(typescript@5.2.2)
+ yaml: 2.3.3
+
+ /postcss-loader@7.3.3(postcss@8.4.31)(typescript@5.2.2)(webpack@5.89.0):
+ resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^5.0.0
+ dependencies:
+ cosmiconfig: 8.3.6(typescript@5.2.2)
+ jiti: 1.20.0
+ postcss: 8.4.31
+ semver: 7.5.4
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ transitivePeerDependencies:
+ - typescript
+ dev: true
+
+ /postcss-media-query-parser@0.2.3:
+ resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==}
+ dev: true
+
+ /postcss-modules-extract-imports@3.0.0(postcss@8.4.31):
+ resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-modules-local-by-default@4.0.3(postcss@8.4.31):
+ resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-modules-scope@3.0.0(postcss@8.4.31):
+ resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-modules-values@4.0.0(postcss@8.4.31):
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.31)
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-nested@6.0.1(postcss@8.4.31):
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+ dependencies:
+ postcss: 8.4.31
+ postcss-selector-parser: 6.0.13
+
+ /postcss-resolve-nested-selector@0.1.1:
+ resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==}
+ dev: true
+
+ /postcss-safe-parser@6.0.0(postcss@8.4.31):
+ resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.3.3
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-scss@4.0.9(postcss@8.4.31):
+ resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.4.29
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-selector-parser@6.0.13:
+ resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ /postcss-sorting@8.0.2(postcss@8.4.31):
+ resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==}
+ peerDependencies:
+ postcss: ^8.4.20
+ dependencies:
+ postcss: 8.4.31
+ dev: true
+
+ /postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ /postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.6
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+
+ /postgres-array@2.0.0:
+ resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
+ engines: {node: '>=4'}
+
+ /postgres-array@3.0.2:
+ resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==}
+ engines: {node: '>=12'}
+
+ /postgres-bytea@1.0.0:
+ resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
+ engines: {node: '>=0.10.0'}
+
+ /postgres-bytea@3.0.0:
+ resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==}
+ engines: {node: '>= 6'}
+ dependencies:
+ obuf: 1.1.2
+
+ /postgres-date@1.0.7:
+ resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
+ engines: {node: '>=0.10.0'}
+
+ /postgres-date@2.0.1:
+ resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==}
+ engines: {node: '>=12'}
+
+ /postgres-interval@1.2.0:
+ resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ xtend: 4.0.2
+
+ /postgres-interval@3.0.0:
+ resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==}
+ engines: {node: '>=12'}
+
+ /postgres-range@1.1.3:
+ resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==}
+
+ /postgres@3.4.0:
+ resolution: {integrity: sha512-d7UtSoCg4hUtzxM9aRi3J8BrM6t0h4bQmgAHG96cDCNpP9CnnWQRdRl7WWNvKs0oOaQU2InGoOi1jETmdZK02g==}
+ dev: false
+
+ /prebuild-install@7.1.1:
+ resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ detect-libc: 2.0.2
+ expand-template: 2.0.3
+ github-from-package: 0.0.0
+ minimist: 1.2.8
+ mkdirp-classic: 0.5.3
+ napi-build-utils: 1.0.2
+ node-abi: 3.51.0
+ pump: 3.0.0
+ rc: 1.2.8
+ simple-get: 4.0.1
+ tar-fs: 2.1.1
+ tunnel-agent: 0.6.0
+ dev: false
+
+ /prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /prettier-linter-helpers@1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ fast-diff: 1.3.0
+ dev: true
+
+ /prettier@2.8.8:
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dev: true
+
+ /prettier@3.0.3:
+ resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /pretty-error@4.0.0:
+ resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
+ dependencies:
+ lodash: 4.17.21
+ renderkid: 3.0.0
+ dev: true
+
+ /pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.6.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
+ dev: true
+
+ /pretty-hrtime@1.0.3:
+ resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
+ /process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+ dev: true
+
+ /progress@2.0.3:
+ resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /promise@7.3.1:
+ resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
+ dependencies:
+ asap: 2.0.6
+ dev: true
+
+ /prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+ dev: true
+
+ /prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+ dev: true
+
+ /proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
+ /proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+ dev: true
+
+ /prr@1.0.1:
+ resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /psl@1.9.0:
+ resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
+ dev: true
+
+ /public-encrypt@4.0.3:
+ resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
+ dependencies:
+ bn.js: 4.12.0
+ browserify-rsa: 4.1.0
+ create-hash: 1.2.0
+ parse-asn1: 5.1.6
+ randombytes: 2.1.0
+ safe-buffer: 5.2.1
+ dev: true
+
+ /pump@2.0.1:
+ resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+ dev: true
+
+ /pump@3.0.0:
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+
+ /pumpify@1.5.1:
+ resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==}
+ dependencies:
+ duplexify: 3.7.1
+ inherits: 2.0.4
+ pump: 2.0.1
+ dev: true
+
+ /punycode@1.4.1:
+ resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==}
+ dev: true
+
+ /punycode@2.3.0:
+ resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
+ engines: {node: '>=6'}
+
+ /puppeteer-core@2.1.1:
+ resolution: {integrity: sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==}
+ engines: {node: '>=8.16.0'}
+ dependencies:
+ '@types/mime-types': 2.1.3
+ debug: 4.3.4
+ extract-zip: 1.7.0
+ https-proxy-agent: 4.0.0
+ mime: 2.6.0
+ mime-types: 2.1.35
+ progress: 2.0.3
+ proxy-from-env: 1.1.0
+ rimraf: 2.7.1
+ ws: 6.2.2
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /pure-rand@6.0.4:
+ resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==}
+ dev: true
+
+ /pvtsutils@1.3.5:
+ resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /pvutils@1.1.3:
+ resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==}
+ engines: {node: '>=6.0.0'}
+ dev: true
+
+ /qs@6.11.0:
+ resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
+ engines: {node: '>=0.6'}
+ dependencies:
+ side-channel: 1.0.4
+
+ /qs@6.11.2:
+ resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==}
+ engines: {node: '>=0.6'}
+ dependencies:
+ side-channel: 1.0.4
+ dev: true
+
+ /querystring-es3@0.2.1:
+ resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==}
+ engines: {node: '>=0.4.x'}
+ dev: true
+
+ /querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ /queue-tick@1.0.1:
+ resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
+ dev: false
+
+ /queue@6.0.2:
+ resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
+ dependencies:
+ inherits: 2.0.4
+ dev: true
+
+ /quick-lru@5.1.1:
+ resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /ramda@0.29.0:
+ resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==}
+ dev: true
+
+ /randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+
+ /randomfill@1.0.4:
+ resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==}
+ dependencies:
+ randombytes: 2.1.0
+ safe-buffer: 5.2.1
+ dev: true
+
+ /range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ /raw-body@2.5.1:
+ resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
+ /raw-body@2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+ dev: false
+
+ /rc@1.2.8:
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
+ hasBin: true
+ dependencies:
+ deep-extend: 0.6.0
+ ini: 1.3.8
+ minimist: 1.2.8
+ strip-json-comments: 2.0.1
+ dev: false
+
+ /react-colorful@5.6.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /react-docgen-typescript@2.2.2(typescript@5.2.2):
+ resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==}
+ peerDependencies:
+ typescript: '>= 4.3.x'
+ dependencies:
+ typescript: 5.2.2
+ dev: true
+
+ /react-docgen@5.4.3:
+ resolution: {integrity: sha512-xlLJyOlnfr8lLEEeaDZ+X2J/KJoe6Nr9AzxnkdQWush5hz2ZSu66w6iLMOScMmxoSHWpWMn+k3v5ZiyCfcWsOA==}
+ engines: {node: '>=8.10.0'}
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.23.2
+ '@babel/generator': 7.23.0
+ '@babel/runtime': 7.23.2
+ ast-types: 0.14.2
+ commander: 2.20.3
+ doctrine: 3.0.0
+ estree-to-babel: 3.2.1
+ neo-async: 2.6.2
+ node-dir: 0.1.17
+ strip-indent: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /react-dom@18.2.0(react@18.2.0):
+ resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
+ peerDependencies:
+ react: ^18.2.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.23.0
+
+ /react-element-to-jsx-string@15.0.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==}
+ peerDependencies:
+ react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0
+ react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0
+ dependencies:
+ '@base2/pretty-print-object': 1.0.1
+ is-plain-object: 5.0.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-is: 18.1.0
+ dev: true
+
+ /react-icons@4.11.0(react@18.2.0):
+ resolution: {integrity: sha512-V+4khzYcE5EBk/BvcuYRq6V/osf11ODUM2J8hg2FDSswRrGvqiYUYPRy4OdrWaQOBj4NcpJfmHZLNaD+VH0TyA==}
+ peerDependencies:
+ react: '*'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /react-inspector@6.0.2(react@18.2.0):
+ resolution: {integrity: sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ==}
+ peerDependencies:
+ react: ^16.8.4 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: true
+
+ /react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ dev: true
+
+ /react-is@18.1.0:
+ resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==}
+ dev: true
+
+ /react-is@18.2.0:
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
+ dev: true
+
+ /react-refresh@0.11.0:
+ resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /react-remove-scroll-bar@2.3.4(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.31
+ react: 18.2.0
+ react-style-singleton: 2.2.1(@types/react@18.2.31)(react@18.2.0)
+ tslib: 2.6.2
+
+ /react-remove-scroll@2.5.5(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.31
+ react: 18.2.0
+ react-remove-scroll-bar: 2.3.4(@types/react@18.2.31)(react@18.2.0)
+ react-style-singleton: 2.2.1(@types/react@18.2.31)(react@18.2.0)
+ tslib: 2.6.2
+ use-callback-ref: 1.3.0(@types/react@18.2.31)(react@18.2.0)
+ use-sidecar: 1.1.2(@types/react@18.2.31)(react@18.2.0)
+
+ /react-resize-detector@7.1.2(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==}
+ peerDependencies:
+ react: ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ lodash: 4.17.21
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /react-style-singleton@2.2.1(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.31
+ get-nonce: 1.0.1
+ invariant: 2.2.4
+ react: 18.2.0
+ tslib: 2.6.2
+
+ /react@18.2.0:
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+
+ /read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+ dependencies:
+ pify: 2.3.0
+
+ /read-cmd-shim@4.0.0:
+ resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dev: true
+
+ /read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+ dev: true
+
+ /read-pkg-up@8.0.0:
+ resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ find-up: 5.0.0
+ read-pkg: 6.0.0
+ type-fest: 1.4.0
+ dev: true
+
+ /read-pkg@5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@types/normalize-package-data': 2.4.3
+ normalize-package-data: 2.5.0
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+ dev: true
+
+ /read-pkg@6.0.0:
+ resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@types/normalize-package-data': 2.4.3
+ normalize-package-data: 3.0.3
+ parse-json: 5.2.0
+ type-fest: 1.4.0
+ dev: true
+
+ /readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+
+ /readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ /readable-stream@4.4.2:
+ resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ abort-controller: 3.0.0
+ buffer: 6.0.3
+ events: 3.3.0
+ process: 0.11.10
+ string_decoder: 1.3.0
+ dev: true
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+
+ /recast@0.21.5:
+ resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==}
+ engines: {node: '>= 4'}
+ dependencies:
+ ast-types: 0.15.2
+ esprima: 4.0.1
+ source-map: 0.6.1
+ tslib: 2.6.2
+ dev: true
+
+ /recast@0.23.4:
+ resolution: {integrity: sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==}
+ engines: {node: '>= 4'}
+ dependencies:
+ assert: 2.1.0
+ ast-types: 0.16.1
+ esprima: 4.0.1
+ source-map: 0.6.1
+ tslib: 2.6.2
+ dev: true
+
+ /rechoir@0.6.2:
+ resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ resolve: 1.22.8
+ dev: false
+
+ /redent@4.0.0:
+ resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
+ engines: {node: '>=12'}
+ dependencies:
+ indent-string: 5.0.0
+ strip-indent: 4.0.0
+ dev: true
+
+ /reflect-metadata@0.1.13:
+ resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==}
+ dev: false
+
+ /reflect.getprototypeof@1.0.4:
+ resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ globalthis: 1.0.3
+ which-builtin-type: 1.1.3
+ dev: true
+
+ /regenerate-unicode-properties@10.1.1:
+ resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ dev: true
+
+ /regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ dev: true
+
+ /regenerator-runtime@0.14.0:
+ resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
+
+ /regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ dev: true
+
+ /regex-parser@2.2.11:
+ resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==}
+ dev: true
+
+ /regexp.prototype.flags@1.5.1:
+ resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ set-function-name: 2.0.1
+ dev: true
+
+ /regexpu-core@5.3.2:
+ resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ '@babel/regjsgen': 0.8.0
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.1.1
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.1.0
+ dev: true
+
+ /regjsparser@0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+ dev: true
+
+ /relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /relay-runtime@12.0.0:
+ resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==}
+ dependencies:
+ '@babel/runtime': 7.23.2
+ fbjs: 3.0.5
+ invariant: 2.2.4
+ transitivePeerDependencies:
+ - encoding
+ dev: true
+
+ /remark-external-links@8.0.0:
+ resolution: {integrity: sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==}
+ dependencies:
+ extend: 3.0.2
+ is-absolute-url: 3.0.3
+ mdast-util-definitions: 4.0.0
+ space-separated-tokens: 1.1.5
+ unist-util-visit: 2.0.3
+ dev: true
+
+ /remark-slug@6.1.0:
+ resolution: {integrity: sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==}
+ dependencies:
+ github-slugger: 1.5.0
+ mdast-util-to-string: 1.1.0
+ unist-util-visit: 2.0.3
+ dev: true
+
+ /remedial@1.0.8:
+ resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==}
+ dev: true
+
+ /remove-trailing-separator@1.1.0:
+ resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
+ dev: true
+
+ /remove-trailing-spaces@1.0.8:
+ resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==}
+ dev: true
+
+ /renderkid@3.0.0:
+ resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
+ dependencies:
+ css-select: 4.3.0
+ dom-converter: 0.2.0
+ htmlparser2: 6.1.0
+ lodash: 4.17.21
+ strip-ansi: 6.0.1
+ dev: true
+
+ /repeat-string@1.6.1:
+ resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
+ engines: {node: '>=0.10'}
+
+ /require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ /require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+ dev: true
+
+ /requireindex@1.2.0:
+ resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==}
+ engines: {node: '>=0.10.5'}
+ dev: true
+
+ /requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: true
+
+ /resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ resolve-from: 5.0.0
+ dev: true
+
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ /resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ dev: true
+
+ /resolve-url-loader@5.0.0:
+ resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==}
+ engines: {node: '>=12'}
+ dependencies:
+ adjust-sourcemap-loader: 4.0.0
+ convert-source-map: 1.9.0
+ loader-utils: 2.0.4
+ postcss: 8.4.31
+ source-map: 0.6.1
+ dev: true
+
+ /resolve.exports@2.0.2:
+ resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ /resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /restore-cursor@3.1.0:
+ resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
+ engines: {node: '>=8'}
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+
+ /restore-cursor@4.0.0:
+ resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ dev: true
+
+ /retry@0.13.1:
+ resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
+ engines: {node: '>= 4'}
+ dev: false
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ /rfdc@1.3.0:
+ resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
+ dev: true
+
+ /rimraf@2.6.3:
+ resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rimraf@2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ dev: true
+
+ /rimraf@4.4.1:
+ resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ glob: 9.3.5
+ dev: false
+
+ /rimraf@5.0.5:
+ resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ glob: 10.3.10
+ dev: true
+
+ /ripemd160@2.0.2:
+ resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==}
+ dependencies:
+ hash-base: 3.1.0
+ inherits: 2.0.4
+ dev: true
+
+ /run-applescript@5.0.0:
+ resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==}
+ engines: {node: '>=12'}
+ dependencies:
+ execa: 5.1.1
+ dev: true
+
+ /run-async@2.4.1:
+ resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
+ engines: {node: '>=0.12.0'}
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+
+ /rxjs@7.8.1:
+ resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
+ dependencies:
+ tslib: 2.6.2
+
+ /safe-array-concat@1.0.1:
+ resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: true
+
+ /safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ /safe-regex-test@1.0.0:
+ resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.1
+ is-regex: 1.1.4
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ /sass-loader@12.6.0(webpack@5.89.0):
+ resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ fibers: '>= 3.1.0'
+ node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+ sass: ^1.3.0
+ sass-embedded: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ fibers:
+ optional: true
+ node-sass:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ dependencies:
+ klona: 2.0.6
+ neo-async: 2.6.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /sass-loader@13.3.2(webpack@5.89.0):
+ resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ fibers: '>= 3.1.0'
+ node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
+ sass: ^1.3.0
+ sass-embedded: '*'
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ fibers:
+ optional: true
+ node-sass:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ dependencies:
+ neo-async: 2.6.2
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /sax@1.3.0:
+ resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /saxes@6.0.0:
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+ engines: {node: '>=v12.22.7'}
+ dependencies:
+ xmlchars: 2.2.0
+ dev: true
+
+ /scheduler@0.23.0:
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
+ dependencies:
+ loose-envify: 1.4.0
+
+ /schema-dts@1.1.2(typescript@5.2.2):
+ resolution: {integrity: sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==}
+ peerDependencies:
+ typescript: '>=4.1.0'
+ dependencies:
+ typescript: 5.2.2
+ dev: false
+
+ /schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.14
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ /schema-utils@4.2.0:
+ resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
+ engines: {node: '>= 12.13.0'}
+ dependencies:
+ '@types/json-schema': 7.0.14
+ ajv: 8.12.0
+ ajv-formats: 2.1.1(ajv@8.12.0)
+ ajv-keywords: 5.1.0(ajv@8.12.0)
+ dev: true
+
+ /scuid@1.1.0:
+ resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==}
+ dev: true
+
+ /semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+ dev: true
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ /semver@7.5.4:
+ resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
+ /send@0.18.0:
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ 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: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /sentence-case@3.0.4:
+ resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ upper-case-first: 2.0.2
+ dev: true
+
+ /serialize-javascript@6.0.1:
+ resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
+ dependencies:
+ randombytes: 2.1.0
+
+ /serve-static@1.15.0:
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+
+ /set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+ dev: true
+
+ /set-function-length@1.1.1:
+ resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ get-intrinsic: 1.2.1
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.0
+
+ /set-function-name@2.0.1:
+ resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.1
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.0
+ dev: true
+
+ /setimmediate@1.0.5:
+ resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+ dev: true
+
+ /setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+
+ /sha.js@2.4.11:
+ resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==}
+ hasBin: true
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
+ /shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+ dependencies:
+ kind-of: 6.0.3
+ dev: true
+
+ /sharp@0.32.6:
+ resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==}
+ engines: {node: '>=14.15.0'}
+ requiresBuild: true
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.2
+ node-addon-api: 6.1.0
+ prebuild-install: 7.1.1
+ semver: 7.5.4
+ simple-get: 4.0.1
+ tar-fs: 3.0.4
+ tunnel-agent: 0.6.0
+ dev: false
+
+ /shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+
+ /shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ /shell-quote@1.8.1:
+ resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ dev: true
+
+ /shelljs@0.8.5:
+ resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+ interpret: 1.4.0
+ rechoir: 0.6.2
+ dev: false
+
+ /side-channel@1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.1
+ object-inspect: 1.13.1
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ /signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /signedsource@1.0.0:
+ resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==}
+ dev: true
+
+ /simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
+ dev: false
+
+ /simple-get@4.0.1:
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
+ dependencies:
+ decompress-response: 6.0.0
+ once: 1.4.0
+ simple-concat: 1.0.1
+ dev: false
+
+ /simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+ dependencies:
+ is-arrayish: 0.3.2
+
+ /simple-update-notifier@2.0.0:
+ resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==}
+ engines: {node: '>=10'}
+ dependencies:
+ semver: 7.5.4
+ dev: true
+
+ /sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ dev: true
+
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /slice-ansi@3.0.0:
+ resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-styles: 4.3.0
+ astral-regex: 2.0.0
+ is-fullwidth-code-point: 3.0.0
+ dev: true
+
+ /slice-ansi@4.0.0:
+ resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ astral-regex: 2.0.0
+ is-fullwidth-code-point: 3.0.0
+ dev: true
+
+ /slice-ansi@5.0.0:
+ resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-styles: 6.2.1
+ is-fullwidth-code-point: 4.0.0
+ dev: true
+
+ /snake-case@3.0.4:
+ resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.6.2
+ dev: true
+
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map-support@0.5.13:
+ resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+ dev: true
+
+ /source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+
+ /space-separated-tokens@1.1.5:
+ resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
+ dev: true
+
+ /spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.16
+ dev: true
+
+ /spdx-exceptions@2.3.0:
+ resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
+ dev: true
+
+ /spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.16
+ dev: true
+
+ /spdx-license-ids@3.0.16:
+ resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
+ dev: true
+
+ /split2@4.2.0:
+ resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
+ engines: {node: '>= 10.x'}
+
+ /sponge-case@1.0.1:
+ resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ dev: true
+
+ /stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ escape-string-regexp: 2.0.0
+ dev: true
+
+ /stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+ dev: true
+
+ /statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
+ /store2@2.14.2:
+ resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==}
+ dev: true
+
+ /storybook@7.5.1:
+ resolution: {integrity: sha512-Wg3j3z5H03PYnEcmlnhf6bls0OtjmsNPsQ93dTV8F4AweqBECwzjf94Wj++NrP3X+WbfMoCbBU6LRFuEyzCCxw==}
+ hasBin: true
+ dependencies:
+ '@storybook/cli': 7.5.1
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+ dev: true
+
+ /stream-browserify@3.0.0:
+ resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==}
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ dev: true
+
+ /stream-http@3.2.0:
+ resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==}
+ dependencies:
+ builtin-status-codes: 3.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ xtend: 4.0.2
+ dev: true
+
+ /stream-shift@1.0.1:
+ resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==}
+ dev: true
+
+ /streamsearch@1.1.0:
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
+ engines: {node: '>=10.0.0'}
+
+ /streamx@2.15.1:
+ resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==}
+ dependencies:
+ fast-fifo: 1.3.2
+ queue-tick: 1.0.1
+ dev: false
+
+ /string-argv@0.3.2:
+ resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
+ engines: {node: '>=0.6.19'}
+ dev: true
+
+ /string-env-interpolation@1.0.1:
+ resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==}
+ dev: true
+
+ /string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ /string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+ dev: true
+
+ /string.prototype.matchall@4.0.10:
+ resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ regexp.prototype.flags: 1.5.1
+ set-function-name: 2.0.1
+ side-channel: 1.0.4
+ dev: true
+
+ /string.prototype.trim@1.2.8:
+ resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: true
+
+ /string.prototype.trimend@1.0.7:
+ resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: true
+
+ /string.prototype.trimstart@1.0.7:
+ resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ dependencies:
+ call-bind: 1.0.5
+ define-properties: 1.2.1
+ es-abstract: 1.22.2
+ dev: true
+
+ /string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+ dependencies:
+ safe-buffer: 5.1.2
+
+ /string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ dependencies:
+ safe-buffer: 5.2.1
+
+ /strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+
+ /strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-regex: 6.0.1
+ dev: true
+
+ /strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ /strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ /strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /strip-indent@4.0.0:
+ resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
+ engines: {node: '>=12'}
+ dependencies:
+ min-indent: 1.0.1
+ dev: true
+
+ /strip-json-comments@2.0.1:
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /style-loader@3.3.3(webpack@5.89.0):
+ resolution: {integrity: sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==}
+ engines: {node: '>= 12.13.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ dependencies:
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /style-search@0.1.0:
+ resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
+ dev: true
+
+ /styled-jsx@5.1.1(@babel/core@7.23.2)(react@18.2.0):
+ resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.2
+ client-only: 0.0.1
+ react: 18.2.0
+
+ /stylelint-config-prettier@9.0.5(stylelint@15.11.0):
+ resolution: {integrity: sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==}
+ engines: {node: '>= 12'}
+ hasBin: true
+ peerDependencies:
+ stylelint: '>= 11.x < 15'
+ dependencies:
+ stylelint: 15.11.0(typescript@5.2.2)
+ dev: true
+
+ /stylelint-config-recess-order@4.3.0(stylelint@15.11.0):
+ resolution: {integrity: sha512-EWVtxZ8oq4/meTrRNUDrS5TqMz6TX72JjKDwVQq0JJDXE+P/o7UuFw3wWV/0O9yvJfh/da6nJY71ZUn/wSfB4g==}
+ peerDependencies:
+ stylelint: '>=15'
+ dependencies:
+ stylelint: 15.11.0(typescript@5.2.2)
+ stylelint-order: 6.0.3(stylelint@15.11.0)
+ dev: true
+
+ /stylelint-config-recommended-scss@13.0.0(postcss@8.4.31)(stylelint@15.11.0):
+ resolution: {integrity: sha512-7AmMIsHTsuwUQm7I+DD5BGeIgCvqYZ4BpeYJJpb1cUXQwrJAKjA+GBotFZgUEGP8lAM+wmd91ovzOi8xfAyWEw==}
+ peerDependencies:
+ postcss: ^8.3.3
+ stylelint: ^15.10.0
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.31
+ postcss-scss: 4.0.9(postcss@8.4.31)
+ stylelint: 15.11.0(typescript@5.2.2)
+ stylelint-config-recommended: 13.0.0(stylelint@15.11.0)
+ stylelint-scss: 5.2.1(stylelint@15.11.0)
+ dev: true
+
+ /stylelint-config-recommended@13.0.0(stylelint@15.11.0):
+ resolution: {integrity: sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ stylelint: ^15.10.0
+ dependencies:
+ stylelint: 15.11.0(typescript@5.2.2)
+ dev: true
+
+ /stylelint-config-standard-scss@11.0.0(postcss@8.4.31)(stylelint@15.11.0):
+ resolution: {integrity: sha512-fGE79NBOLg09a9afqGH/guJulRULCaQWWv4cv1v2bMX92B+fGb0y56WqIguwvFcliPmmUXiAhKrrnXilIeXoHA==}
+ peerDependencies:
+ postcss: ^8.3.3
+ stylelint: ^15.10.0
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ dependencies:
+ postcss: 8.4.31
+ stylelint: 15.11.0(typescript@5.2.2)
+ stylelint-config-recommended-scss: 13.0.0(postcss@8.4.31)(stylelint@15.11.0)
+ stylelint-config-standard: 34.0.0(stylelint@15.11.0)
+ dev: true
+
+ /stylelint-config-standard@34.0.0(stylelint@15.11.0):
+ resolution: {integrity: sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ stylelint: ^15.10.0
+ dependencies:
+ stylelint: 15.11.0(typescript@5.2.2)
+ stylelint-config-recommended: 13.0.0(stylelint@15.11.0)
+ dev: true
+
+ /stylelint-order@6.0.3(stylelint@15.11.0):
+ resolution: {integrity: sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==}
+ peerDependencies:
+ stylelint: ^14.0.0 || ^15.0.0
+ dependencies:
+ postcss: 8.4.31
+ postcss-sorting: 8.0.2(postcss@8.4.31)
+ stylelint: 15.11.0(typescript@5.2.2)
+ dev: true
+
+ /stylelint-prettier@4.0.2(prettier@3.0.3)(stylelint@15.11.0):
+ resolution: {integrity: sha512-EoHnR2PiaWgpGtoI4VW7AzneMfwmwQsNwQ+3/E2k/a+ju5yO6rfPfop4vzPQKcJN4ZM1YbspEOPu88D8538sbg==}
+ engines: {node: ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ prettier: '>=3.0.0'
+ stylelint: '>=15.8.0'
+ dependencies:
+ prettier: 3.0.3
+ prettier-linter-helpers: 1.0.0
+ stylelint: 15.11.0(typescript@5.2.2)
+ dev: true
+
+ /stylelint-scss@5.2.1(stylelint@15.11.0):
+ resolution: {integrity: sha512-ZoTJUM85/qqpQHfEppjW/St//8s6p9Qsg8deWlYlr56F9iUgC9vXeIDQvH4odkRRJLTLFQzYMALSOFCQ3MDkgw==}
+ peerDependencies:
+ stylelint: ^14.5.1 || ^15.0.0
+ dependencies:
+ known-css-properties: 0.28.0
+ postcss-media-query-parser: 0.2.3
+ postcss-resolve-nested-selector: 0.1.1
+ postcss-selector-parser: 6.0.13
+ postcss-value-parser: 4.2.0
+ stylelint: 15.11.0(typescript@5.2.2)
+ dev: true
+
+ /stylelint@15.11.0(typescript@5.2.2):
+ resolution: {integrity: sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==}
+ engines: {node: ^14.13.1 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@csstools/css-parser-algorithms': 2.3.2(@csstools/css-tokenizer@2.2.1)
+ '@csstools/css-tokenizer': 2.2.1
+ '@csstools/media-query-list-parser': 2.1.5(@csstools/css-parser-algorithms@2.3.2)(@csstools/css-tokenizer@2.2.1)
+ '@csstools/selector-specificity': 3.0.0(postcss-selector-parser@6.0.13)
+ balanced-match: 2.0.0
+ colord: 2.9.3
+ cosmiconfig: 8.3.6(typescript@5.2.2)
+ css-functions-list: 3.2.1
+ css-tree: 2.3.1
+ debug: 4.3.4
+ fast-glob: 3.3.1
+ fastest-levenshtein: 1.0.16
+ file-entry-cache: 7.0.1
+ global-modules: 2.0.0
+ globby: 11.1.0
+ globjoin: 0.1.4
+ html-tags: 3.3.1
+ ignore: 5.2.4
+ import-lazy: 4.0.0
+ imurmurhash: 0.1.4
+ is-plain-object: 5.0.0
+ known-css-properties: 0.29.0
+ mathml-tag-names: 2.1.3
+ meow: 10.1.5
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-resolve-nested-selector: 0.1.1
+ postcss-safe-parser: 6.0.0(postcss@8.4.31)
+ postcss-selector-parser: 6.0.13
+ postcss-value-parser: 4.2.0
+ resolve-from: 5.0.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ style-search: 0.1.0
+ supports-hyperlinks: 3.0.0
+ svg-tags: 1.0.0
+ table: 6.8.1
+ write-file-atomic: 5.0.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /subscriptions-transport-ws@0.11.0(graphql@16.8.1):
+ resolution: {integrity: sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==}
+ deprecated: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md
+ peerDependencies:
+ graphql: ^15.7.2 || ^16.0.0
+ dependencies:
+ backo2: 1.0.2
+ eventemitter3: 3.1.2
+ graphql: 16.8.1
+ iterall: 1.3.0
+ symbol-observable: 1.2.0
+ ws: 7.5.9
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+ dev: false
+
+ /sucrase@3.34.0:
+ resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ commander: 4.1.1
+ glob: 7.1.6
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+
+ /supabase@1.106.1:
+ resolution: {integrity: sha512-Wc1GYraDRCRGZIkCPoN00QuSP//Cm2Q4q5B6LvEHb2dKoezO7Mx7SYZ5rhh3X0ko9Yii0ABeN2GE88ZVL9R5mg==}
+ engines: {npm: '>=8'}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ bin-links: 4.0.3
+ https-proxy-agent: 7.0.2
+ node-fetch: 3.3.2
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+
+ /supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ has-flag: 4.0.0
+
+ /supports-hyperlinks@3.0.0:
+ resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==}
+ engines: {node: '>=14.18'}
+ dependencies:
+ has-flag: 4.0.0
+ supports-color: 7.2.0
+ dev: true
+
+ /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==}
+ dev: true
+
+ /swap-case@2.0.2:
+ resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /swc-loader@0.2.3(@swc/core@1.3.93)(webpack@5.89.0):
+ resolution: {integrity: sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==}
+ peerDependencies:
+ '@swc/core': ^1.2.147
+ webpack: '>=2'
+ dependencies:
+ '@swc/core': 1.3.93
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /symbol-observable@1.2.0:
+ resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /symbol-observable@4.0.0:
+ resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==}
+ engines: {node: '>=0.10'}
+ dev: false
+
+ /symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+ dev: true
+
+ /synchronous-promise@2.0.17:
+ resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==}
+ dev: true
+
+ /synckit@0.8.5:
+ resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@pkgr/utils': 2.4.2
+ tslib: 2.6.2
+ dev: true
+
+ /table@6.8.1:
+ resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==}
+ engines: {node: '>=10.0.0'}
+ dependencies:
+ ajv: 8.12.0
+ lodash.truncate: 4.4.2
+ slice-ansi: 4.0.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /tailwind-merge@1.14.0:
+ resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==}
+ dev: false
+
+ /tailwind-variants@0.1.14(tailwindcss@3.3.3):
+ resolution: {integrity: sha512-qfOkSGP+cSolTTkJboldGmiM+w5uE77pazCRkwixEBsuaml9CmhN0E8qgH7QnZNmOTVSsgRK1tn/MsKOvOKVWA==}
+ engines: {node: '>=16.x', pnpm: '>=7.x'}
+ peerDependencies:
+ tailwindcss: '*'
+ dependencies:
+ tailwind-merge: 1.14.0
+ tailwindcss: 3.3.3(ts-node@10.9.1)
+ dev: false
+
+ /tailwindcss-animate@1.0.7(tailwindcss@3.3.3):
+ resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+ dependencies:
+ tailwindcss: 3.3.3(ts-node@10.9.1)
+ dev: true
+
+ /tailwindcss@3.3.3(ts-node@10.9.1):
+ resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.5.3
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.1
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.20.0
+ lilconfig: 2.1.0
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.31
+ postcss-import: 15.1.0(postcss@8.4.31)
+ postcss-js: 4.0.1(postcss@8.4.31)
+ postcss-load-config: 4.0.1(postcss@8.4.31)(ts-node@10.9.1)
+ postcss-nested: 6.0.1(postcss@8.4.31)
+ postcss-selector-parser: 6.0.13
+ resolve: 1.22.8
+ sucrase: 3.34.0
+ transitivePeerDependencies:
+ - ts-node
+
+ /tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ /tar-fs@2.1.1:
+ resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
+ dependencies:
+ chownr: 1.1.4
+ mkdirp-classic: 0.5.3
+ pump: 3.0.0
+ tar-stream: 2.2.0
+
+ /tar-fs@3.0.4:
+ resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==}
+ dependencies:
+ mkdirp-classic: 0.5.3
+ pump: 3.0.0
+ tar-stream: 3.1.6
+ dev: false
+
+ /tar-stream@2.2.0:
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ bl: 4.1.0
+ end-of-stream: 1.4.4
+ fs-constants: 1.0.0
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+
+ /tar-stream@3.1.6:
+ resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==}
+ dependencies:
+ b4a: 1.6.4
+ fast-fifo: 1.3.2
+ streamx: 2.15.1
+ dev: false
+
+ /tar@6.2.0:
+ resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ 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
+ dev: true
+
+ /telejson@7.2.0:
+ resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==}
+ dependencies:
+ memoizerific: 1.11.3
+ dev: true
+
+ /temp-dir@2.0.0:
+ resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /temp@0.8.4:
+ resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ rimraf: 2.6.3
+ dev: true
+
+ /tempy@1.0.1:
+ resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==}
+ engines: {node: '>=10'}
+ dependencies:
+ del: 6.1.1
+ is-stream: 2.0.1
+ temp-dir: 2.0.0
+ type-fest: 0.16.0
+ unique-string: 2.0.0
+ dev: true
+
+ /terser-webpack-plugin@5.3.9(@swc/core@1.3.93)(esbuild@0.18.20)(webpack@5.89.0):
+ resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
+ 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
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.20
+ '@swc/core': 1.3.93
+ esbuild: 0.18.20
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.1
+ terser: 5.22.0
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /terser-webpack-plugin@5.3.9(esbuild@0.18.20)(webpack@5.88.2):
+ resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
+ 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
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.20
+ esbuild: 0.18.20
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.1
+ terser: 5.22.0
+ webpack: 5.88.2(esbuild@0.18.20)
+ dev: false
+
+ /terser@5.22.0:
+ resolution: {integrity: sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.5
+ acorn: 8.10.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
+ /test-exclude@6.0.0:
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
+ dev: true
+
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
+
+ /thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+ dependencies:
+ thenify: 3.3.1
+
+ /thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ dependencies:
+ any-promise: 1.3.0
+
+ /through2@2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ dependencies:
+ readable-stream: 2.3.8
+ xtend: 4.0.2
+ dev: true
+
+ /through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+
+ /timers-browserify@2.0.12:
+ resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==}
+ engines: {node: '>=0.6.0'}
+ dependencies:
+ setimmediate: 1.0.5
+ dev: true
+
+ /timers-ext@0.1.7:
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
+ dependencies:
+ es5-ext: 0.10.62
+ next-tick: 1.1.0
+ dev: true
+
+ /tiny-invariant@1.3.1:
+ resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==}
+ dev: true
+
+ /title-case@3.0.3:
+ resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /titleize@3.0.0:
+ resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /tmp@0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+ dependencies:
+ os-tmpdir: 1.0.2
+
+ /tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+ dev: true
+
+ /to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+
+ /tocbot@4.21.2:
+ resolution: {integrity: sha512-R5Muhi/TUu4i4snWVrMgNoXyJm2f8sJfdgIkQvqb+cuIXQEIMAiWGWgCgYXHqX4+XiS/Bnm7IYZ9Zy6NVe6lhw==}
+ dev: true
+
+ /toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
+ /tough-cookie@4.1.3:
+ resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
+ engines: {node: '>=6'}
+ dependencies:
+ psl: 1.9.0
+ punycode: 2.3.0
+ universalify: 0.2.0
+ url-parse: 1.5.10
+ dev: true
+
+ /tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ /tr46@3.0.0:
+ resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
+ engines: {node: '>=12'}
+ dependencies:
+ punycode: 2.3.0
+ dev: true
+
+ /tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+ dev: false
+
+ /trim-newlines@4.1.1:
+ resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /ts-api-utils@1.0.3(typescript@5.2.2):
+ resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
+ engines: {node: '>=16.13.0'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.2.2
+ dev: true
+
+ /ts-dedent@2.2.0:
+ resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
+ engines: {node: '>=6.10'}
+ dev: true
+
+ /ts-essentials@9.4.1(typescript@5.2.2):
+ resolution: {integrity: sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ==}
+ peerDependencies:
+ typescript: '>=4.1.0'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 5.2.2
+ dev: true
+
+ /ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
+ /ts-jest@29.1.1(@babel/core@7.23.2)(jest@29.7.0)(typescript@5.2.2):
+ resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ hasBin: true
+ peerDependencies:
+ '@babel/core': '>=7.0.0-beta.0 <8'
+ '@jest/types': ^29.0.0
+ babel-jest: ^29.0.0
+ esbuild: '*'
+ jest: ^29.0.0
+ typescript: '>=4.3 <6'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@jest/types':
+ optional: true
+ babel-jest:
+ optional: true
+ esbuild:
+ optional: true
+ dependencies:
+ '@babel/core': 7.23.2
+ bs-logger: 0.2.6
+ fast-json-stable-stringify: 2.1.0
+ jest: 29.7.0(@types/node@20.8.7)(ts-node@10.9.1)
+ jest-util: 29.7.0
+ json5: 2.2.3
+ lodash.memoize: 4.1.2
+ make-error: 1.3.6
+ semver: 7.5.4
+ typescript: 5.2.2
+ yargs-parser: 21.1.1
+ dev: true
+
+ /ts-log@2.2.5:
+ resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==}
+ dev: true
+
+ /ts-node@10.9.1(@types/node@20.8.7)(typescript@5.2.2):
+ resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
+ hasBin: true
+ peerDependencies:
+ '@swc/core': '>=1.2.50'
+ '@swc/wasm': '>=1.2.50'
+ '@types/node': '*'
+ typescript: '>=2.7'
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ '@swc/wasm':
+ optional: true
+ dependencies:
+ '@cspotcode/source-map-support': 0.8.1
+ '@tsconfig/node10': 1.0.9
+ '@tsconfig/node12': 1.0.11
+ '@tsconfig/node14': 1.0.3
+ '@tsconfig/node16': 1.0.4
+ '@types/node': 20.8.7
+ acorn: 8.10.0
+ acorn-walk: 8.2.0
+ arg: 4.1.3
+ create-require: 1.1.1
+ diff: 4.0.2
+ make-error: 1.3.6
+ typescript: 5.2.2
+ v8-compile-cache-lib: 3.0.1
+ yn: 3.1.1
+
+ /ts-pattern@5.0.5:
+ resolution: {integrity: sha512-tL0w8U/pgaacOmkb9fRlYzWEUDCfVjjv9dD4wHTgZ61MjhuMt46VNWTG747NqW6vRzoWIKABVhFSOJ82FvXrfA==}
+ dev: false
+
+ /ts-pnp@1.2.0(typescript@5.2.2):
+ resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 5.2.2
+ dev: true
+
+ /tsconfig-paths-webpack-plugin@4.1.0:
+ resolution: {integrity: sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ chalk: 4.1.2
+ enhanced-resolve: 5.15.0
+ tsconfig-paths: 4.2.0
+
+ /tsconfig-paths@3.14.2:
+ resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.2
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+ dev: true
+
+ /tsconfig-paths@4.2.0:
+ resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
+ engines: {node: '>=6'}
+ dependencies:
+ json5: 2.2.3
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+
+ /tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ dev: true
+
+ /tslib@2.4.1:
+ resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
+ dev: true
+
+ /tslib@2.5.3:
+ resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
+ dev: true
+
+ /tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ /tsutils@3.21.0(typescript@5.2.2):
+ resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
+ engines: {node: '>= 6'}
+ peerDependencies:
+ typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+ dependencies:
+ tslib: 1.14.1
+ typescript: 5.2.2
+ dev: true
+
+ /tty-browserify@0.0.1:
+ resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==}
+ dev: true
+
+ /tunnel-agent@0.6.0:
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
+ /tunnel@0.0.6:
+ resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
+ engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
+ dev: true
+
+ /turbo-darwin-64@1.10.16:
+ resolution: {integrity: sha512-+Jk91FNcp9e9NCLYlvDDlp2HwEDp14F9N42IoW3dmHI5ZkGSXzalbhVcrx3DOox3QfiNUHxzWg4d7CnVNCuuMg==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /turbo-darwin-arm64@1.10.16:
+ resolution: {integrity: sha512-jqGpFZipIivkRp/i+jnL8npX0VssE6IAVNKtu573LXtssZdV/S+fRGYA16tI46xJGxSAivrZ/IcgZrV6Jk80bw==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /turbo-linux-64@1.10.16:
+ resolution: {integrity: sha512-PpqEZHwLoizQ6sTUvmImcRmACyRk9EWLXGlqceogPZsJ1jTRK3sfcF9fC2W56zkSIzuLEP07k5kl+ZxJd8JMcg==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /turbo-linux-arm64@1.10.16:
+ resolution: {integrity: sha512-TMjFYz8to1QE0fKVXCIvG/4giyfnmqcQIwjdNfJvKjBxn22PpbjeuFuQ5kNXshUTRaTJihFbuuCcb5OYFNx4uw==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /turbo-windows-64@1.10.16:
+ resolution: {integrity: sha512-+jsf68krs0N66FfC4/zZvioUap/Tq3sPFumnMV+EBo8jFdqs4yehd6+MxIwYTjSQLIcpH8KoNMB0gQYhJRLZzw==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /turbo-windows-arm64@1.10.16:
+ resolution: {integrity: sha512-sKm3hcMM1bl0B3PLG4ifidicOGfoJmOEacM5JtgBkYM48ncMHjkHfFY7HrJHZHUnXM4l05RQTpLFoOl/uIo2HQ==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /turbo@1.10.16:
+ resolution: {integrity: sha512-2CEaK4FIuSZiP83iFa9GqMTQhroW2QryckVqUydmg4tx78baftTOS0O+oDAhvo9r9Nit4xUEtC1RAHoqs6ZEtg==}
+ hasBin: true
+ optionalDependencies:
+ turbo-darwin-64: 1.10.16
+ turbo-darwin-arm64: 1.10.16
+ turbo-linux-64: 1.10.16
+ turbo-linux-arm64: 1.10.16
+ turbo-windows-64: 1.10.16
+ turbo-windows-arm64: 1.10.16
+ dev: true
+
+ /tw-colors@3.0.3(tailwindcss@3.3.3):
+ resolution: {integrity: sha512-R/PK1W0Df8+uZRgpFbceqTDUnn8H/n36I9spt4pY/GTGG1RchEIi4QCNmFYfEtDdB6w7lDLI0q5qXTar6HrEZA==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0'
+ dependencies:
+ color: 4.2.3
+ flat: 5.0.2
+ lodash.foreach: 4.5.0
+ tailwindcss: 3.3.3(ts-node@10.9.1)
+ dev: true
+
+ /type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
+ /type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /type-fest@0.16.0:
+ resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /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'}
+ dev: true
+
+ /type-fest@0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /type-fest@1.4.0:
+ resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+ dev: true
+
+ /type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
+ /type@1.2.0:
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
+ dev: true
+
+ /type@2.7.2:
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
+ dev: true
+
+ /typed-array-buffer@1.0.0:
+ resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ get-intrinsic: 1.2.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-length@1.0.0:
+ resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-byte-offset@1.0.0:
+ resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typed-array-length@1.0.4:
+ resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ dependencies:
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ is-typed-array: 1.1.12
+ dev: true
+
+ /typedarray@0.0.6:
+ resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+
+ /typescript@5.2.2:
+ resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ /ua-parser-js@1.0.36:
+ resolution: {integrity: sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==}
+ dev: true
+
+ /uglify-js@3.17.4:
+ resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /uid@2.0.2:
+ resolution: {integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@lukeed/csprng': 1.1.0
+ dev: false
+
+ /unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.5
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /unc-path-regex@0.1.2:
+ resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /undici-types@5.25.3:
+ resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==}
+
+ /unicode-canonical-property-names-ecmascript@2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.1.0
+ dev: true
+
+ /unicode-match-property-value-ecmascript@2.1.0:
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unique-string@2.0.0:
+ resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
+ engines: {node: '>=8'}
+ dependencies:
+ crypto-random-string: 2.0.0
+ dev: true
+
+ /unist-util-is@4.1.0:
+ resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
+ dev: true
+
+ /unist-util-visit-parents@3.1.1:
+ resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
+ dependencies:
+ '@types/unist': 2.0.9
+ unist-util-is: 4.1.0
+ dev: true
+
+ /unist-util-visit@2.0.3:
+ resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
+ dependencies:
+ '@types/unist': 2.0.9
+ unist-util-is: 4.1.0
+ unist-util-visit-parents: 3.1.1
+ dev: true
+
+ /universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+ dev: true
+
+ /universalify@2.0.0:
+ resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
+ engines: {node: '>= 10.0.0'}
+
+ /unixify@1.0.0:
+ resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ normalize-path: 2.1.1
+ dev: true
+
+ /unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+
+ /unplugin@1.5.0:
+ resolution: {integrity: sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==}
+ dependencies:
+ acorn: 8.10.0
+ chokidar: 3.5.3
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.5.0
+ dev: true
+
+ /untildify@4.0.0:
+ resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /update-browserslist-db@1.0.13(browserslist@4.22.1):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.1
+ escalade: 3.1.1
+ picocolors: 1.0.0
+
+ /upper-case-first@2.0.2:
+ resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /upper-case@2.0.2:
+ resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==}
+ dependencies:
+ tslib: 2.6.2
+ dev: true
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.0
+
+ /url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+ dev: true
+
+ /url@0.11.3:
+ resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==}
+ dependencies:
+ punycode: 1.4.1
+ qs: 6.11.2
+ dev: true
+
+ /urlpattern-polyfill@8.0.2:
+ resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==}
+ dev: true
+
+ /urlpattern-polyfill@9.0.0:
+ resolution: {integrity: sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==}
+ dev: true
+
+ /urql-custom-scalars-exchange@1.0.1(@urql/core@4.1.4)(graphql@16.8.1)(wonka@6.3.4):
+ resolution: {integrity: sha512-NSxUaw1ZWu72iJ/t4qy6hbm33HKthIglLl8JzHEtEQgE1ICxl5kXmzmZWL5ycxlNRgCOvU2nqzrplIhBo7q3UQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ '@urql/core': ^1.12.3 || ^2.0.0 || ^3.0.0
+ graphql: ^15.3.0 || ^16.0.0
+ wonka: ^4.0.14 || ^6.0.0
+ dependencies:
+ '@urql/core': 4.1.4(graphql@16.8.1)
+ graphql: 16.8.1
+ wonka: 6.3.4
+ dev: false
+
+ /urql@4.0.5(graphql@16.8.1)(react@18.2.0):
+ resolution: {integrity: sha512-VicPBQXWicSbE+0oPzU2HMyDa//76FmwyQ7LayaYQxX97nhvMLs2ZWQdUmEzQQqvmw4YFaI0wPz1Qisp+PrZIQ==}
+ peerDependencies:
+ react: '>= 16.8.0'
+ dependencies:
+ '@urql/core': 4.1.4(graphql@16.8.1)
+ react: 18.2.0
+ wonka: 6.3.4
+ transitivePeerDependencies:
+ - graphql
+ dev: false
+
+ /use-callback-ref@1.3.0(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.31
+ react: 18.2.0
+ tslib: 2.6.2
+
+ /use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==}
+ peerDependencies:
+ react: 16.8.0 - 18
+ react-dom: 16.8.0 - 18
+ dependencies:
+ '@juggle/resize-observer': 3.4.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: true
+
+ /use-sidecar@1.1.2(@types/react@18.2.31)(react@18.2.0):
+ resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.31
+ detect-node-es: 1.1.0
+ react: 18.2.0
+ tslib: 2.6.2
+
+ /util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ /util@0.12.5:
+ resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
+ dependencies:
+ inherits: 2.0.4
+ is-arguments: 1.1.1
+ is-generator-function: 1.0.10
+ is-typed-array: 1.1.12
+ which-typed-array: 1.1.13
+ dev: true
+
+ /utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+ dev: true
+
+ /utils-merge@1.0.1:
+ resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
+ engines: {node: '>= 0.4.0'}
+
+ /uuid@9.0.0:
+ resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==}
+ hasBin: true
+ dev: false
+
+ /uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+
+ /v8-compile-cache-lib@3.0.1:
+ resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
+
+ /v8-to-istanbul@9.1.3:
+ resolution: {integrity: sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==}
+ engines: {node: '>=10.12.0'}
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.20
+ '@types/istanbul-lib-coverage': 2.0.5
+ convert-source-map: 2.0.0
+ dev: true
+
+ /validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+ dev: true
+
+ /validator@13.11.0:
+ resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==}
+ engines: {node: '>= 0.10'}
+ dev: false
+
+ /value-or-promise@1.0.12:
+ resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==}
+ engines: {node: '>=12'}
+
+ /vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
+ /vm-browserify@1.1.2:
+ resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
+ dev: true
+
+ /vscode-json-languageservice@4.2.1:
+ resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==}
+ dependencies:
+ jsonc-parser: 3.2.0
+ vscode-languageserver-textdocument: 1.0.11
+ vscode-languageserver-types: 3.17.5
+ vscode-nls: 5.2.0
+ vscode-uri: 3.0.8
+ dev: true
+
+ /vscode-languageserver-textdocument@1.0.11:
+ resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==}
+ dev: true
+
+ /vscode-languageserver-types@3.17.5:
+ resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
+ dev: true
+
+ /vscode-nls@5.2.0:
+ resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==}
+ dev: true
+
+ /vscode-uri@3.0.8:
+ resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
+ dev: true
+
+ /w3c-xmlserializer@4.0.0:
+ resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
+ engines: {node: '>=14'}
+ dependencies:
+ xml-name-validator: 4.0.0
+ dev: true
+
+ /walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+ dependencies:
+ makeerror: 1.0.12
+ dev: true
+
+ /warning@4.0.3:
+ resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /watchpack@2.4.0:
+ resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+
+ /wcwidth@1.0.1:
+ resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ dependencies:
+ defaults: 1.0.4
+
+ /web-streams-polyfill@3.2.1:
+ resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /webcrypto-core@1.7.7:
+ resolution: {integrity: sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==}
+ dependencies:
+ '@peculiar/asn1-schema': 2.3.8
+ '@peculiar/json-schema': 1.1.12
+ asn1js: 3.0.5
+ pvtsutils: 1.3.5
+ tslib: 2.6.2
+ dev: true
+
+ /webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ /webidl-conversions@7.0.0:
+ resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /webpack-dev-middleware@6.1.1(webpack@5.89.0):
+ resolution: {integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==}
+ engines: {node: '>= 14.15.0'}
+ peerDependencies:
+ webpack: ^5.0.0
+ peerDependenciesMeta:
+ webpack:
+ optional: true
+ dependencies:
+ colorette: 2.0.20
+ memfs: 3.5.3
+ mime-types: 2.1.35
+ range-parser: 1.2.1
+ schema-utils: 4.2.0
+ webpack: 5.89.0(@swc/core@1.3.93)(esbuild@0.18.20)
+ dev: true
+
+ /webpack-hot-middleware@2.25.4:
+ resolution: {integrity: sha512-IRmTspuHM06aZh98OhBJtqLpeWFM8FXJS5UYpKYxCJzyFoyWj1w6VGFfomZU7OPA55dMLrQK0pRT1eQ3PACr4w==}
+ dependencies:
+ ansi-html-community: 0.0.8
+ html-entities: 2.4.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /webpack-node-externals@3.0.0:
+ resolution: {integrity: sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+
+ /webpack-virtual-modules@0.5.0:
+ resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+ dev: true
+
+ /webpack@5.88.2(esbuild@0.18.20):
+ resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/eslint-scope': 3.7.6
+ '@types/estree': 1.0.3
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/wasm-edit': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ acorn: 8.10.0
+ acorn-import-assertions: 1.9.0(acorn@8.10.0)
+ browserslist: 4.22.1
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.15.0
+ es-module-lexer: 1.3.1
+ 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.1
+ terser-webpack-plugin: 5.3.9(esbuild@0.18.20)(webpack@5.88.2)
+ watchpack: 2.4.0
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: false
+
+ /webpack@5.89.0(@swc/core@1.3.93)(esbuild@0.18.20):
+ resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/eslint-scope': 3.7.6
+ '@types/estree': 1.0.3
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/wasm-edit': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ acorn: 8.10.0
+ acorn-import-assertions: 1.9.0(acorn@8.10.0)
+ browserslist: 4.22.1
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.15.0
+ es-module-lexer: 1.3.1
+ 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.1
+ terser-webpack-plugin: 5.3.9(@swc/core@1.3.93)(esbuild@0.18.20)(webpack@5.89.0)
+ watchpack: 2.4.0
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: true
+
+ /whatwg-encoding@2.0.0:
+ resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
+ engines: {node: '>=12'}
+ dependencies:
+ iconv-lite: 0.6.3
+ dev: true
+
+ /whatwg-mimetype@3.0.0:
+ resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
+ engines: {node: '>=12'}
+
+ /whatwg-url@11.0.0:
+ resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ tr46: 3.0.0
+ webidl-conversions: 7.0.0
+ dev: true
+
+ /whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ /which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which-builtin-type@1.1.3:
+ resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function.prototype.name: 1.1.6
+ has-tostringtag: 1.0.0
+ is-async-function: 2.0.0
+ is-date-object: 1.0.5
+ is-finalizationregistry: 1.0.2
+ is-generator-function: 1.0.10
+ is-regex: 1.1.4
+ is-weakref: 1.0.2
+ isarray: 2.0.5
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.1
+ which-typed-array: 1.1.13
+ dev: true
+
+ /which-collection@1.0.1:
+ resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
+ dependencies:
+ is-map: 2.0.2
+ is-set: 2.0.2
+ is-weakmap: 2.0.1
+ is-weakset: 2.0.2
+ dev: true
+
+ /which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+ dev: true
+
+ /which-typed-array@1.1.13:
+ resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.5
+ call-bind: 1.0.5
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+
+ /windows-release@4.0.0:
+ resolution: {integrity: sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==}
+ engines: {node: '>=10'}
+ dependencies:
+ execa: 4.1.0
+ dev: false
+
+ /wonka@6.3.4:
+ resolution: {integrity: sha512-CjpbqNtBGNAeyNS/9W6q3kSkKE52+FjIj7AkFlLr11s/VWGUu6a2CdYSdGxocIhIVjaW/zchesBQUKPVU69Cqg==}
+ dev: false
+
+ /wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+ dev: true
+
+ /wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ /wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ /wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+ dev: true
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ /write-file-atomic@2.4.3:
+ resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
+ dependencies:
+ graceful-fs: 4.2.11
+ imurmurhash: 0.1.4
+ signal-exit: 3.0.7
+ dev: true
+
+ /write-file-atomic@4.0.2:
+ resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
+ engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
+ dependencies:
+ imurmurhash: 0.1.4
+ signal-exit: 3.0.7
+ dev: true
+
+ /write-file-atomic@5.0.1:
+ resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ dependencies:
+ imurmurhash: 0.1.4
+ signal-exit: 4.1.0
+ dev: true
+
+ /ws@6.2.2:
+ resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dependencies:
+ async-limiter: 1.0.1
+ dev: true
+
+ /ws@7.5.9:
+ resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: false
+
+ /ws@8.13.0:
+ resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: false
+
+ /ws@8.14.2:
+ resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ dev: true
+
+ /xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+ dev: true
+
+ /xss@1.0.14:
+ resolution: {integrity: sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==}
+ engines: {node: '>= 0.10.0'}
+ hasBin: true
+ dependencies:
+ commander: 2.20.3
+ cssfilter: 0.0.10
+ dev: false
+
+ /xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
+ /y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+ dev: true
+
+ /y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ /yaml-ast-parser@0.0.43:
+ resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==}
+ dev: true
+
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ /yaml@2.3.3:
+ resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==}
+ engines: {node: '>= 14'}
+
+ /yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+ dev: true
+
+ /yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ /yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+ dev: true
+
+ /yargs@16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
+ engines: {node: '>=10'}
+ dependencies:
+ cliui: 7.0.4
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 20.2.9
+ dev: true
+
+ /yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ dev: true
+
+ /yauzl@2.10.0:
+ resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+ dev: true
+
+ /yn@3.1.1:
+ resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
+ engines: {node: '>=6'}
+
+ /yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
+ dev: true
+
+ /zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+ dev: true
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..8b80dbf
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,4 @@
+packages:
+ - "apps/*"
+ - "packages/*"
+ - "packages/eslint/*"
diff --git a/renovate.json b/renovate.json
new file mode 100644
index 0000000..974d3f3
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,13 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+ "extends": ["config:base", ":prHourlyLimitNone", ":timezone(Asia/Tokyo)"],
+ "dependencyDashboard": true,
+ "labels": ["๐ฆ๏ธ build", "๐ค renovate"],
+ "packageRules": [
+ {
+ "groupName": "all non-major dependencies",
+ "matchUpdateTypes": ["minor", "patch", "pin", "digest"],
+ "automerge": true
+ }
+ ]
+}
diff --git a/supabase/.gitignore b/supabase/.gitignore
new file mode 100644
index 0000000..bd1a0d7
--- /dev/null
+++ b/supabase/.gitignore
@@ -0,0 +1,3 @@
+# supabase
+.branches/
+.temp/
diff --git a/supabase/config.toml b/supabase/config.toml
new file mode 100644
index 0000000..09f2a98
--- /dev/null
+++ b/supabase/config.toml
@@ -0,0 +1,54 @@
+project_id = "supabase-lockerai"
+
+[api]
+enabled = true
+port = 54321
+schemas = ["public", "storage", "graphql_public"]
+extra_search_path = ["public", "extensions"]
+max_rows = 1000
+
+[db]
+port = 54322
+shadow_port = 54320
+major_version = 15
+
+[db.pooler]
+enabled = true
+port = 54329
+pool_mode = "transaction"
+default_pool_size = 20
+max_client_conn = 100
+
+[realtime]
+enabled = true
+ip_version = "IPv6"
+
+[studio]
+enabled = true
+port = 54323
+api_url = "http://localhost"
+
+[storage]
+enabled = true
+file_size_limit = "50MiB"
+
+[auth]
+enabled = true
+site_url = "http://localhost:3000"
+additional_redirect_urls = ["https://localhost:3000"]
+jwt_expiry = 3600
+enable_refresh_token_rotation = true
+refresh_token_reuse_interval = 10
+enable_signup = true
+
+[auth.external.google]
+enabled = true
+client_id = "env(SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID)"
+secret = "env(SUPABASE_AUTH_EXTERNAL_GOOGLE_SECRET)"
+url = "env(SUPABASE_AUTH_EXTERNAL_GOOGLE_URL)"
+
+[analytics]
+enabled = true
+port = 54327
+vector_port = 54328
+backend = "postgres"
diff --git a/turbo.json b/turbo.json
new file mode 100644
index 0000000..1449854
--- /dev/null
+++ b/turbo.json
@@ -0,0 +1,22 @@
+{
+ "$schema": "https://turbo.build/schema.json",
+ "pipeline": {
+ "generate": {},
+ "lint": {
+ "dependsOn": ["^generate", "generate"]
+ },
+ "fmt": {
+ "dependsOn": ["^generate", "generate"]
+ },
+ "style": {
+ "dependsOn": ["^generate", "generate"]
+ },
+ "build": {
+ "dependsOn": ["^generate", "generate", "^build"],
+ "outputs": [".next/**", "dist/**"]
+ },
+ "test": {
+ "dependsOn": ["^build", "build"]
+ }
+ }
+}