diff --git a/.github/workflows/integration-tests-api.yml b/.github/workflows/integration-tests-api.yml
index baac7950..baa5faaf 100644
--- a/.github/workflows/integration-tests-api.yml
+++ b/.github/workflows/integration-tests-api.yml
@@ -55,7 +55,7 @@ jobs:
DOMINO_GITHUB_ACCESS_TOKEN_WORKFLOWS: ${{ secrets.TESTS_GITHUB_WORKFLOWS_TOKEN }}
DOMINO_GITHUB_WORKFLOWS_REPOSITORY: ${{secrets.TESTS_WORKFLOWS_REPOSITORY}}
run: pytest --cov=rest --cov-report=xml --cov-report=term-missing rest/tests/ -v -s
-
+
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
diff --git a/.github/workflows/release-airflow-images-dev.yaml b/.github/workflows/release-airflow-images-dev.yaml
index c50cf682..a11bd6c0 100644
--- a/.github/workflows/release-airflow-images-dev.yaml
+++ b/.github/workflows/release-airflow-images-dev.yaml
@@ -33,7 +33,7 @@ jobs:
push: true
tags: ghcr.io/tauffer-consulting/domino-airflow-base:latest-dev
context: .
- file: Dockerfile-airflow-domino.dev
+ file: Dockerfile-airflow-domino.dev
domino-base-piece:
name: Domino Base Piece Image
diff --git a/.github/workflows/release-airflow-images.yaml b/.github/workflows/release-airflow-images.yaml
index 65ef2225..02529390 100644
--- a/.github/workflows/release-airflow-images.yaml
+++ b/.github/workflows/release-airflow-images.yaml
@@ -5,21 +5,19 @@ on:
branches:
- main
paths:
- - src/domino/**
- Dockerfile-airflow-domino.prod
- Dockerfile-domino-piece.gpu-prod
- Dockerfile-domino-piece.prod
- # workflow_run:
- # workflows:
- # - "Build and publish domino-py package"
- # branches:
- # - main
- # types:
- # - completed
+ workflow_run:
+ workflows: ["Build and publish domino-py package"]
+ branches: [main]
+ types:
+ - completed
+ paths:
+ - src/domino/**
jobs:
domino-airflow-base:
- #if: ${{ github.event.workflow_run.conclusion == 'success' }}
name: Domino Airflow Base Image
runs-on: ubuntu-latest
steps:
@@ -44,7 +42,6 @@ jobs:
file: Dockerfile-airflow-domino.prod
domino-base-piece:
- #if: ${{ github.event.workflow_run.conclusion == 'success' }}
name: Domino Base Piece Image
runs-on: ubuntu-latest
steps:
@@ -69,7 +66,6 @@ jobs:
file: Dockerfile-domino-piece.prod
domino-base-piece-gpu:
- #if: ${{ github.event.workflow_run.conclusion == 'success' }}
name: Domino Base Piece GPU Image
runs-on: ubuntu-latest
steps:
@@ -94,7 +90,6 @@ jobs:
file: Dockerfile-domino-piece.gpu-prod
domino-storage-sidecar:
- #if: ${{ github.event.workflow_run.conclusion == 'success' }}
name: Domino Storage Sidecar Image
runs-on: ubuntu-latest
steps:
diff --git a/.gitignore b/.gitignore
index d9937602..88290ff2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,13 +3,14 @@ pieces_repository_test/*
airflow/*
domino_data/*
+.vscode/*
+
**/**.pyc
**/**.swn
**/**.swl
**/**.swp
**/**.swo
**/**.swm
-.vscode
**/__pycache__/**
.python-version
**/ENV/**
diff --git a/README.md b/README.md
index 7a3ad52d..0d5822c4 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
Build amazing ideas, piece by piece.
diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml
index 370d20e9..7e0a2d38 100644
--- a/docker-compose-dev.yaml
+++ b/docker-compose-dev.yaml
@@ -360,14 +360,15 @@ services:
context: ./frontend
dockerfile: Dockerfile.dev
container_name: domino-frontend
- command: yarn start
+ command: pnpm debug
environment:
- DOMINO_DEPLOY_MODE=local-compose
- API_URL=http://localhost:8000
ports:
- 3000:3000
+ - 9222:9222 # Expose debug port
volumes:
- - ./frontend:/usr/src/app # Enable hot reload for frontend
+ - ./frontend:/usr/src/app
- /usr/src/app/node_modules
depends_on:
domino_rest:
diff --git a/frontend/Dockerfile.dev b/frontend/Dockerfile.dev
index 2bc9cf85..38117907 100644
--- a/frontend/Dockerfile.dev
+++ b/frontend/Dockerfile.dev
@@ -1,14 +1,25 @@
+# Install pnpm
+FROM node:18-alpine as base
+ENV PNPM_HOME="/pnpm"
+ENV PATH="$PNPM_HOME:$PATH"
+RUN corepack enable
+
# Build Stage
-FROM node:18-alpine as build
+FROM base as build
+WORKDIR /usr/src/app
+COPY package.json pnpm-lock.yaml ./
+RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
+
+# Debug Stage
+FROM base as debug
WORKDIR /usr/src/app
-COPY package.json yarn.lock ./
-RUN yarn install --frozen-lockfile
+EXPOSE 9222
# Final Stage
-FROM node:18-alpine
+FROM base
WORKDIR /usr/src/app
COPY --from=build /usr/src/app/node_modules ./node_modules
COPY . .
RUN chmod -R 777 node_modules/
USER node
-CMD ["yarn", "start"]
+CMD ["pnpm", "run", "debug"]
diff --git a/frontend/Dockerfile.prod b/frontend/Dockerfile.prod
index 470efe6c..5bb5a767 100644
--- a/frontend/Dockerfile.prod
+++ b/frontend/Dockerfile.prod
@@ -1,14 +1,16 @@
# Stage 1: Build the React app
FROM node:18-slim as build
-
+ENV PNPM_HOME="/pnpm"
+ENV PATH="$PNPM_HOME:$PATH"
+RUN corepack enable
# Set the working directory
WORKDIR /app
# Copy package.json and yarn.lock files
-COPY package.json yarn.lock ./
+COPY package.json pnpm-lock.yaml ./
# Install dependencies
-RUN yarn install --production --frozen-lockfile && yarn cache clean
+RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
RUN npx pkg ./node_modules/@import-meta-env/cli/bin/import-meta-env.js \
-o import-meta-env -y
@@ -17,7 +19,7 @@ RUN npx pkg ./node_modules/@import-meta-env/cli/bin/import-meta-env.js \
COPY . .
# Build the app for production
-RUN yarn build
+RUN pnpm run build
# Stage 2: Create a minimal NGINX image
FROM nginx:1.25.2
diff --git a/frontend/README.md b/frontend/README.md
index 4a845002..23a68bf9 100644
--- a/frontend/README.md
+++ b/frontend/README.md
@@ -3,7 +3,7 @@
### Recommended
This config allow you to ensure code style every time you save a file in frontend folder,
-alternatively you can just run the command `yarn lint:fix`
+alternatively you can just run the command `pnpm run lint:fix`
- [ESlint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
- Add to settings.json ([Ctrl + Shift + P] to open 'Open Settings (JSON)')
@@ -29,13 +29,13 @@ alternatively you can just run the command `yarn lint:fix`
#### Install dependencies
```bash
-yarn install
+pnpm install
```
#### Run the application
Running Domino frontend locally:
```bash
-yarn start
+pnpm start
```
### Build image
diff --git a/frontend/fonts/OFL.txt b/frontend/fonts/OFL.txt
new file mode 100644
index 00000000..03ff1baa
--- /dev/null
+++ b/frontend/fonts/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2022 The Rethink Sans Project Authors (https://github.com/hans-thiessen/Rethink-Sans)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/frontend/fonts/README.txt b/frontend/fonts/README.txt
new file mode 100644
index 00000000..30965d7e
--- /dev/null
+++ b/frontend/fonts/README.txt
@@ -0,0 +1,73 @@
+Rethink Sans Variable Font
+==========================
+
+This download contains Rethink Sans as both variable fonts and static fonts.
+
+Rethink Sans is a variable font with this axis:
+ wght
+
+This means all the styles are contained in these files:
+ RethinkSans-VariableFont_wght.ttf
+ RethinkSans-Italic-VariableFont_wght.ttf
+
+If your app fully supports variable fonts, you can now pick intermediate styles
+that aren’t available as static fonts. Not all apps support variable fonts, and
+in those cases you can use the static font files for Rethink Sans:
+ static/RethinkSans-Regular.ttf
+ static/RethinkSans-Medium.ttf
+ static/RethinkSans-SemiBold.ttf
+ static/RethinkSans-Bold.ttf
+ static/RethinkSans-ExtraBold.ttf
+ static/RethinkSans-Italic.ttf
+ static/RethinkSans-MediumItalic.ttf
+ static/RethinkSans-SemiBoldItalic.ttf
+ static/RethinkSans-BoldItalic.ttf
+ static/RethinkSans-ExtraBoldItalic.ttf
+
+Get started
+-----------
+
+1. Install the font files you want to use
+
+2. Use your app's font picker to view the font family and all the
+available styles
+
+Learn more about variable fonts
+-------------------------------
+
+ https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
+ https://variablefonts.typenetwork.com
+ https://medium.com/variable-fonts
+
+In desktop apps
+
+ https://theblog.adobe.com/can-variable-fonts-illustrator-cc
+ https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
+
+Online
+
+ https://developers.google.com/fonts/docs/getting_started
+ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
+ https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
+
+Installing fonts
+
+ MacOS: https://support.apple.com/en-us/HT201749
+ Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
+ Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
+
+Android Apps
+
+ https://developers.google.com/fonts/docs/android
+ https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
+
+License
+-------
+Please read the full license text (OFL.txt) to understand the permissions,
+restrictions and requirements for usage, redistribution, and modification.
+
+You can use them in your products & projects – print or digital,
+commercial or otherwise.
+
+This isn't legal advice, please consider consulting a lawyer and see the full
+license for all details.
diff --git a/frontend/fonts/RethinkSans-Bold.ttf b/frontend/fonts/RethinkSans-Bold.ttf
new file mode 100644
index 00000000..d82f7e92
Binary files /dev/null and b/frontend/fonts/RethinkSans-Bold.ttf differ
diff --git a/frontend/fonts/RethinkSans-BoldItalic.ttf b/frontend/fonts/RethinkSans-BoldItalic.ttf
new file mode 100644
index 00000000..9de5839e
Binary files /dev/null and b/frontend/fonts/RethinkSans-BoldItalic.ttf differ
diff --git a/frontend/fonts/RethinkSans-ExtraBold.ttf b/frontend/fonts/RethinkSans-ExtraBold.ttf
new file mode 100644
index 00000000..2efdd43b
Binary files /dev/null and b/frontend/fonts/RethinkSans-ExtraBold.ttf differ
diff --git a/frontend/fonts/RethinkSans-ExtraBoldItalic.ttf b/frontend/fonts/RethinkSans-ExtraBoldItalic.ttf
new file mode 100644
index 00000000..cfdd1dfc
Binary files /dev/null and b/frontend/fonts/RethinkSans-ExtraBoldItalic.ttf differ
diff --git a/frontend/fonts/RethinkSans-Italic.ttf b/frontend/fonts/RethinkSans-Italic.ttf
new file mode 100644
index 00000000..997393da
Binary files /dev/null and b/frontend/fonts/RethinkSans-Italic.ttf differ
diff --git a/frontend/fonts/RethinkSans-Medium.ttf b/frontend/fonts/RethinkSans-Medium.ttf
new file mode 100644
index 00000000..2bdf2754
Binary files /dev/null and b/frontend/fonts/RethinkSans-Medium.ttf differ
diff --git a/frontend/fonts/RethinkSans-MediumItalic.ttf b/frontend/fonts/RethinkSans-MediumItalic.ttf
new file mode 100644
index 00000000..c52cefa2
Binary files /dev/null and b/frontend/fonts/RethinkSans-MediumItalic.ttf differ
diff --git a/frontend/fonts/RethinkSans-Regular.ttf b/frontend/fonts/RethinkSans-Regular.ttf
new file mode 100644
index 00000000..4e661b77
Binary files /dev/null and b/frontend/fonts/RethinkSans-Regular.ttf differ
diff --git a/frontend/fonts/RethinkSans-SemiBold.ttf b/frontend/fonts/RethinkSans-SemiBold.ttf
new file mode 100644
index 00000000..9c650f7b
Binary files /dev/null and b/frontend/fonts/RethinkSans-SemiBold.ttf differ
diff --git a/frontend/fonts/RethinkSans-SemiBoldItalic.ttf b/frontend/fonts/RethinkSans-SemiBoldItalic.ttf
new file mode 100644
index 00000000..f8de68ba
Binary files /dev/null and b/frontend/fonts/RethinkSans-SemiBoldItalic.ttf differ
diff --git a/frontend/index.html b/frontend/index.html
index 4dc16fa1..218712f2 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -14,6 +14,11 @@
+
+
+
+
+
Domino
diff --git a/frontend/package.json b/frontend/package.json
index bdac0a12..d92f0493 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -6,53 +6,47 @@
"node": ">=18 < 20"
},
"dependencies": {
- "@emotion/react": "^11.11.1",
+ "@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"@iconify/react": "^4.1.1",
- "@import-meta-env/cli": "^0.6.6",
+ "@import-meta-env/cli": "^0.6.8",
"@import-meta-env/unplugin": "^0.4.10",
- "@mui/icons-material": "^5.11.0",
- "@mui/lab": "^5.0.0-alpha.155",
- "@mui/material": "^5.14.20",
- "@mui/x-data-grid": "^6.15.0",
- "@mui/x-date-pickers": "^6.5.0",
- "@types/dompurify": "^3.0.5",
- "@types/react": ">=18",
- "@types/react-dom": "^18.0.9",
- "@types/react-plotly.js": "^2.6.3",
- "@types/uuid": "^9.0.0",
- "@uiw/react-textarea-code-editor": "^2.1.1",
- "@vitejs/plugin-react": "^4.1.0",
- "axios": "^1.2.1",
- "axios-mock-adapter": "^1.21.2",
+ "@mui/icons-material": "^5.15.10",
+ "@mui/lab": "5.0.0-alpha.165",
+ "@mui/material": "^5.15.10",
+ "@mui/x-data-grid": "^6.19.4",
+ "@mui/x-date-pickers": "^6.19.4",
+ "@uiw/react-textarea-code-editor": "^2.1.9",
+ "@vitejs/plugin-react": "^4.2.1",
+ "axios": "^1.6.7",
+ "axios-mock-adapter": "^1.22.0",
"cross-env": "^7.0.3",
- "dayjs": "^1.11.7",
- "dotenv": "^16.3.1",
+ "dayjs": "^1.11.10",
"elkjs": "^0.8.2",
- "localforage": "^1.10.0",
- "plotly.js": "^2.27.1",
+ "pdfjs-dist": "^3.11.174",
+ "plotly.js": "^2.29.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-draggable": "^4.4.5",
- "react-hook-form": "^7.45.1",
+ "react-draggable": "^4.4.6",
+ "react-hook-form": "^7.50.1",
"react-markdown": "9.0.0",
- "react-pdf": "^7.6.0",
+ "react-pdf": "^7.7.0",
"react-plotly.js": "^2.6.0",
- "react-router-dom": "^6.6.0",
+ "react-router-dom": "^6.22.0",
"react-to-print": "^2.14.15",
- "react-toastify": "^9.1.1",
- "reactflow": "^11.4.0",
+ "react-toastify": "^9.1.3",
+ "reactflow": "^11.10.3",
"remark-gfm": "^4.0.0",
- "swr": "^2.0.0",
- "typescript": "*",
- "uuid": "^9.0.0",
- "vite": "^4.4.11",
- "vite-plugin-svgr": "^2.2.1",
- "vite-tsconfig-paths": "^3.5.0",
- "web-worker": "^1.2.0",
- "yup": "^1.2.0"
+ "swr": "^2.2.4",
+ "uuid": "^9.0.1",
+ "vite": "^5.1.1",
+ "vite-plugin-svgr": "^4.2.0",
+ "vite-tsconfig-paths": "^4.3.1",
+ "web-worker": "^1.3.0",
+ "yup": "^1.3.3"
},
"scripts": {
+ "debug": "VITE_CJS_IGNORE_WARNING=true vite dev",
"start": "vite",
"start:mock": "cross-env NODE_OPTIONS=--openssl-legacy-provider VITE_USE_MOCK=true vite",
"build": "tsc && vite build",
@@ -71,19 +65,25 @@
"not op_mini all"
],
"devDependencies": {
- "@typescript-eslint/eslint-plugin": "^6.4.0",
- "@typescript-eslint/parser": "^6.5.0",
- "eslint": "^8.0.1",
- "eslint-config-prettier": "^9.0.0",
- "eslint-config-standard-with-typescript": "^39.0.0",
- "eslint-import-resolver-typescript": "^3.6.0",
- "eslint-plugin-import": "^2.25.2",
- "eslint-plugin-n": "^15.0.0 || ^16.0.0 ",
- "eslint-plugin-prettier": "^5.0.0",
- "eslint-plugin-promise": "^6.0.0",
+ "@types/dompurify": "^3.0.5",
+ "@types/react": "^18.2.55",
+ "@types/react-dom": "^18.2.19",
+ "@types/react-plotly.js": "^2.6.3",
+ "@types/uuid": "^9.0.8",
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
+ "@typescript-eslint/parser": "^6.21.0",
+ "eslint": "^8.56.0",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-config-standard-with-typescript": "^39.1.1",
+ "eslint-import-resolver-typescript": "^3.6.1",
+ "eslint-plugin-import": "^2.29.1",
+ "eslint-plugin-n": "^16.6.2",
+ "eslint-plugin-prettier": "^5.1.3",
+ "eslint-plugin-promise": "^6.1.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-testing-library": "^6.0.1",
- "prettier": "^3.0.3"
+ "eslint-plugin-testing-library": "^6.2.0",
+ "prettier": "^3.2.5",
+ "typescript": "^5.3.3"
}
}
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
new file mode 100644
index 00000000..1d746a67
--- /dev/null
+++ b/frontend/pnpm-lock.yaml
@@ -0,0 +1,7855 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+dependencies:
+ '@emotion/react':
+ specifier: ^11.11.3
+ version: 11.11.3(@types/react@18.2.55)(react@18.2.0)
+ '@emotion/styled':
+ specifier: ^11.11.0
+ version: 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0)
+ '@iconify/react':
+ specifier: ^4.1.1
+ version: 4.1.1(react@18.2.0)
+ '@import-meta-env/cli':
+ specifier: ^0.6.8
+ version: 0.6.8(@import-meta-env/unplugin@0.4.10)(dotenv@16.4.4)
+ '@import-meta-env/unplugin':
+ specifier: ^0.4.10
+ version: 0.4.10(@import-meta-env/cli@0.6.8)(dotenv@16.4.4)
+ '@mui/icons-material':
+ specifier: ^5.15.10
+ version: 5.15.10(@mui/material@5.15.10)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/lab':
+ specifier: 5.0.0-alpha.165
+ version: 5.0.0-alpha.165(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@mui/material@5.15.10)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/material':
+ specifier: ^5.15.10
+ version: 5.15.10(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/x-data-grid':
+ specifier: ^6.19.4
+ version: 6.19.4(@mui/material@5.15.10)(@mui/system@5.15.9)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/x-date-pickers':
+ specifier: ^6.19.4
+ version: 6.19.4(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@mui/material@5.15.10)(@mui/system@5.15.9)(@types/react@18.2.55)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0)
+ '@uiw/react-textarea-code-editor':
+ specifier: ^2.1.9
+ version: 2.1.9(@babel/runtime@7.23.9)(react-dom@18.2.0)(react@18.2.0)
+ '@vitejs/plugin-react':
+ specifier: ^4.2.1
+ version: 4.2.1(vite@5.1.1)
+ axios:
+ specifier: ^1.6.7
+ version: 1.6.7
+ axios-mock-adapter:
+ specifier: ^1.22.0
+ version: 1.22.0(axios@1.6.7)
+ cross-env:
+ specifier: ^7.0.3
+ version: 7.0.3
+ dayjs:
+ specifier: ^1.11.10
+ version: 1.11.10
+ elkjs:
+ specifier: ^0.8.2
+ version: 0.8.2
+ pdfjs-dist:
+ specifier: ^3.11.174
+ version: 3.11.174
+ plotly.js:
+ specifier: ^2.29.1
+ version: 2.29.1(mapbox-gl@1.13.3)
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
+ react-draggable:
+ specifier: ^4.4.6
+ version: 4.4.6(react-dom@18.2.0)(react@18.2.0)
+ react-hook-form:
+ specifier: ^7.50.1
+ version: 7.50.1(react@18.2.0)
+ react-markdown:
+ specifier: 9.0.0
+ version: 9.0.0(@types/react@18.2.55)(react@18.2.0)
+ react-pdf:
+ specifier: ^7.7.0
+ version: 7.7.0(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ react-plotly.js:
+ specifier: ^2.6.0
+ version: 2.6.0(plotly.js@2.29.1)(react@18.2.0)
+ react-router-dom:
+ specifier: ^6.22.0
+ version: 6.22.0(react-dom@18.2.0)(react@18.2.0)
+ react-to-print:
+ specifier: ^2.14.15
+ version: 2.14.15(react-dom@18.2.0)(react@18.2.0)
+ react-toastify:
+ specifier: ^9.1.3
+ version: 9.1.3(react-dom@18.2.0)(react@18.2.0)
+ reactflow:
+ specifier: ^11.10.3
+ version: 11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ remark-gfm:
+ specifier: ^4.0.0
+ version: 4.0.0
+ swr:
+ specifier: ^2.2.4
+ version: 2.2.4(react@18.2.0)
+ uuid:
+ specifier: ^9.0.1
+ version: 9.0.1
+ vite:
+ specifier: ^5.1.1
+ version: 5.1.1
+ vite-plugin-svgr:
+ specifier: ^4.2.0
+ version: 4.2.0(typescript@5.3.3)(vite@5.1.1)
+ vite-tsconfig-paths:
+ specifier: ^4.3.1
+ version: 4.3.1(typescript@5.3.3)(vite@5.1.1)
+ web-worker:
+ specifier: ^1.3.0
+ version: 1.3.0
+ yup:
+ specifier: ^1.3.3
+ version: 1.3.3
+
+devDependencies:
+ '@types/dompurify':
+ specifier: ^3.0.5
+ version: 3.0.5
+ '@types/react':
+ specifier: ^18.2.55
+ version: 18.2.55
+ '@types/react-dom':
+ specifier: ^18.2.19
+ version: 18.2.19
+ '@types/react-plotly.js':
+ specifier: ^2.6.3
+ version: 2.6.3
+ '@types/uuid':
+ specifier: ^9.0.8
+ version: 9.0.8
+ '@typescript-eslint/eslint-plugin':
+ specifier: ^6.21.0
+ version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/parser':
+ specifier: ^6.21.0
+ version: 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint:
+ specifier: ^8.56.0
+ version: 8.56.0
+ eslint-config-prettier:
+ specifier: ^9.1.0
+ version: 9.1.0(eslint@8.56.0)
+ eslint-config-standard-with-typescript:
+ specifier: ^39.1.1
+ version: 39.1.1(@typescript-eslint/eslint-plugin@6.21.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)(typescript@5.3.3)
+ eslint-import-resolver-typescript:
+ specifier: ^3.6.1
+ version: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
+ eslint-plugin-import:
+ specifier: ^2.29.1
+ version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ eslint-plugin-n:
+ specifier: ^16.6.2
+ version: 16.6.2(eslint@8.56.0)
+ eslint-plugin-prettier:
+ specifier: ^5.1.3
+ version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.5)
+ eslint-plugin-promise:
+ specifier: ^6.1.1
+ version: 6.1.1(eslint@8.56.0)
+ eslint-plugin-react:
+ specifier: ^7.33.2
+ version: 7.33.2(eslint@8.56.0)
+ eslint-plugin-react-hooks:
+ specifier: ^4.6.0
+ version: 4.6.0(eslint@8.56.0)
+ eslint-plugin-testing-library:
+ specifier: ^6.2.0
+ version: 6.2.0(eslint@8.56.0)(typescript@5.3.3)
+ prettier:
+ specifier: ^3.2.5
+ version: 3.2.5
+ typescript:
+ specifier: ^5.3.3
+ version: 5.3.3
+
+packages:
+
+ /@aashutoshrathi/word-wrap@1.2.6:
+ resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /@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.22
+ dev: false
+
+ /@babel/code-frame@7.23.5:
+ resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+ dev: false
+
+ /@babel/compat-data@7.23.5:
+ resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/core@7.23.9:
+ resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.1
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9)
+ '@babel/helpers': 7.23.9
+ '@babel/parser': 7.23.9
+ '@babel/template': 7.23.9
+ '@babel/traverse': 7.23.9
+ '@babel/types': 7.23.9
+ 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
+ dev: false
+
+ /@babel/generator@7.23.6:
+ resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.9
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.22
+ jsesc: 2.5.2
+ dev: false
+
+ /@babel/helper-compilation-targets@7.23.6:
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.22.3
+ lru-cache: 5.1.1
+ semver: 6.3.1
+ dev: false
+
+ /@babel/helper-environment-visitor@7.22.20:
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-function-name@7.23.0:
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.23.9
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@babel/helper-hoist-variables@7.22.5:
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@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.9
+ dev: false
+
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9):
+ resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.23.9
+ '@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
+ dev: false
+
+ /@babel/helper-plugin-utils@7.22.5:
+ resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@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.9
+ dev: false
+
+ /@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.9
+ dev: false
+
+ /@babel/helper-string-parser@7.23.4:
+ resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helper-validator-option@7.23.5:
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /@babel/helpers@7.23.9:
+ resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.23.9
+ '@babel/traverse': 7.23.9
+ '@babel/types': 7.23.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/highlight@7.23.4:
+ resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: false
+
+ /@babel/parser@7.23.9:
+ resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9):
+ resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9):
+ resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: false
+
+ /@babel/runtime@7.23.9:
+ resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.14.1
+ dev: false
+
+ /@babel/template@7.23.9:
+ resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.23.9
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@babel/traverse@7.23.9:
+ resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@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.9
+ '@babel/types': 7.23.9
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/types@7.23.9:
+ resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+ dev: false
+
+ /@choojs/findup@0.2.1:
+ resolution: {integrity: sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==}
+ hasBin: true
+ dependencies:
+ commander: 2.20.3
+ dev: false
+
+ /@emotion/babel-plugin@11.11.0:
+ resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==}
+ dependencies:
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/runtime': 7.23.9
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/serialize': 1.1.3
+ babel-plugin-macros: 3.1.0
+ convert-source-map: 1.9.0
+ escape-string-regexp: 4.0.0
+ find-root: 1.1.0
+ source-map: 0.5.7
+ stylis: 4.2.0
+ dev: false
+
+ /@emotion/cache@11.11.0:
+ resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==}
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ '@emotion/sheet': 1.2.2
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ stylis: 4.2.0
+ dev: false
+
+ /@emotion/hash@0.9.1:
+ resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==}
+ dev: false
+
+ /@emotion/is-prop-valid@1.2.1:
+ resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==}
+ dependencies:
+ '@emotion/memoize': 0.8.1
+ dev: false
+
+ /@emotion/memoize@0.8.1:
+ resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
+ dev: false
+
+ /@emotion/react@11.11.3(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/cache': 11.11.0
+ '@emotion/serialize': 1.1.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
+ '@emotion/utils': 1.2.1
+ '@emotion/weak-memoize': 0.3.1
+ '@types/react': 18.2.55
+ hoist-non-react-statics: 3.3.2
+ react: 18.2.0
+ dev: false
+
+ /@emotion/serialize@1.1.3:
+ resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==}
+ dependencies:
+ '@emotion/hash': 0.9.1
+ '@emotion/memoize': 0.8.1
+ '@emotion/unitless': 0.8.1
+ '@emotion/utils': 1.2.1
+ csstype: 3.1.3
+ dev: false
+
+ /@emotion/sheet@1.2.2:
+ resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==}
+ dev: false
+
+ /@emotion/styled@11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==}
+ peerDependencies:
+ '@emotion/react': ^11.0.0-rc.0
+ '@types/react': '*'
+ react: '>=16.8.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@emotion/babel-plugin': 11.11.0
+ '@emotion/is-prop-valid': 1.2.1
+ '@emotion/react': 11.11.3(@types/react@18.2.55)(react@18.2.0)
+ '@emotion/serialize': 1.1.3
+ '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
+ '@emotion/utils': 1.2.1
+ '@types/react': 18.2.55
+ react: 18.2.0
+ dev: false
+
+ /@emotion/unitless@0.8.1:
+ resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==}
+ dev: false
+
+ /@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: false
+
+ /@emotion/utils@1.2.1:
+ resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==}
+ dev: false
+
+ /@emotion/weak-memoize@0.3.1:
+ resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==}
+ dev: false
+
+ /@esbuild/aix-ppc64@0.19.12:
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-arm64@0.19.12:
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-arm@0.19.12:
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-x64@0.19.12:
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/darwin-arm64@0.19.12:
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/darwin-x64@0.19.12:
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.19.12:
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/freebsd-x64@0.19.12:
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-arm64@0.19.12:
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-arm@0.19.12:
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-ia32@0.19.12:
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-loong64@0.19.12:
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-mips64el@0.19.12:
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-ppc64@0.19.12:
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-riscv64@0.19.12:
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-s390x@0.19.12:
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-x64@0.19.12:
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/netbsd-x64@0.19.12:
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/openbsd-x64@0.19.12:
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/sunos-x64@0.19.12:
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-arm64@0.19.12:
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-ia32@0.19.12:
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-x64@0.19.12:
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.56.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.56.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@eslint-community/regexpp@4.10.0:
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/eslintrc@2.1.4:
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
+ 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.24.0
+ ignore: 5.3.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/js@8.56.0:
+ resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@floating-ui/core@1.6.0:
+ resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==}
+ dependencies:
+ '@floating-ui/utils': 0.2.1
+ dev: false
+
+ /@floating-ui/dom@1.6.3:
+ resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==}
+ dependencies:
+ '@floating-ui/core': 1.6.0
+ '@floating-ui/utils': 0.2.1
+ dev: false
+
+ /@floating-ui/react-dom@2.0.8(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
+ dependencies:
+ '@floating-ui/dom': 1.6.3
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@floating-ui/utils@0.2.1:
+ resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
+ dev: false
+
+ /@humanwhocodes/config-array@0.11.14:
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 2.0.2
+ 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.2:
+ resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
+ dev: true
+
+ /@iconify/react@4.1.1(react@18.2.0):
+ resolution: {integrity: sha512-jed14EjvKjee8mc0eoscGxlg7mSQRkwQG3iX3cPBCO7UlOjz0DtlvTqxqEcHUJGh+z1VJ31Yhu5B9PxfO0zbdg==}
+ peerDependencies:
+ react: '>=16'
+ dependencies:
+ '@iconify/types': 2.0.0
+ react: 18.2.0
+ dev: false
+
+ /@iconify/types@2.0.0:
+ resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
+ dev: false
+
+ /@import-meta-env/cli@0.6.8(@import-meta-env/unplugin@0.4.10)(dotenv@16.4.4):
+ resolution: {integrity: sha512-Lunsmlj02yVtI5drlhNwIUFAQ0wsIUYIrz0Nm5jbvmYvyEUsxC8Qotnf3gXTfvM9Yuutvuc2+dx4uXpa3DajTg==}
+ engines: {node: '>= 14'}
+ hasBin: true
+ peerDependencies:
+ '@import-meta-env/babel': ^0.4.3
+ '@import-meta-env/swc': ^0.4.5
+ '@import-meta-env/unplugin': ^0.4.8 || ^0.5.0
+ dotenv: ^11.0.0 || ^12.0.4 || ^13.0.1 || ^14.3.2 || ^15.0.1 || ^16.0.0
+ peerDependenciesMeta:
+ '@import-meta-env/babel':
+ optional: true
+ '@import-meta-env/swc':
+ optional: true
+ '@import-meta-env/unplugin':
+ optional: true
+ dependencies:
+ '@import-meta-env/unplugin': 0.4.10(@import-meta-env/cli@0.6.8)(dotenv@16.4.4)
+ commander: 11.1.0
+ dotenv: 16.4.4
+ glob: 10.3.10
+ picocolors: 1.0.0
+ serialize-javascript: 6.0.1
+ dev: false
+
+ /@import-meta-env/unplugin@0.4.10(@import-meta-env/cli@0.6.8)(dotenv@16.4.4):
+ resolution: {integrity: sha512-KA/JjnhHp2vrPA27J+IFj/XVDMJz7+jUmyukDAmMoF2uW5q8F3pJySrfl/vySLV1SVxa2b4zg2kuAe5CTIs+Bg==}
+ engines: {node: '>= 14'}
+ requiresBuild: true
+ peerDependencies:
+ '@import-meta-env/cli': ^0.5.1 || ^0.6.0
+ dotenv: ^11.0.0 || ^12.0.4 || ^13.0.1 || ^14.3.2 || ^15.0.1 || ^16.0.0
+ peerDependenciesMeta:
+ '@import-meta-env/cli':
+ optional: true
+ dependencies:
+ '@import-meta-env/cli': 0.6.8(@import-meta-env/unplugin@0.4.10)(dotenv@16.4.4)
+ dotenv: 16.4.4
+ magic-string: 0.30.7
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ unplugin: 1.7.1
+ dev: false
+
+ /@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: 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.22
+ dev: false
+
+ /@jridgewell/resolve-uri@3.1.1:
+ resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/set-array@1.1.2:
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ dev: false
+
+ /@jridgewell/trace-mapping@0.3.22:
+ resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: false
+
+ /@mapbox/geojson-rewind@0.5.2:
+ resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==}
+ hasBin: true
+ dependencies:
+ get-stream: 6.0.1
+ minimist: 1.2.8
+ dev: false
+
+ /@mapbox/geojson-types@1.0.2:
+ resolution: {integrity: sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==}
+ dev: false
+
+ /@mapbox/jsonlint-lines-primitives@2.0.2:
+ resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /@mapbox/mapbox-gl-supported@1.5.0(mapbox-gl@1.13.3):
+ resolution: {integrity: sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==}
+ peerDependencies:
+ mapbox-gl: '>=0.32.1 <2.0.0'
+ dependencies:
+ mapbox-gl: 1.13.3
+ dev: false
+
+ /@mapbox/node-pre-gyp@1.0.11:
+ resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ detect-libc: 2.0.2
+ https-proxy-agent: 5.0.1
+ make-dir: 3.1.0
+ node-fetch: 2.7.0
+ nopt: 5.0.0
+ npmlog: 5.0.1
+ rimraf: 3.0.2
+ semver: 7.6.0
+ tar: 6.2.0
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+ optional: true
+
+ /@mapbox/point-geometry@0.1.0:
+ resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==}
+ dev: false
+
+ /@mapbox/tiny-sdf@1.2.5:
+ resolution: {integrity: sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==}
+ dev: false
+
+ /@mapbox/unitbezier@0.0.0:
+ resolution: {integrity: sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==}
+ dev: false
+
+ /@mapbox/vector-tile@1.3.1:
+ resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==}
+ dependencies:
+ '@mapbox/point-geometry': 0.1.0
+ dev: false
+
+ /@mapbox/whoots-js@3.1.0:
+ resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==}
+ engines: {node: '>=6.0.0'}
+ dev: false
+
+ /@mui/base@5.0.0-beta.36(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-6A8fYiXgjqTO6pgj31Hc8wm1M3rFYCxDRh09dBVk0L0W4cb2lnurRJa3cAyic6hHY+we1S58OdGYRbKmOsDpGQ==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0)
+ '@mui/types': 7.2.13(@types/react@18.2.55)
+ '@mui/utils': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ '@popperjs/core': 2.11.8
+ '@types/react': 18.2.55
+ clsx: 2.1.0
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@mui/core-downloads-tracker@5.15.10:
+ resolution: {integrity: sha512-qPv7B+LeMatYuzRjB3hlZUHqinHx/fX4YFBiaS19oC02A1e9JFuDKDvlyRQQ5oRSbJJt0QlaLTlr0IcauVcJRQ==}
+ dev: false
+
+ /@mui/icons-material@5.15.10(@mui/material@5.15.10)(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-9cF8oUHZKo9oQ7EQ3pxPELaZuZVmphskU4OI6NiJNDVN7zcuvrEsuWjYo1Zh4fLiC39Nrvm30h/B51rcUjvSGA==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@mui/material': ^5.0.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@mui/material': 5.15.10(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.55
+ react: 18.2.0
+ dev: false
+
+ /@mui/lab@5.0.0-alpha.165(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@mui/material@5.15.10)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-8/zJStT10nh9yrAzLOPTICGhpf5YiGp/JpM0bdTP7u5AE+YT+X2u6QwMxuCrVeW8/WVLAPFg0vtzyfgPcN5T7g==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@mui/material': '>=5.15.0'
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@emotion/react': 11.11.3(@types/react@18.2.55)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/base': 5.0.0-beta.36(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/material': 5.15.10(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/system': 5.15.9(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/types': 7.2.13(@types/react@18.2.55)
+ '@mui/utils': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ '@types/react': 18.2.55
+ clsx: 2.1.0
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@mui/material@5.15.10(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-YJJGHjwDOucecjDEV5l9ISTCo+l9YeWrho623UajzoHRYxuKUmwrGVYOW4PKwGvCx9SU9oklZnbbi2Clc5XZHw==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@emotion/react': 11.11.3(@types/react@18.2.55)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/base': 5.0.0-beta.36(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/core-downloads-tracker': 5.15.10
+ '@mui/system': 5.15.9(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/types': 7.2.13(@types/react@18.2.55)
+ '@mui/utils': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ '@types/react': 18.2.55
+ '@types/react-transition-group': 4.4.10
+ clsx: 2.1.0
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-is: 18.2.0
+ react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0)
+ dev: false
+
+ /@mui/private-theming@5.15.9(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-/aMJlDOxOTAXyp4F2rIukW1O0anodAMCkv1DfBh/z9vaKHY3bd5fFf42wmP+0GRmwMinC5aWPpNfHXOED1fEtg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@mui/utils': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ '@types/react': 18.2.55
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /@mui/styled-engine@5.15.9(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(react@18.2.0):
+ resolution: {integrity: sha512-NRKtYkL5PZDH7dEmaLEIiipd3mxNnQSO+Yo8rFNBNptY8wzQnQ+VjayTq39qH7Sast5cwHKYFusUrQyD+SS4Og==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.4.1
+ '@emotion/styled': ^11.3.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@emotion/cache': 11.11.0
+ '@emotion/react': 11.11.3(@types/react@18.2.55)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0)
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /@mui/system@5.15.9(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-SxkaaZ8jsnIJ77bBXttfG//LUf6nTfOcaOuIgItqfHv60ZCQy/Hu7moaob35kBb+guxVJnoSZ+7vQJrA/E7pKg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.5.0
+ '@emotion/styled': ^11.3.0
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@emotion/react': 11.11.3(@types/react@18.2.55)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/private-theming': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ '@mui/styled-engine': 5.15.9(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(react@18.2.0)
+ '@mui/types': 7.2.13(@types/react@18.2.55)
+ '@mui/utils': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ '@types/react': 18.2.55
+ clsx: 2.1.0
+ csstype: 3.1.3
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /@mui/types@7.2.13(@types/react@18.2.55):
+ resolution: {integrity: sha512-qP9OgacN62s+l8rdDhSFRe05HWtLLJ5TGclC9I1+tQngbssu0m2dmFZs+Px53AcOs9fD7TbYd4gc9AXzVqO/+g==}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.55
+ dev: false
+
+ /@mui/utils@5.15.9(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-yDYfr61bCYUz1QtwvpqYy/3687Z8/nS4zv7lv/ih/6ZFGMl1iolEvxRmR84v2lOYxlds+kq1IVYbXxDKh8Z9sg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ '@types/react': ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@types/prop-types': 15.7.11
+ '@types/react': 18.2.55
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-is: 18.2.0
+ dev: false
+
+ /@mui/x-data-grid@6.19.4(@mui/material@5.15.10)(@mui/system@5.15.9)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-qXBe2mSetdsl3ZPqB/1LpKNkEiaYUiFXIaMHTIjuzLyusXgt+w7UsHYO7R+aJYUU7c3FeHla0R1nwRMY3kZ5ng==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@mui/material': ^5.4.1
+ '@mui/system': ^5.4.1
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@mui/material': 5.15.10(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/system': 5.15.9(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/utils': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ clsx: 2.1.0
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ reselect: 4.1.8
+ transitivePeerDependencies:
+ - '@types/react'
+ dev: false
+
+ /@mui/x-date-pickers@6.19.4(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@mui/material@5.15.10)(@mui/system@5.15.9)(@types/react@18.2.55)(dayjs@1.11.10)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-LekaacLGnoQNN5hD6iXeHFL4LbZPnr1BM57hnUKy5UgKDHqzHzZSdPGc2p7Ktv/Z2NDbpPaLEAgrLwISKIYcow==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@emotion/react': ^11.9.0
+ '@emotion/styled': ^11.8.1
+ '@mui/material': ^5.8.6
+ '@mui/system': ^5.8.0
+ date-fns: ^2.25.0 || ^3.2.0
+ date-fns-jalali: ^2.13.0-0
+ dayjs: ^1.10.7
+ luxon: ^3.0.2
+ moment: ^2.29.4
+ moment-hijri: ^2.1.2
+ moment-jalaali: ^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/react':
+ optional: true
+ '@emotion/styled':
+ optional: true
+ date-fns:
+ optional: true
+ date-fns-jalali:
+ optional: true
+ dayjs:
+ optional: true
+ luxon:
+ optional: true
+ moment:
+ optional: true
+ moment-hijri:
+ optional: true
+ moment-jalaali:
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.23.9
+ '@emotion/react': 11.11.3(@types/react@18.2.55)(react@18.2.0)
+ '@emotion/styled': 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/base': 5.0.0-beta.36(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/material': 5.15.10(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@mui/system': 5.15.9(@emotion/react@11.11.3)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0)
+ '@mui/utils': 5.15.9(@types/react@18.2.55)(react@18.2.0)
+ '@types/react-transition-group': 4.4.10
+ clsx: 2.1.0
+ dayjs: 1.11.10
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ dev: false
+
+ /@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
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /@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.17.1
+ dev: true
+
+ /@pkgjs/parseargs@0.11.0:
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@pkgr/core@0.1.1:
+ resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ dev: true
+
+ /@plotly/d3-sankey-circular@0.33.1:
+ resolution: {integrity: sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==}
+ dependencies:
+ d3-array: 1.2.4
+ d3-collection: 1.0.7
+ d3-shape: 1.3.7
+ elementary-circuits-directed-graph: 1.3.1
+ dev: false
+
+ /@plotly/d3-sankey@0.7.2:
+ resolution: {integrity: sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==}
+ dependencies:
+ d3-array: 1.2.4
+ d3-collection: 1.0.7
+ d3-shape: 1.3.7
+ dev: false
+
+ /@plotly/d3@3.8.1:
+ resolution: {integrity: sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==}
+ dev: false
+
+ /@plotly/mapbox-gl@1.13.4(mapbox-gl@1.13.3):
+ resolution: {integrity: sha512-sR3/Pe5LqT/fhYgp4rT4aSFf1rTsxMbGiH6Hojc7PH36ny5Bn17iVFUjpzycafETURuFbLZUfjODO8LvSI+5zQ==}
+ engines: {node: '>=6.4.0'}
+ dependencies:
+ '@mapbox/geojson-rewind': 0.5.2
+ '@mapbox/geojson-types': 1.0.2
+ '@mapbox/jsonlint-lines-primitives': 2.0.2
+ '@mapbox/mapbox-gl-supported': 1.5.0(mapbox-gl@1.13.3)
+ '@mapbox/point-geometry': 0.1.0
+ '@mapbox/tiny-sdf': 1.2.5
+ '@mapbox/unitbezier': 0.0.0
+ '@mapbox/vector-tile': 1.3.1
+ '@mapbox/whoots-js': 3.1.0
+ csscolorparser: 1.0.3
+ earcut: 2.2.4
+ geojson-vt: 3.2.1
+ gl-matrix: 3.4.3
+ grid-index: 1.1.0
+ murmurhash-js: 1.0.0
+ pbf: 3.2.1
+ potpack: 1.0.2
+ quickselect: 2.0.0
+ rw: 1.3.3
+ supercluster: 7.1.5
+ tinyqueue: 2.0.3
+ vt-pbf: 3.1.3
+ transitivePeerDependencies:
+ - mapbox-gl
+ dev: false
+
+ /@plotly/point-cluster@3.1.9:
+ resolution: {integrity: sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==}
+ dependencies:
+ array-bounds: 1.0.1
+ binary-search-bounds: 2.0.5
+ clamp: 1.0.1
+ defined: 1.0.1
+ dtype: 2.0.0
+ flatten-vertex-data: 1.0.2
+ is-obj: 1.0.1
+ math-log2: 1.0.1
+ parse-rect: 1.2.0
+ pick-by-alias: 1.2.0
+ dev: false
+
+ /@plotly/regl@2.1.2:
+ resolution: {integrity: sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==}
+ dev: false
+
+ /@popperjs/core@2.11.8:
+ resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+ dev: false
+
+ /@reactflow/background@11.3.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-U4aI54F7PwqgYI0Knv72QFRI/wXeipPmIYAlDsA0j51+tlPxs3Nk2z7G1/4pC11GxEZkgQVfcIXro4l1Fk+bIQ==}
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@reactflow/core': 11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ classcat: 5.0.4
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ zustand: 4.5.0(@types/react@18.2.55)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ dev: false
+
+ /@reactflow/controls@11.2.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-Y9YVx38sRjYtbPsI/xa+B1FGN73FV1GqqajlmGfrc1TmqhJaX+gaMXMvVazT/N5haK1hMJvOApUTLQ2V/5Rdbg==}
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@reactflow/core': 11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ classcat: 5.0.4
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ zustand: 4.5.0(@types/react@18.2.55)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ dev: false
+
+ /@reactflow/core@11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-nV3nep4fjBy3h8mYSnJcclGcQtj8fkUBmNkEwCZCK4ps+n3HNkXFB0BRisSnQz6GRQlYboSsi0cThEl3KdNITw==}
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@types/d3': 7.4.3
+ '@types/d3-drag': 3.0.7
+ '@types/d3-selection': 3.0.10
+ '@types/d3-zoom': 3.0.8
+ classcat: 5.0.4
+ d3-drag: 3.0.0
+ d3-selection: 3.0.0
+ d3-zoom: 3.0.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ zustand: 4.5.0(@types/react@18.2.55)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ dev: false
+
+ /@reactflow/minimap@11.7.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-MwyP5q3VomC91Dhd4P6YcxEfnjDbREGYV6rRxbSJSTHiG0x7ETQCcPelYDGy7JvQej77Pa2yJ4g0FDwP7CsQEA==}
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@reactflow/core': 11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@types/d3-selection': 3.0.10
+ '@types/d3-zoom': 3.0.8
+ classcat: 5.0.4
+ d3-selection: 3.0.0
+ d3-zoom: 3.0.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ zustand: 4.5.0(@types/react@18.2.55)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ dev: false
+
+ /@reactflow/node-resizer@2.2.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-u/EXLpvOfAmq1sGoPYwoX4gi0PnCi0mH3eHVClHNc8JQD0WCqcV1UeVV7H3PF+1SGhhg/aOv/vPG1PcQ5fu4jQ==}
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@reactflow/core': 11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ classcat: 5.0.4
+ d3-drag: 3.0.0
+ d3-selection: 3.0.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ zustand: 4.5.0(@types/react@18.2.55)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ dev: false
+
+ /@reactflow/node-toolbar@1.3.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-cfvlTPeJa/ciQTosx2bGrjHT8K/UL9kznpvpOzeZFnJm5UQXmbwAYt4Vo6GfkD51mORcIL7ujQJvB9ym3ZI9KA==}
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@reactflow/core': 11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ classcat: 5.0.4
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ zustand: 4.5.0(@types/react@18.2.55)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ dev: false
+
+ /@remix-run/router@1.15.0:
+ resolution: {integrity: sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ==}
+ engines: {node: '>=14.0.0'}
+ dev: false
+
+ /@rollup/pluginutils@5.1.0:
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.5
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: false
+
+ /@rollup/rollup-android-arm-eabi@4.10.0:
+ resolution: {integrity: sha512-/MeDQmcD96nVoRumKUljsYOLqfv1YFJps+0pTrb2Z9Nl/w5qNUysMaWQsrd1mvAlNT4yza1iVyIu4Q4AgF6V3A==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.10.0:
+ resolution: {integrity: sha512-lvu0jK97mZDJdpZKDnZI93I0Om8lSDaiPx3OiCk0RXn3E8CMPJNS/wxjAvSJJzhhZpfjXsjLWL8LnS6qET4VNQ==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.10.0:
+ resolution: {integrity: sha512-uFpayx8I8tyOvDkD7X6n0PriDRWxcqEjqgtlxnUA/G9oS93ur9aZ8c8BEpzFmsed1TH5WZNG5IONB8IiW90TQg==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.10.0:
+ resolution: {integrity: sha512-nIdCX03qFKoR/MwQegQBK+qZoSpO3LESurVAC6s6jazLA1Mpmgzo3Nj3H1vydXp/JM29bkCiuF7tDuToj4+U9Q==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.10.0:
+ resolution: {integrity: sha512-Fz7a+y5sYhYZMQFRkOyCs4PLhICAnxRX/GnWYReaAoruUzuRtcf+Qnw+T0CoAWbHCuz2gBUwmWnUgQ67fb3FYw==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.10.0:
+ resolution: {integrity: sha512-yPtF9jIix88orwfTi0lJiqINnlWo6p93MtZEoaehZnmCzEmLL0eqjA3eGVeyQhMtxdV+Mlsgfwhh0+M/k1/V7Q==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.10.0:
+ resolution: {integrity: sha512-9GW9yA30ib+vfFiwjX+N7PnjTnCMiUffhWj4vkG4ukYv1kJ4T9gHNg8zw+ChsOccM27G9yXrEtMScf1LaCuoWQ==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.10.0:
+ resolution: {integrity: sha512-X1ES+V4bMq2ws5fF4zHornxebNxMXye0ZZjUrzOrf7UMx1d6wMQtfcchZ8SqUnQPPHdOyOLW6fTcUiFgHFadRA==}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.10.0:
+ resolution: {integrity: sha512-w/5OpT2EnI/Xvypw4FIhV34jmNqU5PZjZue2l2Y3ty1Ootm3SqhI+AmfhlUYGBTd9JnpneZCDnt3uNOiOBkMyw==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.10.0:
+ resolution: {integrity: sha512-q/meftEe3QlwQiGYxD9rWwB21DoKQ9Q8wA40of/of6yGHhZuGfZO0c3WYkN9dNlopHlNT3mf5BPsUSxoPuVQaw==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.10.0:
+ resolution: {integrity: sha512-NrR6667wlUfP0BHaEIKgYM/2va+Oj+RjZSASbBMnszM9k+1AmliRjHc3lJIiOehtSSjqYiO7R6KLNrWOX+YNSQ==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.10.0:
+ resolution: {integrity: sha512-FV0Tpt84LPYDduIDcXvEC7HKtyXxdvhdAOvOeWMWbQNulxViH2O07QXkT/FffX4FqEI02jEbCJbr+YcuKdyyMg==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.10.0:
+ resolution: {integrity: sha512-OZoJd+o5TaTSQeFFQ6WjFCiltiYVjIdsXxwu/XZ8qRpsvMQr4UsVrE5UyT9RIvsnuF47DqkJKhhVZ2Q9YW9IpQ==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ dev: false
+
+ /@svgr/babel-preset@8.1.0(@babel/core@7.23.9):
+ resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.23.9
+ '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.23.9)
+ '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.9)
+ '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.9)
+ '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.23.9)
+ '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.23.9)
+ '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.23.9)
+ '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.23.9)
+ '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.9)
+ dev: false
+
+ /@svgr/core@8.1.0(typescript@5.3.3):
+ resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@babel/core': 7.23.9
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.23.9)
+ camelcase: 6.3.0
+ cosmiconfig: 8.3.6(typescript@5.3.3)
+ snake-case: 3.0.4
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: false
+
+ /@svgr/hast-util-to-babel-ast@8.0.0:
+ resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@babel/types': 7.23.9
+ entities: 4.5.0
+ dev: false
+
+ /@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0):
+ resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@svgr/core': '*'
+ dependencies:
+ '@babel/core': 7.23.9
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.23.9)
+ '@svgr/core': 8.1.0(typescript@5.3.3)
+ '@svgr/hast-util-to-babel-ast': 8.0.0
+ svg-parser: 2.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@turf/area@6.5.0:
+ resolution: {integrity: sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==}
+ dependencies:
+ '@turf/helpers': 6.5.0
+ '@turf/meta': 6.5.0
+ dev: false
+
+ /@turf/bbox@6.5.0:
+ resolution: {integrity: sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==}
+ dependencies:
+ '@turf/helpers': 6.5.0
+ '@turf/meta': 6.5.0
+ dev: false
+
+ /@turf/centroid@6.5.0:
+ resolution: {integrity: sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==}
+ dependencies:
+ '@turf/helpers': 6.5.0
+ '@turf/meta': 6.5.0
+ dev: false
+
+ /@turf/helpers@6.5.0:
+ resolution: {integrity: sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==}
+ dev: false
+
+ /@turf/meta@6.5.0:
+ resolution: {integrity: sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==}
+ dependencies:
+ '@turf/helpers': 6.5.0
+ dev: false
+
+ /@types/babel__core@7.20.5:
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+ dependencies:
+ '@babel/parser': 7.23.9
+ '@babel/types': 7.23.9
+ '@types/babel__generator': 7.6.8
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.5
+ dev: false
+
+ /@types/babel__generator@7.6.8:
+ resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
+ dependencies:
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@types/babel__template@7.4.4:
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+ dependencies:
+ '@babel/parser': 7.23.9
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@types/babel__traverse@7.20.5:
+ resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
+ dependencies:
+ '@babel/types': 7.23.9
+ dev: false
+
+ /@types/d3-array@3.2.1:
+ resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==}
+ dev: false
+
+ /@types/d3-axis@3.0.6:
+ resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
+ dependencies:
+ '@types/d3-selection': 3.0.10
+ dev: false
+
+ /@types/d3-brush@3.0.6:
+ resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
+ dependencies:
+ '@types/d3-selection': 3.0.10
+ dev: false
+
+ /@types/d3-chord@3.0.6:
+ resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
+ dev: false
+
+ /@types/d3-color@3.1.3:
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
+ dev: false
+
+ /@types/d3-contour@3.0.6:
+ resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
+ dependencies:
+ '@types/d3-array': 3.2.1
+ '@types/geojson': 7946.0.14
+ dev: false
+
+ /@types/d3-delaunay@6.0.4:
+ resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
+ dev: false
+
+ /@types/d3-dispatch@3.0.6:
+ resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==}
+ dev: false
+
+ /@types/d3-drag@3.0.7:
+ resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
+ dependencies:
+ '@types/d3-selection': 3.0.10
+ dev: false
+
+ /@types/d3-dsv@3.0.7:
+ resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
+ dev: false
+
+ /@types/d3-ease@3.0.2:
+ resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
+ dev: false
+
+ /@types/d3-fetch@3.0.7:
+ resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
+ dependencies:
+ '@types/d3-dsv': 3.0.7
+ dev: false
+
+ /@types/d3-force@3.0.9:
+ resolution: {integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==}
+ dev: false
+
+ /@types/d3-format@3.0.4:
+ resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
+ dev: false
+
+ /@types/d3-geo@3.1.0:
+ resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
+ dependencies:
+ '@types/geojson': 7946.0.14
+ dev: false
+
+ /@types/d3-hierarchy@3.1.6:
+ resolution: {integrity: sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==}
+ dev: false
+
+ /@types/d3-interpolate@3.0.4:
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
+ dependencies:
+ '@types/d3-color': 3.1.3
+ dev: false
+
+ /@types/d3-path@3.1.0:
+ resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==}
+ dev: false
+
+ /@types/d3-polygon@3.0.2:
+ resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
+ dev: false
+
+ /@types/d3-quadtree@3.0.6:
+ resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
+ dev: false
+
+ /@types/d3-random@3.0.3:
+ resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
+ dev: false
+
+ /@types/d3-scale-chromatic@3.0.3:
+ resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==}
+ dev: false
+
+ /@types/d3-scale@4.0.8:
+ resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==}
+ dependencies:
+ '@types/d3-time': 3.0.3
+ dev: false
+
+ /@types/d3-selection@3.0.10:
+ resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==}
+ dev: false
+
+ /@types/d3-shape@3.1.6:
+ resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==}
+ dependencies:
+ '@types/d3-path': 3.1.0
+ dev: false
+
+ /@types/d3-time-format@4.0.3:
+ resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
+ dev: false
+
+ /@types/d3-time@3.0.3:
+ resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==}
+ dev: false
+
+ /@types/d3-timer@3.0.2:
+ resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
+ dev: false
+
+ /@types/d3-transition@3.0.8:
+ resolution: {integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==}
+ dependencies:
+ '@types/d3-selection': 3.0.10
+ dev: false
+
+ /@types/d3-zoom@3.0.8:
+ resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
+ dependencies:
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-selection': 3.0.10
+ dev: false
+
+ /@types/d3@7.4.3:
+ resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
+ dependencies:
+ '@types/d3-array': 3.2.1
+ '@types/d3-axis': 3.0.6
+ '@types/d3-brush': 3.0.6
+ '@types/d3-chord': 3.0.6
+ '@types/d3-color': 3.1.3
+ '@types/d3-contour': 3.0.6
+ '@types/d3-delaunay': 6.0.4
+ '@types/d3-dispatch': 3.0.6
+ '@types/d3-drag': 3.0.7
+ '@types/d3-dsv': 3.0.7
+ '@types/d3-ease': 3.0.2
+ '@types/d3-fetch': 3.0.7
+ '@types/d3-force': 3.0.9
+ '@types/d3-format': 3.0.4
+ '@types/d3-geo': 3.1.0
+ '@types/d3-hierarchy': 3.1.6
+ '@types/d3-interpolate': 3.0.4
+ '@types/d3-path': 3.1.0
+ '@types/d3-polygon': 3.0.2
+ '@types/d3-quadtree': 3.0.6
+ '@types/d3-random': 3.0.3
+ '@types/d3-scale': 4.0.8
+ '@types/d3-scale-chromatic': 3.0.3
+ '@types/d3-selection': 3.0.10
+ '@types/d3-shape': 3.1.6
+ '@types/d3-time': 3.0.3
+ '@types/d3-time-format': 4.0.3
+ '@types/d3-timer': 3.0.2
+ '@types/d3-transition': 3.0.8
+ '@types/d3-zoom': 3.0.8
+ dev: false
+
+ /@types/debug@4.1.12:
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+ dependencies:
+ '@types/ms': 0.7.34
+ dev: false
+
+ /@types/dompurify@3.0.5:
+ resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}
+ dependencies:
+ '@types/trusted-types': 2.0.7
+ dev: true
+
+ /@types/estree-jsx@1.0.4:
+ resolution: {integrity: sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ==}
+ dependencies:
+ '@types/estree': 1.0.5
+ dev: false
+
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: false
+
+ /@types/geojson@7946.0.14:
+ resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==}
+ dev: false
+
+ /@types/hast@2.3.10:
+ resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
+ dependencies:
+ '@types/unist': 2.0.10
+ dev: false
+
+ /@types/hast@3.0.4:
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+ dependencies:
+ '@types/unist': 3.0.2
+ dev: false
+
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ dev: true
+
+ /@types/json5@0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ dev: true
+
+ /@types/mdast@4.0.3:
+ resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==}
+ dependencies:
+ '@types/unist': 3.0.2
+ dev: false
+
+ /@types/ms@0.7.34:
+ resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
+ dev: false
+
+ /@types/parse-json@4.0.2:
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+ dev: false
+
+ /@types/parse5@6.0.3:
+ resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
+ dev: false
+
+ /@types/plotly.js@2.29.1:
+ resolution: {integrity: sha512-rQwpL3XFqSjCjG3qTlZCDvIOgc17m/0pgOpkv0O/0awdsHD+CAxaczgJTBlAsd8OhsjIcJC3UESrbBEJ92kUVg==}
+ dev: true
+
+ /@types/prismjs@1.26.3:
+ resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==}
+ dev: false
+
+ /@types/prop-types@15.7.11:
+ resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
+
+ /@types/react-dom@18.2.19:
+ resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==}
+ dependencies:
+ '@types/react': 18.2.55
+ dev: true
+
+ /@types/react-plotly.js@2.6.3:
+ resolution: {integrity: sha512-HBQwyGuu/dGXDsWhnQrhH+xcJSsHvjkwfSRjP+YpOsCCWryIuXF78ZCBjpfgO3sCc0Jo8sYp4NOGtqT7Cn3epQ==}
+ dependencies:
+ '@types/plotly.js': 2.29.1
+ '@types/react': 18.2.55
+ dev: true
+
+ /@types/react-transition-group@4.4.10:
+ resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==}
+ dependencies:
+ '@types/react': 18.2.55
+ dev: false
+
+ /@types/react@18.2.55:
+ resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==}
+ dependencies:
+ '@types/prop-types': 15.7.11
+ '@types/scheduler': 0.16.8
+ csstype: 3.1.3
+
+ /@types/scheduler@0.16.8:
+ resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
+
+ /@types/semver@7.5.7:
+ resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==}
+ dev: true
+
+ /@types/trusted-types@2.0.7:
+ resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
+ dev: true
+
+ /@types/unist@2.0.10:
+ resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
+ dev: false
+
+ /@types/unist@3.0.2:
+ resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
+ dev: false
+
+ /@types/uuid@9.0.8:
+ resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==}
+ 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.10.0
+ '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.4
+ eslint: 8.56.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ semver: 7.6.0
+ ts-api-utils: 1.2.1(typescript@5.3.3)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
+ 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.21.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.4
+ eslint: 8.56.0
+ typescript: 5.3.3
+ 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.21.0:
+ resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
+ dev: true
+
+ /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==}
+ 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.21.0(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ debug: 4.3.4
+ eslint: 8.56.0
+ ts-api-utils: 1.2.1(typescript@5.3.3)
+ typescript: 5.3.3
+ 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.21.0:
+ resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3):
+ 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.6.0
+ tsutils: 3.21.0(typescript@5.3.3)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3):
+ resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/visitor-keys': 6.21.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ minimatch: 9.0.3
+ semver: 7.6.0
+ ts-api-utils: 1.2.1(typescript@5.3.3)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3):
+ 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.56.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.7
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3)
+ eslint: 8.56.0
+ eslint-scope: 5.1.1
+ semver: 7.6.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==}
+ 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.56.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.7
+ '@typescript-eslint/scope-manager': 6.21.0
+ '@typescript-eslint/types': 6.21.0
+ '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
+ eslint: 8.56.0
+ semver: 7.6.0
+ 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.21.0:
+ resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ dependencies:
+ '@typescript-eslint/types': 6.21.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
+ /@uiw/react-textarea-code-editor@2.1.9(@babel/runtime@7.23.9)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-fby8oencLyF1BMAMDVIe4zErb01Qf97G25vJld6mJmgFAbK5TwFW0XUvkxAuNKaLp+EccKf5pejCVHcS/jZ3eA==}
+ peerDependencies:
+ '@babel/runtime': '>=7.10.0'
+ react: '>=16.9.0'
+ react-dom: '>=16.9.0'
+ dependencies:
+ '@babel/runtime': 7.23.9
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ rehype: 12.0.1
+ rehype-prism-plus: 1.6.3
+ dev: false
+
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+
+ /@vitejs/plugin-react@4.2.1(vite@5.1.1):
+ resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0
+ dependencies:
+ '@babel/core': 7.23.9
+ '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9)
+ '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9)
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.14.0
+ vite: 5.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /abbrev@1.1.1:
+ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /abs-svg-path@0.1.1:
+ resolution: {integrity: sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==}
+ dev: false
+
+ /acorn-jsx@5.3.2(acorn@8.11.3):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.11.3
+ dev: true
+
+ /acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: false
+
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ /agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+ requiresBuild: true
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+ optional: 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
+ dev: true
+
+ /almost-equal@1.1.0:
+ resolution: {integrity: sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==}
+ dev: false
+
+ /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: false
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+ dev: false
+
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+
+ /ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /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
+ dev: false
+
+ /aproba@2.0.0:
+ resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /are-we-there-yet@2.0.0:
+ resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
+ engines: {node: '>=10'}
+ requiresBuild: true
+ dependencies:
+ delegates: 1.0.0
+ readable-stream: 3.6.2
+ dev: false
+ optional: true
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ /array-bounds@1.0.1:
+ resolution: {integrity: sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==}
+ dev: false
+
+ /array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ is-array-buffer: 3.0.4
+ dev: true
+
+ /array-find-index@1.0.2:
+ resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /array-includes@3.1.7:
+ resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ get-intrinsic: 1.2.4
+ is-string: 1.0.7
+ dev: true
+
+ /array-normalize@1.1.4:
+ resolution: {integrity: sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==}
+ dependencies:
+ array-bounds: 1.0.1
+ dev: false
+
+ /array-range@1.0.1:
+ resolution: {integrity: sha512-shdaI1zT3CVNL2hnx9c0JMc0ZogGaxDs5e85akgHWKYa0yVbIyp06Ind3dVkTj/uuFrzaHBOyqFzo+VV6aXgtA==}
+ dev: false
+
+ /array-rearrange@2.2.2:
+ resolution: {integrity: sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==}
+ dev: false
+
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /array.prototype.filter@1.0.3:
+ resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-array-method-boxes-properly: 1.0.0
+ is-string: 1.0.7
+ dev: true
+
+ /array.prototype.findlastindex@1.2.4:
+ resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.0.2
+ 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.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-shim-unscopables: 1.0.2
+ 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.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /array.prototype.tosorted@1.1.3:
+ resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.0.2
+ dev: true
+
+ /arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ is-array-buffer: 3.0.4
+ is-shared-array-buffer: 1.0.2
+ 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==}
+ dev: false
+
+ /available-typed-arrays@1.0.6:
+ resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /axios-mock-adapter@1.22.0(axios@1.6.7):
+ resolution: {integrity: sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==}
+ peerDependencies:
+ axios: '>= 0.17.0'
+ dependencies:
+ axios: 1.6.7
+ fast-deep-equal: 3.1.3
+ is-buffer: 2.0.5
+ dev: false
+
+ /axios@1.6.7:
+ resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
+ dependencies:
+ follow-redirects: 1.15.5
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+ dev: false
+
+ /babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+ dependencies:
+ '@babel/runtime': 7.23.9
+ cosmiconfig: 7.1.0
+ resolve: 1.22.8
+ dev: false
+
+ /bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+ dev: false
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ /base64-arraybuffer@1.0.2:
+ resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==}
+ engines: {node: '>= 0.6.0'}
+ dev: false
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: false
+
+ /binary-search-bounds@2.0.5:
+ resolution: {integrity: sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==}
+ dev: false
+
+ /bit-twiddle@1.0.2:
+ resolution: {integrity: sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==}
+ dev: false
+
+ /bitmap-sdf@1.0.4:
+ resolution: {integrity: sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==}
+ dev: false
+
+ /bl@2.2.1:
+ resolution: {integrity: sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==}
+ dependencies:
+ readable-stream: 2.3.8
+ safe-buffer: 5.2.1
+ dev: false
+
+ /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
+
+ /browserslist@4.22.3:
+ resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001587
+ electron-to-chromium: 1.4.668
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.3)
+ dev: false
+
+ /buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+ dev: false
+
+ /builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /builtins@5.0.1:
+ resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
+ dependencies:
+ semver: 7.6.0
+ dev: true
+
+ /call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.1
+ dev: true
+
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /caniuse-lite@1.0.30001587:
+ resolution: {integrity: sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==}
+ dev: false
+
+ /canvas-fit@1.5.0:
+ resolution: {integrity: sha512-onIcjRpz69/Hx5bB5HGbYKUF2uC6QT6Gp+pfpGm3A7mPfcluSLV5v4Zu+oflDUwLdUw0rLIBhUbi0v8hM4FJQQ==}
+ dependencies:
+ element-size: 1.1.1
+ dev: false
+
+ /canvas@2.11.2:
+ resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==}
+ engines: {node: '>=6'}
+ requiresBuild: true
+ dependencies:
+ '@mapbox/node-pre-gyp': 1.0.11
+ nan: 2.18.0
+ simple-get: 3.1.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+ optional: true
+
+ /ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ dev: false
+
+ /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
+ dev: false
+
+ /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
+ dev: true
+
+ /character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+ dev: false
+
+ /character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+ dev: false
+
+ /character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+ dev: false
+
+ /character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+ dev: false
+
+ /chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ 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
+ dev: false
+
+ /chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /clamp@1.0.1:
+ resolution: {integrity: sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==}
+ dev: false
+
+ /classcat@5.0.4:
+ resolution: {integrity: sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==}
+ dev: false
+
+ /client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+ dev: false
+
+ /clsx@1.2.1:
+ resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /clsx@2.1.0:
+ resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /color-alpha@1.0.4:
+ resolution: {integrity: sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==}
+ dependencies:
+ color-parse: 1.3.8
+ dev: false
+
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+ dev: false
+
+ /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-id@1.1.0:
+ resolution: {integrity: sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==}
+ dependencies:
+ clamp: 1.0.1
+ dev: false
+
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+ dev: false
+
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ /color-normalize@1.5.0:
+ resolution: {integrity: sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==}
+ dependencies:
+ clamp: 1.0.1
+ color-rgba: 2.1.1
+ dtype: 2.0.0
+ dev: false
+
+ /color-parse@1.3.8:
+ resolution: {integrity: sha512-1Y79qFv0n1xair3lNMTNeoFvmc3nirMVBij24zbs1f13+7fPpQClMg5b4AuKXLt3szj7BRlHMCXHplkce6XlmA==}
+ dependencies:
+ color-name: 1.1.4
+ defined: 1.0.1
+ is-plain-obj: 1.1.0
+ dev: false
+
+ /color-rgba@2.1.1:
+ resolution: {integrity: sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==}
+ dependencies:
+ clamp: 1.0.1
+ color-parse: 1.3.8
+ color-space: 1.16.0
+ dev: false
+
+ /color-space@1.16.0:
+ resolution: {integrity: sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==}
+ dependencies:
+ hsluv: 0.0.3
+ mumath: 3.3.4
+ dev: false
+
+ /color-support@1.1.3:
+ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
+ hasBin: true
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: false
+
+ /comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+ dev: false
+
+ /commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
+ dev: false
+
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ dev: false
+
+ /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
+ dev: false
+
+ /console-control-strings@1.1.0:
+ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ dev: false
+
+ /convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+ dev: false
+
+ /core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ dev: false
+
+ /cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+ dev: false
+
+ /cosmiconfig@8.3.6(typescript@5.3.3):
+ 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.3.3
+ dev: false
+
+ /country-regex@1.1.0:
+ resolution: {integrity: sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==}
+ dev: false
+
+ /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: false
+
+ /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
+
+ /css-font-size-keywords@1.0.0:
+ resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==}
+ dev: false
+
+ /css-font-stretch-keywords@1.0.1:
+ resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==}
+ dev: false
+
+ /css-font-style-keywords@1.0.1:
+ resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==}
+ dev: false
+
+ /css-font-weight-keywords@1.0.0:
+ resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==}
+ dev: false
+
+ /css-font@1.2.0:
+ resolution: {integrity: sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==}
+ dependencies:
+ css-font-size-keywords: 1.0.0
+ css-font-stretch-keywords: 1.0.1
+ css-font-style-keywords: 1.0.1
+ css-font-weight-keywords: 1.0.0
+ css-global-keywords: 1.0.1
+ css-system-font-keywords: 1.0.0
+ pick-by-alias: 1.2.0
+ string-split-by: 1.0.0
+ unquote: 1.1.1
+ dev: false
+
+ /css-global-keywords@1.0.1:
+ resolution: {integrity: sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==}
+ dev: false
+
+ /css-system-font-keywords@1.0.0:
+ resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==}
+ dev: false
+
+ /csscolorparser@1.0.3:
+ resolution: {integrity: sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==}
+ dev: false
+
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ /d3-array@1.2.4:
+ resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==}
+ dev: false
+
+ /d3-collection@1.0.7:
+ resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==}
+ dev: false
+
+ /d3-color@3.1.0:
+ resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /d3-dispatch@1.0.6:
+ resolution: {integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==}
+ dev: false
+
+ /d3-dispatch@3.0.1:
+ resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /d3-drag@3.0.0:
+ resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
+ engines: {node: '>=12'}
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-selection: 3.0.0
+ dev: false
+
+ /d3-ease@3.0.1:
+ resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /d3-force@1.2.1:
+ resolution: {integrity: sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==}
+ dependencies:
+ d3-collection: 1.0.7
+ d3-dispatch: 1.0.6
+ d3-quadtree: 1.0.7
+ d3-timer: 1.0.10
+ dev: false
+
+ /d3-format@1.4.5:
+ resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==}
+ dev: false
+
+ /d3-geo-projection@2.9.0:
+ resolution: {integrity: sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==}
+ hasBin: true
+ dependencies:
+ commander: 2.20.3
+ d3-array: 1.2.4
+ d3-geo: 1.12.1
+ resolve: 1.22.8
+ dev: false
+
+ /d3-geo@1.12.1:
+ resolution: {integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==}
+ dependencies:
+ d3-array: 1.2.4
+ dev: false
+
+ /d3-hierarchy@1.1.9:
+ resolution: {integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==}
+ dev: false
+
+ /d3-interpolate@3.0.1:
+ resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
+ engines: {node: '>=12'}
+ dependencies:
+ d3-color: 3.1.0
+ dev: false
+
+ /d3-path@1.0.9:
+ resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
+ dev: false
+
+ /d3-quadtree@1.0.7:
+ resolution: {integrity: sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==}
+ dev: false
+
+ /d3-selection@3.0.0:
+ resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /d3-shape@1.3.7:
+ resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
+ dependencies:
+ d3-path: 1.0.9
+ dev: false
+
+ /d3-time-format@2.3.0:
+ resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==}
+ dependencies:
+ d3-time: 1.1.0
+ dev: false
+
+ /d3-time@1.1.0:
+ resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==}
+ dev: false
+
+ /d3-timer@1.0.10:
+ resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==}
+ dev: false
+
+ /d3-timer@3.0.1:
+ resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /d3-transition@3.0.1(d3-selection@3.0.0):
+ resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ d3-selection: 2 - 3
+ dependencies:
+ d3-color: 3.1.0
+ d3-dispatch: 3.0.1
+ d3-ease: 3.0.1
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-timer: 3.0.1
+ dev: false
+
+ /d3-zoom@3.0.0:
+ resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
+ engines: {node: '>=12'}
+ dependencies:
+ d3-dispatch: 3.0.1
+ d3-drag: 3.0.0
+ d3-interpolate: 3.0.1
+ d3-selection: 3.0.0
+ d3-transition: 3.0.1(d3-selection@3.0.0)
+ dev: false
+
+ /d@1.0.1:
+ resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
+ dependencies:
+ es5-ext: 0.10.62
+ type: 1.2.0
+ dev: false
+
+ /dayjs@1.11.10:
+ resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
+ dev: false
+
+ /debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.0.0
+ dev: false
+
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
+
+ /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
+
+ /decode-named-character-reference@1.0.2:
+ resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
+ dependencies:
+ character-entities: 2.0.2
+ dev: false
+
+ /decompress-response@4.2.1:
+ resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dependencies:
+ mimic-response: 2.1.0
+ dev: false
+ optional: true
+
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
+
+ /define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+ dev: true
+
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
+ dev: true
+
+ /defined@1.0.1:
+ resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
+ dev: false
+
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+ dev: false
+
+ /delegates@1.0.0:
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /detect-kerning@2.1.2:
+ resolution: {integrity: sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==}
+ dev: false
+
+ /detect-libc@2.0.2:
+ resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+ dependencies:
+ dequal: 2.0.3
+ dev: false
+
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /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-helpers@5.2.1:
+ resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
+ dependencies:
+ '@babel/runtime': 7.23.9
+ csstype: 3.1.3
+ dev: false
+
+ /dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+ dev: false
+
+ /dotenv@16.4.4:
+ resolution: {integrity: sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /draw-svg-path@1.0.0:
+ resolution: {integrity: sha512-P8j3IHxcgRMcY6sDzr0QvJDLzBnJJqpTG33UZ2Pvp8rw0apCHhJCWqYprqrXjrgHnJ6tuhP1iTJSAodPDHxwkg==}
+ dependencies:
+ abs-svg-path: 0.1.1
+ normalize-svg-path: 0.1.0
+ dev: false
+
+ /dtype@2.0.0:
+ resolution: {integrity: sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==}
+ engines: {node: '>= 0.8.0'}
+ dev: false
+
+ /dup@1.0.0:
+ resolution: {integrity: sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==}
+ dev: false
+
+ /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.3
+ dev: false
+
+ /earcut@2.2.4:
+ resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
+ dev: false
+
+ /eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ dev: false
+
+ /electron-to-chromium@1.4.668:
+ resolution: {integrity: sha512-ZOBocMYCehr9W31+GpMclR+KBaDZOoAEabLdhpZ8oU1JFDwIaFY0UDbpXVEUFc0BIP2O2Qn3rkfCjQmMR4T/bQ==}
+ dev: false
+
+ /element-size@1.1.1:
+ resolution: {integrity: sha512-eaN+GMOq/Q+BIWy0ybsgpcYImjGIdNLyjLFJU4XsLHXYQao5jCNb36GyN6C2qwmDDYSfIBmKpPpr4VnBdLCsPQ==}
+ dev: false
+
+ /elementary-circuits-directed-graph@1.3.1:
+ resolution: {integrity: sha512-ZEiB5qkn2adYmpXGnJKkxT8uJHlW/mxmBpmeqawEHzPxh9HkLD4/1mFYX5l0On+f6rcPIt8/EWlRU2Vo3fX6dQ==}
+ dependencies:
+ strongly-connected-components: 1.0.1
+ dev: false
+
+ /elkjs@0.8.2:
+ resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==}
+ dev: false
+
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ requiresBuild: true
+ dev: false
+
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ dev: false
+
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ dependencies:
+ once: 1.4.0
+ dev: false
+
+ /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
+ dev: true
+
+ /entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
+ dev: false
+
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
+ dev: false
+
+ /es-abstract@1.22.4:
+ resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.6
+ call-bind: 1.0.7
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.2
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.1
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ 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.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.0
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.8
+ string.prototype.trimend: 1.0.7
+ string.prototype.trimstart: 1.0.7
+ typed-array-buffer: 1.0.1
+ 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.14
+ dev: true
+
+ /es-array-method-boxes-properly@1.0.0:
+ resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
+ dev: true
+
+ /es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /es-iterator-helpers@1.0.16:
+ resolution: {integrity: sha512-CREG2A9Vq7bpDRnldhFcMKuKArvkZtsH6Y0DHOHVg49qhf+LD8uEdUM3OkOAICv0EziGtDEnQtqY2/mfBILpFw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ asynciterator.prototype: 1.0.0
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.2
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.1.0
+ dev: true
+
+ /es-set-tostringtag@2.0.2:
+ resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
+ has-tostringtag: 1.0.2
+ hasown: 2.0.1
+ dev: true
+
+ /es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ dependencies:
+ hasown: 2.0.1
+ 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: false
+
+ /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: false
+
+ /es6-symbol@3.1.3:
+ resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
+ dependencies:
+ d: 1.0.1
+ ext: 1.7.0
+ dev: false
+
+ /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: false
+
+ /esbuild@0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.19.12
+ '@esbuild/android-arm': 0.19.12
+ '@esbuild/android-arm64': 0.19.12
+ '@esbuild/android-x64': 0.19.12
+ '@esbuild/darwin-arm64': 0.19.12
+ '@esbuild/darwin-x64': 0.19.12
+ '@esbuild/freebsd-arm64': 0.19.12
+ '@esbuild/freebsd-x64': 0.19.12
+ '@esbuild/linux-arm': 0.19.12
+ '@esbuild/linux-arm64': 0.19.12
+ '@esbuild/linux-ia32': 0.19.12
+ '@esbuild/linux-loong64': 0.19.12
+ '@esbuild/linux-mips64el': 0.19.12
+ '@esbuild/linux-ppc64': 0.19.12
+ '@esbuild/linux-riscv64': 0.19.12
+ '@esbuild/linux-s390x': 0.19.12
+ '@esbuild/linux-x64': 0.19.12
+ '@esbuild/netbsd-x64': 0.19.12
+ '@esbuild/openbsd-x64': 0.19.12
+ '@esbuild/sunos-x64': 0.19.12
+ '@esbuild/win32-arm64': 0.19.12
+ '@esbuild/win32-ia32': 0.19.12
+ '@esbuild/win32-x64': 0.19.12
+ dev: false
+
+ /escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ engines: {node: '>=6'}
+ dev: false
+
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+ dev: false
+
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ /escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /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: false
+
+ /eslint-compat-utils@0.1.2(eslint@8.56.0):
+ resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-config-prettier@9.1.0(eslint@8.56.0):
+ resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-config-standard-with-typescript@39.1.1(@typescript-eslint/eslint-plugin@6.21.0)(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-t6B5Ep8E4I18uuoYeYxINyqcXb2UbC0SOOTxRtBSt2JUs+EzeXbfe2oaiPs71AIdnoWhXDO2fYOHz8df3kV84A==}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': ^6.4.0
+ eslint: ^8.0.1
+ eslint-plugin-import: ^2.25.2
+ eslint-plugin-n: '^15.0.0 || ^16.0.0 '
+ eslint-plugin-promise: ^6.0.0
+ typescript: '*'
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ eslint-plugin-n: 16.6.2(eslint@8.56.0)
+ eslint-plugin-promise: 6.1.1(eslint@8.56.0)
+ typescript: 5.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0):
+ resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ eslint: ^8.0.1
+ eslint-plugin-import: ^2.25.2
+ eslint-plugin-n: '^15.0.0 || ^16.0.0 '
+ eslint-plugin-promise: ^6.0.0
+ dependencies:
+ eslint: 8.56.0
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ eslint-plugin-n: 16.6.2(eslint@8.56.0)
+ eslint-plugin-promise: 6.1.1(eslint@8.56.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.1
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.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.56.0
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.7.2
+ is-core-module: 2.13.1
+ 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.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.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.21.0(eslint@8.56.0)(typescript@5.3.3)
+ debug: 3.2.7
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0)
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-es-x@7.5.0(eslint@8.56.0):
+ resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=8'
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@eslint-community/regexpp': 4.10.0
+ eslint: 8.56.0
+ eslint-compat-utils: 0.1.2(eslint@8.56.0)
+ dev: true
+
+ /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0):
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
+ 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.21.0(eslint@8.56.0)(typescript@5.3.3)
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.4
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0)
+ hasown: 2.0.1
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.2
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: true
+
+ /eslint-plugin-n@16.6.2(eslint@8.56.0):
+ resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==}
+ engines: {node: '>=16.0.0'}
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ builtins: 5.0.1
+ eslint: 8.56.0
+ eslint-plugin-es-x: 7.5.0(eslint@8.56.0)
+ get-tsconfig: 4.7.2
+ globals: 13.24.0
+ ignore: 5.3.1
+ is-builtin-module: 3.2.1
+ is-core-module: 2.13.1
+ minimatch: 3.1.2
+ resolve: 1.22.8
+ semver: 7.6.0
+ dev: true
+
+ /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.5):
+ resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
+ 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:
+ eslint: 8.56.0
+ eslint-config-prettier: 9.1.0(eslint@8.56.0)
+ prettier: 3.2.5
+ prettier-linter-helpers: 1.0.0
+ synckit: 0.8.8
+ dev: true
+
+ /eslint-plugin-promise@6.1.1(eslint@8.56.0):
+ resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-plugin-react-hooks@4.6.0(eslint@8.56.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.56.0
+ dev: true
+
+ /eslint-plugin-react@7.33.2(eslint@8.56.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.3
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.16
+ eslint: 8.56.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-testing-library@6.2.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-+LCYJU81WF2yQ+Xu4A135CgK8IszcFcyMF4sWkbiu6Oj+Nel0TrkZq/HvDw0/1WuO3dhDQsZA/OpEMGd0NfcUw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'}
+ peerDependencies:
+ eslint: ^7.5.0 || ^8.0.0
+ dependencies:
+ '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ 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
+ dev: true
+
+ /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.56.0:
+ resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@eslint-community/regexpp': 4.10.0
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.56.0
+ '@humanwhocodes/config-array': 0.11.14
+ '@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.24.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ 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.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
+ 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
+ dev: false
+
+ /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
+ dev: true
+
+ /estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ /estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+ dev: false
+
+ /estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: false
+
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ /events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+ dev: false
+
+ /ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+ dependencies:
+ type: 2.7.2
+ dev: false
+
+ /extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+ dev: false
+
+ /falafel@2.2.5:
+ resolution: {integrity: sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==}
+ engines: {node: '>=0.4.0'}
+ dependencies:
+ acorn: 7.4.1
+ isarray: 2.0.5
+ dev: false
+
+ /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-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ 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
+ dev: true
+
+ /fast-isnumeric@1.1.4:
+ resolution: {integrity: sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==}
+ dependencies:
+ is-string-blank: 1.0.1
+ dev: false
+
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
+
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ dev: true
+
+ /fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.2.0
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+
+ /find-root@1.1.0:
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ dev: false
+
+ /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
+
+ /flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.2.9
+ keyv: 4.5.4
+ rimraf: 3.0.2
+ dev: true
+
+ /flatted@3.2.9:
+ resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
+ dev: true
+
+ /flatten-vertex-data@1.0.2:
+ resolution: {integrity: sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==}
+ dependencies:
+ dtype: 2.0.0
+ dev: false
+
+ /follow-redirects@1.15.5:
+ resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+ dev: false
+
+ /font-atlas@2.1.0:
+ resolution: {integrity: sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==}
+ dependencies:
+ css-font: 1.2.0
+ dev: false
+
+ /font-measure@1.2.2:
+ resolution: {integrity: sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==}
+ dependencies:
+ css-font: 1.2.0
+ dev: false
+
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ dependencies:
+ is-callable: 1.2.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: false
+
+ /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
+ dev: false
+
+ /from2@2.3.0:
+ resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+ dev: false
+
+ /fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+ requiresBuild: true
+ dependencies:
+ minipass: 3.3.6
+ dev: false
+ optional: true
+
+ /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
+ dev: false
+ 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.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ functions-have-names: 1.2.3
+ dev: true
+
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /gauge@3.0.2:
+ resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ engines: {node: '>=10'}
+ requiresBuild: true
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+ dev: false
+ optional: true
+
+ /gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+ dev: false
+
+ /geojson-vt@3.2.1:
+ resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==}
+ dev: false
+
+ /get-canvas-context@1.0.2:
+ resolution: {integrity: sha512-LnpfLf/TNzr9zVOGiIY6aKCz8EKuXmlYNV7CM2pUjBa/B+c2I15tS7KLySep75+FuerJdmArvJLcsAXWEy2H0A==}
+ dev: false
+
+ /get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.1
+ has-symbols: 1.0.3
+ hasown: 2.0.1
+ dev: true
+
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: false
+
+ /get-symbol-description@1.0.2:
+ resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
+ /gl-mat4@1.2.0:
+ resolution: {integrity: sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==}
+ dev: false
+
+ /gl-matrix@3.4.3:
+ resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==}
+ dev: false
+
+ /gl-text@1.3.1:
+ resolution: {integrity: sha512-/f5gcEMiZd+UTBJLTl3D+CkCB/0UFGTx3nflH8ZmyWcLkZhsZ1+Xx5YYkw2rgWAzgPeE35xCqBuHSoMKQVsR+w==}
+ dependencies:
+ bit-twiddle: 1.0.2
+ color-normalize: 1.5.0
+ css-font: 1.2.0
+ detect-kerning: 2.1.2
+ es6-weak-map: 2.0.3
+ flatten-vertex-data: 1.0.2
+ font-atlas: 2.1.0
+ font-measure: 1.2.2
+ gl-util: 3.1.3
+ is-plain-obj: 1.1.0
+ object-assign: 4.1.1
+ parse-rect: 1.2.0
+ parse-unit: 1.0.1
+ pick-by-alias: 1.2.0
+ regl: 2.1.0
+ to-px: 1.0.1
+ typedarray-pool: 1.2.0
+ dev: false
+
+ /gl-util@3.1.3:
+ resolution: {integrity: sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==}
+ dependencies:
+ is-browser: 2.1.0
+ is-firefox: 1.0.3
+ is-plain-obj: 1.1.0
+ number-is-integer: 1.0.1
+ object-assign: 4.1.1
+ pick-by-alias: 1.2.0
+ weak-map: 1.0.8
+ dev: false
+
+ /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
+ dev: true
+
+ /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: false
+
+ /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
+
+ /globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ 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.2
+ ignore: 5.3.1
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+ dev: false
+
+ /glsl-inject-defines@1.0.3:
+ resolution: {integrity: sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==}
+ dependencies:
+ glsl-token-inject-block: 1.1.0
+ glsl-token-string: 1.0.1
+ glsl-tokenizer: 2.1.5
+ dev: false
+
+ /glsl-resolve@0.0.1:
+ resolution: {integrity: sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==}
+ dependencies:
+ resolve: 0.6.3
+ xtend: 2.2.0
+ dev: false
+
+ /glsl-token-assignments@2.0.2:
+ resolution: {integrity: sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==}
+ dev: false
+
+ /glsl-token-defines@1.0.0:
+ resolution: {integrity: sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==}
+ dependencies:
+ glsl-tokenizer: 2.1.5
+ dev: false
+
+ /glsl-token-depth@1.1.2:
+ resolution: {integrity: sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==}
+ dev: false
+
+ /glsl-token-descope@1.0.2:
+ resolution: {integrity: sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==}
+ dependencies:
+ glsl-token-assignments: 2.0.2
+ glsl-token-depth: 1.1.2
+ glsl-token-properties: 1.0.1
+ glsl-token-scope: 1.1.2
+ dev: false
+
+ /glsl-token-inject-block@1.1.0:
+ resolution: {integrity: sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==}
+ dev: false
+
+ /glsl-token-properties@1.0.1:
+ resolution: {integrity: sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==}
+ dev: false
+
+ /glsl-token-scope@1.1.2:
+ resolution: {integrity: sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==}
+ dev: false
+
+ /glsl-token-string@1.0.1:
+ resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==}
+ dev: false
+
+ /glsl-token-whitespace-trim@1.0.0:
+ resolution: {integrity: sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==}
+ dev: false
+
+ /glsl-tokenizer@2.1.5:
+ resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
+ dependencies:
+ through2: 0.6.5
+ dev: false
+
+ /glslify-bundle@5.1.1:
+ resolution: {integrity: sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==}
+ dependencies:
+ glsl-inject-defines: 1.0.3
+ glsl-token-defines: 1.0.0
+ glsl-token-depth: 1.1.2
+ glsl-token-descope: 1.0.2
+ glsl-token-scope: 1.1.2
+ glsl-token-string: 1.0.1
+ glsl-token-whitespace-trim: 1.0.0
+ glsl-tokenizer: 2.1.5
+ murmurhash-js: 1.0.0
+ shallow-copy: 0.0.1
+ dev: false
+
+ /glslify-deps@1.3.2:
+ resolution: {integrity: sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==}
+ dependencies:
+ '@choojs/findup': 0.2.1
+ events: 3.3.0
+ glsl-resolve: 0.0.1
+ glsl-tokenizer: 2.1.5
+ graceful-fs: 4.2.11
+ inherits: 2.0.4
+ map-limit: 0.0.1
+ resolve: 1.22.8
+ dev: false
+
+ /glslify@7.1.1:
+ resolution: {integrity: sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==}
+ hasBin: true
+ dependencies:
+ bl: 2.2.1
+ concat-stream: 1.6.2
+ duplexify: 3.7.1
+ falafel: 2.2.5
+ from2: 2.3.0
+ glsl-resolve: 0.0.1
+ glsl-token-whitespace-trim: 1.0.0
+ glslify-bundle: 5.1.1
+ glslify-deps: 1.3.2
+ minimist: 1.2.8
+ resolve: 1.22.8
+ stack-trace: 0.0.9
+ static-eval: 2.1.1
+ through2: 2.0.5
+ xtend: 4.0.2
+ dev: false
+
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /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
+
+ /grid-index@1.1.0:
+ resolution: {integrity: sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==}
+ dev: false
+
+ /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'}
+ dev: false
+
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /has-hover@1.0.1:
+ resolution: {integrity: sha512-0G6w7LnlcpyDzpeGUTuT0CEw05+QlMuGVk1IHNAlHrGJITGodjZu3x8BNDUMfKJSZXNB2ZAclqc1bvrd+uUpfg==}
+ dependencies:
+ is-browser: 2.1.0
+ dev: false
+
+ /has-passive-events@1.0.0:
+ resolution: {integrity: sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==}
+ dependencies:
+ is-browser: 2.1.0
+ dev: false
+
+ /has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ dependencies:
+ es-define-property: 1.0.0
+ dev: true
+
+ /has-proto@1.0.1:
+ resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /has-unicode@2.0.1:
+ resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /hasown@2.0.1:
+ resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+
+ /hast-util-from-parse5@7.1.2:
+ resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==}
+ dependencies:
+ '@types/hast': 2.3.10
+ '@types/unist': 2.0.10
+ hastscript: 7.2.0
+ property-information: 6.4.1
+ vfile: 5.3.7
+ vfile-location: 4.1.0
+ web-namespaces: 2.0.1
+ dev: false
+
+ /hast-util-parse-selector@3.1.1:
+ resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==}
+ dependencies:
+ '@types/hast': 2.3.10
+ dev: false
+
+ /hast-util-raw@7.2.3:
+ resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==}
+ dependencies:
+ '@types/hast': 2.3.10
+ '@types/parse5': 6.0.3
+ hast-util-from-parse5: 7.1.2
+ hast-util-to-parse5: 7.1.0
+ html-void-elements: 2.0.1
+ parse5: 6.0.1
+ unist-util-position: 4.0.4
+ unist-util-visit: 4.1.2
+ vfile: 5.3.7
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+ dev: false
+
+ /hast-util-to-html@8.0.4:
+ resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==}
+ dependencies:
+ '@types/hast': 2.3.10
+ '@types/unist': 2.0.10
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-raw: 7.2.3
+ hast-util-whitespace: 2.0.1
+ html-void-elements: 2.0.1
+ property-information: 6.4.1
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.3
+ zwitch: 2.0.4
+ dev: false
+
+ /hast-util-to-jsx-runtime@2.3.0:
+ resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.2
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.0
+ mdast-util-mdx-jsx: 3.1.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 6.4.1
+ space-separated-tokens: 2.0.2
+ style-to-object: 1.0.5
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /hast-util-to-parse5@7.1.0:
+ resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==}
+ dependencies:
+ '@types/hast': 2.3.10
+ comma-separated-tokens: 2.0.3
+ property-information: 6.4.1
+ space-separated-tokens: 2.0.2
+ web-namespaces: 2.0.1
+ zwitch: 2.0.4
+ dev: false
+
+ /hast-util-to-string@2.0.0:
+ resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==}
+ dependencies:
+ '@types/hast': 2.3.10
+ dev: false
+
+ /hast-util-whitespace@2.0.1:
+ resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
+ dev: false
+
+ /hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+ dependencies:
+ '@types/hast': 3.0.4
+ dev: false
+
+ /hastscript@7.2.0:
+ resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==}
+ dependencies:
+ '@types/hast': 2.3.10
+ comma-separated-tokens: 2.0.3
+ hast-util-parse-selector: 3.1.1
+ property-information: 6.4.1
+ space-separated-tokens: 2.0.2
+ dev: false
+
+ /hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ dependencies:
+ react-is: 16.13.1
+ dev: false
+
+ /hsluv@0.0.3:
+ resolution: {integrity: sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ==}
+ dev: false
+
+ /html-url-attributes@3.0.0:
+ resolution: {integrity: sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==}
+ dev: false
+
+ /html-void-elements@2.0.1:
+ resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
+ dev: false
+
+ /https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+ requiresBuild: true
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+ optional: true
+
+ /iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: false
+
+ /ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ dev: false
+
+ /ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
+ 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
+
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+ 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==}
+
+ /inline-style-parser@0.2.2:
+ resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==}
+ dev: false
+
+ /internal-slot@1.0.7:
+ resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.1
+ side-channel: 1.0.5
+ dev: true
+
+ /is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+ dev: false
+
+ /is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
+ dev: false
+
+ /is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: false
+
+ /is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ 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
+ dev: false
+
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-browser@2.1.0:
+ resolution: {integrity: sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==}
+ dev: false
+
+ /is-buffer@2.0.5:
+ resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /is-builtin-module@3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+ dependencies:
+ builtin-modules: 3.3.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.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ dependencies:
+ hasown: 2.0.1
+
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+ dev: false
+
+ /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.7
+ dev: true
+
+ /is-finite@1.1.0:
+ resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-firefox@1.0.3:
+ resolution: {integrity: sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dev: false
+
+ /is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+
+ /is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+ dev: false
+
+ /is-iexplorer@1.0.0:
+ resolution: {integrity: sha512-YeLzceuwg3K6O0MLM3UyUUjKAlyULetwryFp1mHy1I5PfArK0AEqlfa+MR4gkJjcbuJXoDJCvXbyqZVf5CR2Sg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /is-map@2.0.2:
+ resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
+ dev: true
+
+ /is-mobile@4.0.0:
+ resolution: {integrity: sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==}
+ dev: false
+
+ /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.2
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ /is-obj@1.0.1:
+ resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /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: false
+
+ /is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+ dev: false
+
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+ 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.7
+ dev: true
+
+ /is-string-blank@1.0.1:
+ resolution: {integrity: sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==}
+ dev: false
+
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /is-svg-path@1.0.2:
+ resolution: {integrity: sha512-Lj4vePmqpPR1ZnRctHv8ltSh1OrSxHkhUkd7wi+VQdcdP15/KvQFyk7LhNuM7ZW0EVbJz8kZLVmL9quLrfq4Kg==}
+ dev: false
+
+ /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.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ which-typed-array: 1.1.14
+ 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.7
+ dev: true
+
+ /is-weakset@2.0.2:
+ resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ dev: true
+
+ /isarray@0.0.1:
+ resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
+ dev: false
+
+ /isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ dev: false
+
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ /iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ dependencies:
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.5
+ 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: false
+
+ /js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+
+ /jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: false
+
+ /json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
+
+ /json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ dev: false
+
+ /json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
+
+ /json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ 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
+ dev: false
+
+ /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.5
+ object.values: 1.1.7
+ dev: true
+
+ /kdbush@3.0.0:
+ resolution: {integrity: sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==}
+ dev: false
+
+ /keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ dependencies:
+ json-buffer: 3.0.1
+ 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
+
+ /lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ dev: false
+
+ /locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+ dev: true
+
+ /lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ /longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+ 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@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ dependencies:
+ tslib: 2.6.2
+ dev: false
+
+ /lru-cache@10.2.0:
+ resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
+ engines: {node: 14 || >=16.14}
+ dev: false
+
+ /lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ dependencies:
+ yallist: 3.1.1
+ dev: false
+
+ /lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+
+ /magic-string@0.30.7:
+ resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ dev: false
+
+ /make-cancellable-promise@1.3.2:
+ resolution: {integrity: sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==}
+ dev: false
+
+ /make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dependencies:
+ semver: 6.3.1
+ dev: false
+ optional: true
+
+ /make-event-props@1.6.2:
+ resolution: {integrity: sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==}
+ dev: false
+
+ /map-limit@0.0.1:
+ resolution: {integrity: sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==}
+ dependencies:
+ once: 1.3.3
+ dev: false
+
+ /mapbox-gl@1.13.3:
+ resolution: {integrity: sha512-p8lJFEiqmEQlyv+DQxFAOG/XPWN0Wp7j/Psq93Zywz7qt9CcUKFYDBOoOEKzqe6gudHVJY8/Bhqw6VDpX2lSBg==}
+ engines: {node: '>=6.4.0'}
+ dependencies:
+ '@mapbox/geojson-rewind': 0.5.2
+ '@mapbox/geojson-types': 1.0.2
+ '@mapbox/jsonlint-lines-primitives': 2.0.2
+ '@mapbox/mapbox-gl-supported': 1.5.0(mapbox-gl@1.13.3)
+ '@mapbox/point-geometry': 0.1.0
+ '@mapbox/tiny-sdf': 1.2.5
+ '@mapbox/unitbezier': 0.0.0
+ '@mapbox/vector-tile': 1.3.1
+ '@mapbox/whoots-js': 3.1.0
+ csscolorparser: 1.0.3
+ earcut: 2.2.4
+ geojson-vt: 3.2.1
+ gl-matrix: 3.4.3
+ grid-index: 1.1.0
+ murmurhash-js: 1.0.0
+ pbf: 3.2.1
+ potpack: 1.0.2
+ quickselect: 2.0.0
+ rw: 1.3.3
+ supercluster: 7.1.5
+ tinyqueue: 2.0.3
+ vt-pbf: 3.1.3
+ dev: false
+
+ /markdown-table@3.0.3:
+ resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
+ dev: false
+
+ /math-log2@1.0.1:
+ resolution: {integrity: sha512-9W0yGtkaMAkf74XGYVy4Dqw3YUMnTNB2eeiw9aQbUl4A3KmuCEHTt2DgAB07ENzOYAjsYSAYufkAq0Zd+jU7zA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /mdast-util-find-and-replace@3.0.1:
+ resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+ dev: false
+
+ /mdast-util-from-markdown@2.0.0:
+ resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ '@types/unist': 3.0.2
+ decode-named-character-reference: 1.0.2
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.0
+ micromark-util-decode-numeric-character-reference: 2.0.1
+ micromark-util-decode-string: 2.0.0
+ micromark-util-normalize-identifier: 2.0.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-gfm-autolink-literal@2.0.0:
+ resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.1
+ micromark-util-character: 2.1.0
+ dev: false
+
+ /mdast-util-gfm-footnote@2.0.0:
+ resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ micromark-util-normalize-identifier: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ devlop: 1.1.0
+ markdown-table: 3.0.3
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-gfm@3.0.0:
+ resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
+ dependencies:
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-gfm-autolink-literal: 2.0.0
+ mdast-util-gfm-footnote: 2.0.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-mdx-expression@2.0.0:
+ resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==}
+ dependencies:
+ '@types/estree-jsx': 1.0.4
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.3
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-mdx-jsx@3.1.0:
+ resolution: {integrity: sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w==}
+ dependencies:
+ '@types/estree-jsx': 1.0.4
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.3
+ '@types/unist': 3.0.2
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ parse-entities: 4.0.1
+ stringify-entities: 4.0.3
+ unist-util-remove-position: 5.0.0
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+ dependencies:
+ '@types/estree-jsx': 1.0.4
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.3
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.0
+ mdast-util-to-markdown: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ unist-util-is: 6.0.0
+ dev: false
+
+ /mdast-util-to-hast@13.1.0:
+ resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==}
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.3
+ '@ungap/structured-clone': 1.2.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.0
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.1
+ dev: false
+
+ /mdast-util-to-markdown@2.1.0:
+ resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ '@types/unist': 3.0.2
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-decode-string: 2.0.0
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+ dev: false
+
+ /mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ dev: false
+
+ /merge-refs@1.2.2(@types/react@18.2.55):
+ resolution: {integrity: sha512-RwcT7GsQR3KbuLw1rRuodq4Nt547BKEBkliZ0qqsrpyNne9bGTFtsFIsIpx82huWhcl3kOlOlH4H0xkPk/DqVw==}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.55
+ dev: false
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /micromark-core-commonmark@2.0.0:
+ resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.0
+ micromark-factory-label: 2.0.0
+ micromark-factory-space: 2.0.0
+ micromark-factory-title: 2.0.0
+ micromark-factory-whitespace: 2.0.0
+ micromark-util-character: 2.1.0
+ micromark-util-chunked: 2.0.0
+ micromark-util-classify-character: 2.0.0
+ micromark-util-html-tag-name: 2.0.0
+ micromark-util-normalize-identifier: 2.0.0
+ micromark-util-resolve-all: 2.0.0
+ micromark-util-subtokenize: 2.0.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-extension-gfm-autolink-literal@2.0.0:
+ resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==}
+ dependencies:
+ micromark-util-character: 2.1.0
+ micromark-util-sanitize-uri: 2.0.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-extension-gfm-footnote@2.0.0:
+ resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==}
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.0
+ micromark-factory-space: 2.0.0
+ micromark-util-character: 2.1.0
+ micromark-util-normalize-identifier: 2.0.0
+ micromark-util-sanitize-uri: 2.0.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-extension-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==}
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.0
+ micromark-util-classify-character: 2.0.0
+ micromark-util-resolve-all: 2.0.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-extension-gfm-table@2.0.0:
+ resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==}
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.0
+ micromark-util-character: 2.1.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+ dependencies:
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-extension-gfm-task-list-item@2.0.1:
+ resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==}
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.0
+ micromark-util-character: 2.1.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.0.0
+ micromark-extension-gfm-footnote: 2.0.0
+ micromark-extension-gfm-strikethrough: 2.0.0
+ micromark-extension-gfm-table: 2.0.0
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.0.1
+ micromark-util-combine-extensions: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-factory-destination@2.0.0:
+ resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
+ dependencies:
+ micromark-util-character: 2.1.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-factory-label@2.0.0:
+ resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-factory-space@2.0.0:
+ resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
+ dependencies:
+ micromark-util-character: 2.1.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-factory-title@2.0.0:
+ resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
+ dependencies:
+ micromark-factory-space: 2.0.0
+ micromark-util-character: 2.1.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-factory-whitespace@2.0.0:
+ resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
+ dependencies:
+ micromark-factory-space: 2.0.0
+ micromark-util-character: 2.1.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-util-character@2.1.0:
+ resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
+ dependencies:
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-util-chunked@2.0.0:
+ resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
+ dependencies:
+ micromark-util-symbol: 2.0.0
+ dev: false
+
+ /micromark-util-classify-character@2.0.0:
+ resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
+ dependencies:
+ micromark-util-character: 2.1.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-util-combine-extensions@2.0.0:
+ resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
+ dependencies:
+ micromark-util-chunked: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-util-decode-numeric-character-reference@2.0.1:
+ resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
+ dependencies:
+ micromark-util-symbol: 2.0.0
+ dev: false
+
+ /micromark-util-decode-string@2.0.0:
+ resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
+ dependencies:
+ decode-named-character-reference: 1.0.2
+ micromark-util-character: 2.1.0
+ micromark-util-decode-numeric-character-reference: 2.0.1
+ micromark-util-symbol: 2.0.0
+ dev: false
+
+ /micromark-util-encode@2.0.0:
+ resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
+ dev: false
+
+ /micromark-util-html-tag-name@2.0.0:
+ resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
+ dev: false
+
+ /micromark-util-normalize-identifier@2.0.0:
+ resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
+ dependencies:
+ micromark-util-symbol: 2.0.0
+ dev: false
+
+ /micromark-util-resolve-all@2.0.0:
+ resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
+ dependencies:
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-util-sanitize-uri@2.0.0:
+ resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
+ dependencies:
+ micromark-util-character: 2.1.0
+ micromark-util-encode: 2.0.0
+ micromark-util-symbol: 2.0.0
+ dev: false
+
+ /micromark-util-subtokenize@2.0.0:
+ resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==}
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ dev: false
+
+ /micromark-util-symbol@2.0.0:
+ resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
+ dev: false
+
+ /micromark-util-types@2.0.0:
+ resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
+ dev: false
+
+ /micromark@4.0.0:
+ resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
+ dependencies:
+ '@types/debug': 4.1.12
+ debug: 4.3.4
+ decode-named-character-reference: 1.0.2
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.0
+ micromark-factory-space: 2.0.0
+ micromark-util-character: 2.1.0
+ micromark-util-chunked: 2.0.0
+ micromark-util-combine-extensions: 2.0.0
+ micromark-util-decode-numeric-character-reference: 2.0.1
+ micromark-util-encode: 2.0.0
+ micromark-util-normalize-identifier: 2.0.0
+ micromark-util-resolve-all: 2.0.0
+ micromark-util-sanitize-uri: 2.0.0
+ micromark-util-subtokenize: 2.0.0
+ micromark-util-symbol: 2.0.0
+ micromark-util-types: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+ dev: false
+
+ /mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: false
+
+ /mimic-response@2.1.0:
+ resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ brace-expansion: 2.0.1
+
+ /minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ /minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dependencies:
+ yallist: 4.0.0
+ dev: false
+ optional: true
+
+ /minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /minipass@7.0.4:
+ resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dev: false
+
+ /minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+ requiresBuild: true
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+ dev: false
+ optional: true
+
+ /mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /mouse-change@1.4.0:
+ resolution: {integrity: sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==}
+ dependencies:
+ mouse-event: 1.0.5
+ dev: false
+
+ /mouse-event-offset@3.0.2:
+ resolution: {integrity: sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==}
+ dev: false
+
+ /mouse-event@1.0.5:
+ resolution: {integrity: sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==}
+ dev: false
+
+ /mouse-wheel@1.2.0:
+ resolution: {integrity: sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==}
+ dependencies:
+ right-now: 1.0.0
+ signum: 1.0.0
+ to-px: 1.0.1
+ dev: false
+
+ /ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ dev: false
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ /ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ /mumath@3.3.4:
+ resolution: {integrity: sha512-VAFIOG6rsxoc7q/IaY3jdjmrsuX9f15KlRLYTHmixASBZkZEKC1IFqE2BC5CdhXmK6WLM1Re33z//AGmeRI6FA==}
+ deprecated: Redundant dependency in your project.
+ dependencies:
+ almost-equal: 1.1.0
+ dev: false
+
+ /murmurhash-js@1.0.0:
+ resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==}
+ dev: false
+
+ /nan@2.18.0:
+ resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: false
+
+ /native-promise-only@0.8.1:
+ resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==}
+ dev: false
+
+ /natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
+
+ /needle@2.9.1:
+ resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==}
+ engines: {node: '>= 4.4.x'}
+ hasBin: true
+ dependencies:
+ debug: 3.2.7
+ iconv-lite: 0.4.24
+ sax: 1.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+ dev: false
+
+ /no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.6.2
+ dev: false
+
+ /node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ requiresBuild: true
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+ dev: false
+ optional: true
+
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ dev: false
+
+ /nopt@5.0.0:
+ resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
+ engines: {node: '>=6'}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ abbrev: 1.1.1
+ dev: false
+ optional: true
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /normalize-svg-path@0.1.0:
+ resolution: {integrity: sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA==}
+ dev: false
+
+ /normalize-svg-path@1.1.0:
+ resolution: {integrity: sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==}
+ dependencies:
+ svg-arc-to-cubic-bezier: 3.2.0
+ dev: false
+
+ /npmlog@5.0.1:
+ resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
+ requiresBuild: true
+ dependencies:
+ are-we-there-yet: 2.0.0
+ console-control-strings: 1.1.0
+ gauge: 3.0.2
+ set-blocking: 2.0.0
+ dev: false
+ optional: true
+
+ /number-is-integer@1.0.1:
+ resolution: {integrity: sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-finite: 1.1.0
+ dev: false
+
+ /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'}
+ dev: false
+
+ /object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+ dev: true
+
+ /object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ 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.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ dev: true
+
+ /object.fromentries@2.0.7:
+ resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ dev: true
+
+ /object.groupby@1.0.2:
+ resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==}
+ dependencies:
+ array.prototype.filter: 1.0.3
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-errors: 1.3.0
+ dev: true
+
+ /object.hasown@1.1.3:
+ resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ dev: true
+
+ /object.values@1.1.7:
+ resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ dev: true
+
+ /once@1.3.3:
+ resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==}
+ dependencies:
+ wrappy: 1.0.2
+ dev: false
+
+ /once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ dependencies:
+ wrappy: 1.0.2
+
+ /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
+
+ /p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: 0.1.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
+
+ /parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+
+ /parenthesis@3.1.8:
+ resolution: {integrity: sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==}
+ dev: false
+
+ /parse-entities@4.0.1:
+ resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==}
+ dependencies:
+ '@types/unist': 2.0.10
+ character-entities: 2.0.2
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.0.2
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
+ dev: false
+
+ /parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+ dev: false
+
+ /parse-numeric-range@1.3.0:
+ resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
+ dev: false
+
+ /parse-rect@1.2.0:
+ resolution: {integrity: sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==}
+ dependencies:
+ pick-by-alias: 1.2.0
+ dev: false
+
+ /parse-svg-path@0.1.2:
+ resolution: {integrity: sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==}
+ dev: false
+
+ /parse-unit@1.0.1:
+ resolution: {integrity: sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==}
+ dev: false
+
+ /parse5@6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+ dev: false
+
+ /path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+ 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-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ /path-scurry@1.10.1:
+ resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ dependencies:
+ lru-cache: 10.2.0
+ minipass: 7.0.4
+ dev: false
+
+ /path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ /path2d-polyfill@2.0.1:
+ resolution: {integrity: sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==}
+ engines: {node: '>=8'}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /pbf@3.2.1:
+ resolution: {integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==}
+ hasBin: true
+ dependencies:
+ ieee754: 1.2.1
+ resolve-protobuf-schema: 2.1.0
+ dev: false
+
+ /pdfjs-dist@3.11.174:
+ resolution: {integrity: sha512-TdTZPf1trZ8/UFu5Cx/GXB7GZM30LT+wWUNfsi6Bq8ePLnb+woNKtDymI2mxZYBpMbonNFqKmiz684DIfnd8dA==}
+ engines: {node: '>=18'}
+ optionalDependencies:
+ canvas: 2.11.2
+ path2d-polyfill: 2.0.1
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /performance-now@2.1.0:
+ resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
+ dev: false
+
+ /pick-by-alias@1.2.0:
+ resolution: {integrity: sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==}
+ dev: false
+
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: false
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ /plotly.js@2.29.1(mapbox-gl@1.13.3):
+ resolution: {integrity: sha512-+XirhgCh42JF/iVu/RtBRbhcs328ipinajy7hd3mnZdnQv2Th6F441DSXer5S+P0nNluNs10vAFTELo4k/icjg==}
+ dependencies:
+ '@plotly/d3': 3.8.1
+ '@plotly/d3-sankey': 0.7.2
+ '@plotly/d3-sankey-circular': 0.33.1
+ '@plotly/mapbox-gl': 1.13.4(mapbox-gl@1.13.3)
+ '@turf/area': 6.5.0
+ '@turf/bbox': 6.5.0
+ '@turf/centroid': 6.5.0
+ base64-arraybuffer: 1.0.2
+ canvas-fit: 1.5.0
+ color-alpha: 1.0.4
+ color-normalize: 1.5.0
+ color-parse: 1.3.8
+ color-rgba: 2.1.1
+ country-regex: 1.1.0
+ d3-force: 1.2.1
+ d3-format: 1.4.5
+ d3-geo: 1.12.1
+ d3-geo-projection: 2.9.0
+ d3-hierarchy: 1.1.9
+ d3-interpolate: 3.0.1
+ d3-time: 1.1.0
+ d3-time-format: 2.3.0
+ fast-isnumeric: 1.1.4
+ gl-mat4: 1.2.0
+ gl-text: 1.3.1
+ glslify: 7.1.1
+ has-hover: 1.0.1
+ has-passive-events: 1.0.0
+ is-mobile: 4.0.0
+ mouse-change: 1.4.0
+ mouse-event-offset: 3.0.2
+ mouse-wheel: 1.2.0
+ native-promise-only: 0.8.1
+ parse-svg-path: 0.1.2
+ point-in-polygon: 1.1.0
+ polybooljs: 1.2.0
+ probe-image-size: 7.2.3
+ regl: /@plotly/regl@2.1.2
+ regl-error2d: 2.0.12
+ regl-line2d: 3.1.2
+ regl-scatter2d: 3.3.1
+ regl-splom: 1.0.14
+ strongly-connected-components: 1.0.1
+ superscript-text: 1.0.0
+ svg-path-sdf: 1.1.3
+ tinycolor2: 1.6.0
+ to-px: 1.0.1
+ topojson-client: 3.1.0
+ webgl-context: 2.2.0
+ world-calendars: 1.0.3
+ transitivePeerDependencies:
+ - mapbox-gl
+ - supports-color
+ dev: false
+
+ /point-in-polygon@1.1.0:
+ resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==}
+ dev: false
+
+ /polybooljs@1.2.0:
+ resolution: {integrity: sha512-mKjR5nolISvF+q2BtC1fi/llpxBPTQ3wLWN8+ldzdw2Hocpc8C72ZqnamCM4Z6z+68GVVjkeM01WJegQmZ8MEQ==}
+ dev: false
+
+ /postcss@8.4.35:
+ resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: false
+
+ /potpack@1.0.2:
+ resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
+ 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@3.2.5:
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dev: true
+
+ /probe-image-size@7.2.3:
+ resolution: {integrity: sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==}
+ dependencies:
+ lodash.merge: 4.6.2
+ needle: 2.9.1
+ stream-parser: 0.3.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ dev: false
+
+ /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
+
+ /property-expr@2.0.6:
+ resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==}
+ dev: false
+
+ /property-information@6.4.1:
+ resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==}
+ dev: false
+
+ /protocol-buffers-schema@3.6.0:
+ resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==}
+ dev: false
+
+ /proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+ dev: false
+
+ /punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /quickselect@2.0.0:
+ resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==}
+ dev: false
+
+ /raf@3.4.1:
+ resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==}
+ dependencies:
+ performance-now: 2.1.0
+ dev: false
+
+ /randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+
+ /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
+ dev: false
+
+ /react-draggable@4.4.6(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==}
+ peerDependencies:
+ react: '>= 16.3.0'
+ react-dom: '>= 16.3.0'
+ dependencies:
+ clsx: 1.2.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /react-hook-form@7.50.1(react@18.2.0):
+ resolution: {integrity: sha512-3PCY82oE0WgeOgUtIr3nYNNtNvqtJ7BZjsbxh6TnYNbXButaD5WpjOmTjdxZfheuHKR68qfeFnEDVYoSSFPMTQ==}
+ engines: {node: '>=12.22.0'}
+ peerDependencies:
+ react: ^16.8.0 || ^17 || ^18
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ /react-is@18.2.0:
+ resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
+ dev: false
+
+ /react-markdown@9.0.0(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-v6yNf3AB8GfJ8lCpUvzxAXKxgsHpdmWPlcVRQ6Nocsezp255E/IDrF31kLQsPJeB/cKto/geUwjU36wH784FCA==}
+ peerDependencies:
+ '@types/react': '>=18'
+ react: '>=18'
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/react': 18.2.55
+ devlop: 1.1.0
+ hast-util-to-jsx-runtime: 2.3.0
+ html-url-attributes: 3.0.0
+ mdast-util-to-hast: 13.1.0
+ micromark-util-sanitize-uri: 2.0.0
+ react: 18.2.0
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.0
+ unified: 11.0.4
+ unist-util-visit: 5.0.0
+ vfile: 6.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /react-pdf@7.7.0(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-704ObLnRDm5lixL4e6NXNLaincBHGNLo+NGdbO3rEXE963NlNzwLxFpmKcbdXHAMQL4rYJQWb1L0w5IL6y8Osw==}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.2.55
+ clsx: 2.1.0
+ dequal: 2.0.3
+ make-cancellable-promise: 1.3.2
+ make-event-props: 1.6.2
+ merge-refs: 1.2.2(@types/react@18.2.55)
+ pdfjs-dist: 3.11.174
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tiny-invariant: 1.3.1
+ warning: 4.0.3
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
+ /react-plotly.js@2.6.0(plotly.js@2.29.1)(react@18.2.0):
+ resolution: {integrity: sha512-g93xcyhAVCSt9kV1svqG1clAEdL6k3U+jjuSzfTV7owaSU9Go6Ph8bl25J+jKfKvIGAEYpe4qj++WHJuc9IaeA==}
+ peerDependencies:
+ plotly.js: '>1.34.0'
+ react: '>0.13.0'
+ dependencies:
+ plotly.js: 2.29.1(mapbox-gl@1.13.3)
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
+ /react-refresh@0.14.0:
+ resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /react-router-dom@6.22.0(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-z2w+M4tH5wlcLmH3BMMOMdrtrJ9T3oJJNsAlBJbwk+8Syxd5WFJ7J5dxMEW0/GEXD1BBis4uXRrNIz3mORr0ag==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ react: '>=16.8'
+ react-dom: '>=16.8'
+ dependencies:
+ '@remix-run/router': 1.15.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-router: 6.22.0(react@18.2.0)
+ dev: false
+
+ /react-router@6.22.0(react@18.2.0):
+ resolution: {integrity: sha512-q2yemJeg6gw/YixRlRnVx6IRJWZD6fonnfZhN1JIOhV2iJCPeRNSH3V1ISwHf+JWcESzLC3BOLD1T07tmO5dmg==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ react: '>=16.8'
+ dependencies:
+ '@remix-run/router': 1.15.0
+ react: 18.2.0
+ dev: false
+
+ /react-to-print@2.14.15(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-SKnwOzU2cJ8eaAkoJO7+gNhvfEDmm+Y34IdcHsjtHioUevUPhprqbVtvNJlZ2JkGJ8ExK2QNWM9pXECTDR5D8w==}
+ peerDependencies:
+ react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /react-toastify@9.1.3(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==}
+ peerDependencies:
+ react: '>=16'
+ react-dom: '>=16'
+ dependencies:
+ clsx: 1.2.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
+ peerDependencies:
+ react: '>=16.6.0'
+ react-dom: '>=16.6.0'
+ dependencies:
+ '@babel/runtime': 7.23.9
+ dom-helpers: 5.2.1
+ loose-envify: 1.4.0
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /react@18.2.0:
+ resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /reactflow@11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-DGNrTdkWjZtPOhj5MV8fiWWGkJo+otMVdoJ9l67bQL+Xf+8NkJ4AHmRXoYIxtgcENzwTr5WTAIJlswV9i91cyw==}
+ peerDependencies:
+ react: '>=17'
+ react-dom: '>=17'
+ dependencies:
+ '@reactflow/background': 11.3.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@reactflow/controls': 11.2.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@reactflow/core': 11.10.3(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@reactflow/minimap': 11.7.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@reactflow/node-resizer': 2.2.8(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)
+ '@reactflow/node-toolbar': 1.3.8(@types/react@18.2.55)(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'
+ - immer
+ dev: false
+
+ /readable-stream@1.0.34:
+ resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 0.0.1
+ string_decoder: 0.10.31
+ dev: false
+
+ /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
+ dev: false
+
+ /readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ requiresBuild: true
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+ dev: false
+ optional: true
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: false
+
+ /reflect.getprototypeof@1.0.5:
+ resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.3
+ which-builtin-type: 1.1.3
+ dev: true
+
+ /refractor@4.8.1:
+ resolution: {integrity: sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==}
+ dependencies:
+ '@types/hast': 2.3.10
+ '@types/prismjs': 1.26.3
+ hastscript: 7.2.0
+ parse-entities: 4.0.1
+ dev: false
+
+ /regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+ dev: false
+
+ /regexp.prototype.flags@1.5.2:
+ resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ set-function-name: 2.0.1
+ dev: true
+
+ /regl-error2d@2.0.12:
+ resolution: {integrity: sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==}
+ dependencies:
+ array-bounds: 1.0.1
+ color-normalize: 1.5.0
+ flatten-vertex-data: 1.0.2
+ object-assign: 4.1.1
+ pick-by-alias: 1.2.0
+ to-float32: 1.1.0
+ update-diff: 1.1.0
+ dev: false
+
+ /regl-line2d@3.1.2:
+ resolution: {integrity: sha512-nmT7WWS/WxmXAQMkgaMKWXaVmwJ65KCrjbqHGOUjjqQi6shfT96YbBOvelXwO9hG7/hjvbzjtQ2UO0L3e7YaXQ==}
+ dependencies:
+ array-bounds: 1.0.1
+ array-find-index: 1.0.2
+ array-normalize: 1.1.4
+ color-normalize: 1.5.0
+ earcut: 2.2.4
+ es6-weak-map: 2.0.3
+ flatten-vertex-data: 1.0.2
+ glslify: 7.1.1
+ object-assign: 4.1.1
+ parse-rect: 1.2.0
+ pick-by-alias: 1.2.0
+ to-float32: 1.1.0
+ dev: false
+
+ /regl-scatter2d@3.3.1:
+ resolution: {integrity: sha512-seOmMIVwaCwemSYz/y4WE0dbSO9svNFSqtTh5RE57I7PjGo3tcUYKtH0MTSoshcAsreoqN8HoCtnn8wfHXXfKQ==}
+ dependencies:
+ '@plotly/point-cluster': 3.1.9
+ array-range: 1.0.1
+ array-rearrange: 2.2.2
+ clamp: 1.0.1
+ color-id: 1.1.0
+ color-normalize: 1.5.0
+ color-rgba: 2.1.1
+ flatten-vertex-data: 1.0.2
+ glslify: 7.1.1
+ is-iexplorer: 1.0.0
+ object-assign: 4.1.1
+ parse-rect: 1.2.0
+ pick-by-alias: 1.2.0
+ to-float32: 1.1.0
+ update-diff: 1.1.0
+ dev: false
+
+ /regl-splom@1.0.14:
+ resolution: {integrity: sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==}
+ dependencies:
+ array-bounds: 1.0.1
+ array-range: 1.0.1
+ color-alpha: 1.0.4
+ flatten-vertex-data: 1.0.2
+ parse-rect: 1.2.0
+ pick-by-alias: 1.2.0
+ raf: 3.4.1
+ regl-scatter2d: 3.3.1
+ dev: false
+
+ /regl@2.1.0:
+ resolution: {integrity: sha512-oWUce/aVoEvW5l2V0LK7O5KJMzUSKeiOwFuJehzpSFd43dO5spP9r+sSUfhKtsky4u6MCqWJaRL+abzExynfTg==}
+ dev: false
+
+ /rehype-parse@8.0.5:
+ resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==}
+ dependencies:
+ '@types/hast': 2.3.10
+ hast-util-from-parse5: 7.1.2
+ parse5: 6.0.1
+ unified: 10.1.2
+ dev: false
+
+ /rehype-prism-plus@1.6.3:
+ resolution: {integrity: sha512-F6tn376zimnvy+xW0bSnryul+rvVL7NhDIkavc9kAuzDx5zIZW04A6jdXPkcFBhojcqZB8b6pHt6CLqiUx+Tbw==}
+ dependencies:
+ hast-util-to-string: 2.0.0
+ parse-numeric-range: 1.3.0
+ refractor: 4.8.1
+ rehype-parse: 8.0.5
+ unist-util-filter: 4.0.1
+ unist-util-visit: 4.1.2
+ dev: false
+
+ /rehype-stringify@9.0.4:
+ resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==}
+ dependencies:
+ '@types/hast': 2.3.10
+ hast-util-to-html: 8.0.4
+ unified: 10.1.2
+ dev: false
+
+ /rehype@12.0.1:
+ resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==}
+ dependencies:
+ '@types/hast': 2.3.10
+ rehype-parse: 8.0.5
+ rehype-stringify: 9.0.4
+ unified: 10.1.2
+ dev: false
+
+ /remark-gfm@4.0.0:
+ resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ mdast-util-gfm: 3.0.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ mdast-util-from-markdown: 2.0.0
+ micromark-util-types: 2.0.0
+ unified: 11.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /remark-rehype@11.1.0:
+ resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==}
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.3
+ mdast-util-to-hast: 13.1.0
+ unified: 11.0.4
+ vfile: 6.0.1
+ dev: false
+
+ /remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+ dependencies:
+ '@types/mdast': 4.0.3
+ mdast-util-to-markdown: 2.1.0
+ unified: 11.0.4
+ dev: false
+
+ /reselect@4.1.8:
+ resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==}
+ dev: false
+
+ /resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+ dev: true
+
+ /resolve-protobuf-schema@2.1.0:
+ resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==}
+ dependencies:
+ protocol-buffers-schema: 3.6.0
+ dev: false
+
+ /resolve@0.6.3:
+ resolution: {integrity: sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==}
+ dev: false
+
+ /resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.13.1
+ 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.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /right-now@1.0.0:
+ resolution: {integrity: sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==}
+ dev: false
+
+ /rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.3
+
+ /rollup@4.10.0:
+ resolution: {integrity: sha512-t2v9G2AKxcQ8yrG+WGxctBes1AomT0M4ND7jTFBCVPXQ/WFTvNSefIrNSmLKhIKBrvN8SG+CZslimJcT3W2u2g==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.10.0
+ '@rollup/rollup-android-arm64': 4.10.0
+ '@rollup/rollup-darwin-arm64': 4.10.0
+ '@rollup/rollup-darwin-x64': 4.10.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.10.0
+ '@rollup/rollup-linux-arm64-gnu': 4.10.0
+ '@rollup/rollup-linux-arm64-musl': 4.10.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.10.0
+ '@rollup/rollup-linux-x64-gnu': 4.10.0
+ '@rollup/rollup-linux-x64-musl': 4.10.0
+ '@rollup/rollup-win32-arm64-msvc': 4.10.0
+ '@rollup/rollup-win32-ia32-msvc': 4.10.0
+ '@rollup/rollup-win32-x64-msvc': 4.10.0
+ fsevents: 2.3.3
+ dev: false
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /rw@1.3.3:
+ resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
+ dev: false
+
+ /safe-array-concat@1.1.0:
+ resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==}
+ engines: {node: '>=0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+ dev: true
+
+ /safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ dev: false
+
+ /safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: false
+
+ /safe-regex-test@1.0.3:
+ resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-regex: 1.1.4
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ dev: false
+
+ /sax@1.3.0:
+ resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
+ dev: false
+
+ /scheduler@0.23.0:
+ resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ /semver@7.6.0:
+ resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+
+ /serialize-javascript@6.0.1:
+ resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==}
+ dependencies:
+ randombytes: 2.1.0
+ dev: false
+
+ /set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /set-function-length@1.2.1:
+ resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ dev: true
+
+ /set-function-name@2.0.1:
+ resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ define-data-property: 1.1.4
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
+ dev: true
+
+ /shallow-copy@0.0.1:
+ resolution: {integrity: sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==}
+ 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'}
+
+ /side-channel@1.0.5:
+ resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.1
+ dev: true
+
+ /signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+ dev: false
+
+ /signum@1.0.0:
+ resolution: {integrity: sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==}
+ dev: false
+
+ /simple-concat@1.0.1:
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /simple-get@3.1.1:
+ resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==}
+ requiresBuild: true
+ dependencies:
+ decompress-response: 4.2.1
+ once: 1.4.0
+ simple-concat: 1.0.1
+ dev: false
+ optional: true
+
+ /slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+ 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: false
+
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ dev: false
+
+ /stack-trace@0.0.9:
+ resolution: {integrity: sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==}
+ dev: false
+
+ /static-eval@2.1.1:
+ resolution: {integrity: sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==}
+ dependencies:
+ escodegen: 2.1.0
+ dev: false
+
+ /stream-parser@0.3.1:
+ resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==}
+ dependencies:
+ debug: 2.6.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /stream-shift@1.0.3:
+ resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
+ dev: false
+
+ /string-split-by@1.0.0:
+ resolution: {integrity: sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==}
+ dependencies:
+ parenthesis: 3.1.8
+ dev: false
+
+ /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
+ dev: false
+
+ /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: false
+
+ /string.prototype.matchall@4.0.10:
+ resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ regexp.prototype.flags: 1.5.2
+ set-function-name: 2.0.1
+ side-channel: 1.0.5
+ dev: true
+
+ /string.prototype.trim@1.2.8:
+ resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ dev: true
+
+ /string.prototype.trimend@1.0.7:
+ resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ dev: true
+
+ /string.prototype.trimstart@1.0.7:
+ resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.22.4
+ dev: true
+
+ /string_decoder@0.10.31:
+ resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
+ dev: false
+
+ /string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: false
+
+ /string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ requiresBuild: true
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: false
+ optional: true
+
+ /stringify-entities@4.0.3:
+ resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
+ dependencies:
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
+ dev: false
+
+ /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: false
+
+ /strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /strongly-connected-components@1.0.1:
+ resolution: {integrity: sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==}
+ dev: false
+
+ /style-to-object@1.0.5:
+ resolution: {integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==}
+ dependencies:
+ inline-style-parser: 0.2.2
+ dev: false
+
+ /stylis@4.2.0:
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ dev: false
+
+ /supercluster@7.1.5:
+ resolution: {integrity: sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==}
+ dependencies:
+ kdbush: 3.0.0
+ dev: false
+
+ /superscript-text@1.0.0:
+ resolution: {integrity: sha512-gwu8l5MtRZ6koO0icVTlmN5pm7Dhh1+Xpe9O4x6ObMAsW+3jPbW14d1DsBq1F4wiI+WOFjXF35pslgec/G8yCQ==}
+ dev: false
+
+ /supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+ dev: false
+
+ /supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ /svg-arc-to-cubic-bezier@3.2.0:
+ resolution: {integrity: sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==}
+ dev: false
+
+ /svg-parser@2.0.4:
+ resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
+ dev: false
+
+ /svg-path-bounds@1.0.2:
+ resolution: {integrity: sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ==}
+ dependencies:
+ abs-svg-path: 0.1.1
+ is-svg-path: 1.0.2
+ normalize-svg-path: 1.1.0
+ parse-svg-path: 0.1.2
+ dev: false
+
+ /svg-path-sdf@1.1.3:
+ resolution: {integrity: sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==}
+ dependencies:
+ bitmap-sdf: 1.0.4
+ draw-svg-path: 1.0.0
+ is-svg-path: 1.0.2
+ parse-svg-path: 0.1.2
+ svg-path-bounds: 1.0.2
+ dev: false
+
+ /swr@2.2.4(react@18.2.0):
+ resolution: {integrity: sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==}
+ peerDependencies:
+ react: ^16.11.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ client-only: 0.0.1
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
+
+ /synckit@0.8.8:
+ resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ dependencies:
+ '@pkgr/core': 0.1.1
+ tslib: 2.6.2
+ dev: true
+
+ /tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /tar@6.2.0:
+ resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==}
+ engines: {node: '>=10'}
+ requiresBuild: true
+ 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: false
+ optional: true
+
+ /text-table@0.2.0:
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
+
+ /through2@0.6.5:
+ resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
+ dependencies:
+ readable-stream: 1.0.34
+ xtend: 4.0.2
+ dev: false
+
+ /through2@2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+ dependencies:
+ readable-stream: 2.3.8
+ xtend: 4.0.2
+ dev: false
+
+ /tiny-case@1.0.3:
+ resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==}
+ dev: false
+
+ /tiny-invariant@1.3.1:
+ resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==}
+ dev: false
+
+ /tinycolor2@1.6.0:
+ resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
+ dev: false
+
+ /tinyqueue@2.0.3:
+ resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==}
+ dev: false
+
+ /to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+ dev: false
+
+ /to-float32@1.1.0:
+ resolution: {integrity: sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==}
+ dev: false
+
+ /to-px@1.0.1:
+ resolution: {integrity: sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==}
+ dependencies:
+ parse-unit: 1.0.1
+ dev: false
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+
+ /topojson-client@3.1.0:
+ resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==}
+ hasBin: true
+ dependencies:
+ commander: 2.20.3
+ dev: false
+
+ /toposort@2.0.2:
+ resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==}
+ dev: false
+
+ /tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+ dev: false
+
+ /trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+ dev: false
+
+ /ts-api-utils@1.2.1(typescript@5.3.3):
+ resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+ dependencies:
+ typescript: 5.3.3
+ dev: true
+
+ /tsconfck@3.0.2(typescript@5.3.3):
+ resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==}
+ engines: {node: ^18 || >=20}
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 5.3.3
+ dev: false
+
+ /tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.2
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+ dev: true
+
+ /tslib@1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ dev: true
+
+ /tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ /tsutils@3.21.0(typescript@5.3.3):
+ 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.3.3
+ 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-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-fest@2.19.0:
+ resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
+ engines: {node: '>=12.20'}
+ dev: false
+
+ /type@1.2.0:
+ resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
+ dev: false
+
+ /type@2.7.2:
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
+ dev: false
+
+ /typed-array-buffer@1.0.1:
+ resolution: {integrity: sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-typed-array: 1.1.13
+ 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.7
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.13
+ dev: true
+
+ /typed-array-byte-offset@1.0.0:
+ resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.6
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ has-proto: 1.0.1
+ is-typed-array: 1.1.13
+ dev: true
+
+ /typed-array-length@1.0.4:
+ resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ is-typed-array: 1.1.13
+ dev: true
+
+ /typedarray-pool@1.2.0:
+ resolution: {integrity: sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==}
+ dependencies:
+ bit-twiddle: 1.0.2
+ dup: 1.0.0
+ dev: false
+
+ /typedarray@0.0.6:
+ resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+ dev: false
+
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ /unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ dependencies:
+ call-bind: 1.0.7
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /unified@10.1.2:
+ resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
+ dependencies:
+ '@types/unist': 2.0.10
+ bail: 2.0.2
+ extend: 3.0.2
+ is-buffer: 2.0.5
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 5.3.7
+ dev: false
+
+ /unified@11.0.4:
+ resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==}
+ dependencies:
+ '@types/unist': 3.0.2
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.1
+ dev: false
+
+ /unist-util-filter@4.0.1:
+ resolution: {integrity: sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q==}
+ dependencies:
+ '@types/unist': 2.0.10
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: false
+
+ /unist-util-is@5.2.1:
+ resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
+ dependencies:
+ '@types/unist': 2.0.10
+ dev: false
+
+ /unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+ dependencies:
+ '@types/unist': 3.0.2
+ dev: false
+
+ /unist-util-position@4.0.4:
+ resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
+ dependencies:
+ '@types/unist': 2.0.10
+ dev: false
+
+ /unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+ dependencies:
+ '@types/unist': 3.0.2
+ dev: false
+
+ /unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+ dependencies:
+ '@types/unist': 3.0.2
+ unist-util-visit: 5.0.0
+ dev: false
+
+ /unist-util-stringify-position@3.0.3:
+ resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
+ dependencies:
+ '@types/unist': 2.0.10
+ dev: false
+
+ /unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+ dependencies:
+ '@types/unist': 3.0.2
+ dev: false
+
+ /unist-util-visit-parents@5.1.3:
+ resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
+ dependencies:
+ '@types/unist': 2.0.10
+ unist-util-is: 5.2.1
+ dev: false
+
+ /unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+ dependencies:
+ '@types/unist': 3.0.2
+ unist-util-is: 6.0.0
+ dev: false
+
+ /unist-util-visit@4.1.2:
+ resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
+ dependencies:
+ '@types/unist': 2.0.10
+ unist-util-is: 5.2.1
+ unist-util-visit-parents: 5.1.3
+ dev: false
+
+ /unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+ dependencies:
+ '@types/unist': 3.0.2
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+ dev: false
+
+ /unplugin@1.7.1:
+ resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==}
+ dependencies:
+ acorn: 8.11.3
+ chokidar: 3.6.0
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.6.1
+ dev: false
+
+ /unquote@1.1.1:
+ resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==}
+ dev: false
+
+ /update-browserslist-db@1.0.13(browserslist@4.22.3):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.3
+ escalade: 3.1.2
+ picocolors: 1.0.0
+ dev: false
+
+ /update-diff@1.1.0:
+ resolution: {integrity: sha512-rCiBPiHxZwT4+sBhEbChzpO5hYHjm91kScWgdHf4Qeafs6Ba7MBl+d9GlGv72bcTZQO0sLmtQS1pHSWoCLtN/A==}
+ dev: false
+
+ /uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.3.1
+ dev: true
+
+ /use-sync-external-store@1.2.0(react@18.2.0):
+ resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ dev: false
+
+ /uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+ dev: false
+
+ /vfile-location@4.1.0:
+ resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==}
+ dependencies:
+ '@types/unist': 2.0.10
+ vfile: 5.3.7
+ dev: false
+
+ /vfile-message@3.1.4:
+ resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
+ dependencies:
+ '@types/unist': 2.0.10
+ unist-util-stringify-position: 3.0.3
+ dev: false
+
+ /vfile-message@4.0.2:
+ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+ dependencies:
+ '@types/unist': 3.0.2
+ unist-util-stringify-position: 4.0.0
+ dev: false
+
+ /vfile@5.3.7:
+ resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
+ dependencies:
+ '@types/unist': 2.0.10
+ is-buffer: 2.0.5
+ unist-util-stringify-position: 3.0.3
+ vfile-message: 3.1.4
+ dev: false
+
+ /vfile@6.0.1:
+ resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==}
+ dependencies:
+ '@types/unist': 3.0.2
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.2
+ dev: false
+
+ /vite-plugin-svgr@4.2.0(typescript@5.3.3)(vite@5.1.1):
+ resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==}
+ peerDependencies:
+ vite: ^2.6.0 || 3 || 4 || 5
+ dependencies:
+ '@rollup/pluginutils': 5.1.0
+ '@svgr/core': 8.1.0(typescript@5.3.3)
+ '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0)
+ vite: 5.1.1
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ - typescript
+ dev: false
+
+ /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.1.1):
+ resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==}
+ peerDependencies:
+ vite: '*'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+ dependencies:
+ debug: 4.3.4
+ globrex: 0.1.2
+ tsconfck: 3.0.2(typescript@5.3.3)
+ vite: 5.1.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: false
+
+ /vite@5.1.1:
+ resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ esbuild: 0.19.12
+ postcss: 8.4.35
+ rollup: 4.10.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: false
+
+ /vt-pbf@3.1.3:
+ resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==}
+ dependencies:
+ '@mapbox/point-geometry': 0.1.0
+ '@mapbox/vector-tile': 1.3.1
+ pbf: 3.2.1
+ dev: false
+
+ /warning@4.0.3:
+ resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /weak-map@1.0.8:
+ resolution: {integrity: sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==}
+ dev: false
+
+ /web-namespaces@2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
+ dev: false
+
+ /web-worker@1.3.0:
+ resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==}
+ dev: false
+
+ /webgl-context@2.2.0:
+ resolution: {integrity: sha512-q/fGIivtqTT7PEoF07axFIlHNk/XCPaYpq64btnepopSWvKNFkoORlQYgqDigBIuGA1ExnFd/GnSUnBNEPQY7Q==}
+ dependencies:
+ get-canvas-context: 1.0.2
+ dev: false
+
+ /webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+ dev: false
+
+ /webpack-virtual-modules@0.6.1:
+ resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
+ dev: false
+
+ /whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ requiresBuild: true
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+ dev: false
+ optional: true
+
+ /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.2
+ 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.14
+ 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-typed-array@1.1.14:
+ resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ available-typed-arrays: 1.0.6
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.2
+ dev: true
+
+ /which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+
+ /wide-align@1.1.5:
+ resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+ requiresBuild: true
+ dependencies:
+ string-width: 4.2.3
+ dev: false
+ optional: true
+
+ /world-calendars@1.0.3:
+ resolution: {integrity: sha512-sAjLZkBnsbHkHWVhrsCU5Sa/EVuf9QqgvrN8zyJ2L/F9FR9Oc6CvVK0674+PGAtmmmYQMH98tCUSO4QLQv3/TQ==}
+ dependencies:
+ object-assign: 4.1.1
+ dev: false
+
+ /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
+ dev: false
+
+ /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: false
+
+ /wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ /xtend@2.2.0:
+ resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==}
+ engines: {node: '>=0.4'}
+ dev: false
+
+ /xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+ dev: false
+
+ /yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: false
+
+ /yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ /yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+ dev: false
+
+ /yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yup@1.3.3:
+ resolution: {integrity: sha512-v8QwZSsHH2K3/G9WSkp6mZKO+hugKT1EmnMqLNUcfu51HU9MDyhlETT/JgtzprnrnQHPWsjc6MUDMBp/l9fNnw==}
+ dependencies:
+ property-expr: 2.0.6
+ tiny-case: 1.0.3
+ toposort: 2.0.2
+ type-fest: 2.19.0
+ dev: false
+
+ /zustand@4.5.0(@types/react@18.2.55)(react@18.2.0):
+ resolution: {integrity: sha512-zlVFqS5TQ21nwijjhJlx4f9iGrXSL0o/+Dpy4txAP22miJ8Ti6c1Ol1RLNN98BMib83lmDH/2KmLwaNXpjrO1A==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ immer: '>=9.0.6'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ dependencies:
+ '@types/react': 18.2.55
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false
+
+ /zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+ dev: false
diff --git a/frontend/public/assets/logo2.png b/frontend/public/assets/logo2.png
deleted file mode 100644
index 53ada586..00000000
Binary files a/frontend/public/assets/logo2.png and /dev/null differ
diff --git a/frontend/public/assets/logo3.png b/frontend/public/assets/logo3.png
deleted file mode 100644
index c69e01bc..00000000
Binary files a/frontend/public/assets/logo3.png and /dev/null differ
diff --git a/frontend/public/assets/main_logo_black.png b/frontend/public/assets/main_logo_black.png
new file mode 100644
index 00000000..46f9ded7
Binary files /dev/null and b/frontend/public/assets/main_logo_black.png differ
diff --git a/frontend/public/assets/main_logo_white.png b/frontend/public/assets/main_logo_white.png
new file mode 100644
index 00000000..ffc6405c
Binary files /dev/null and b/frontend/public/assets/main_logo_white.png differ
diff --git a/frontend/public/assets/symbol_black.png b/frontend/public/assets/symbol_black.png
new file mode 100644
index 00000000..a0f71682
Binary files /dev/null and b/frontend/public/assets/symbol_black.png differ
diff --git a/frontend/public/assets/symbol_white.png b/frontend/public/assets/symbol_white.png
new file mode 100644
index 00000000..c1366bfd
Binary files /dev/null and b/frontend/public/assets/symbol_white.png differ
diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico
deleted file mode 100644
index c95fc68b..00000000
Binary files a/frontend/public/favicon.ico and /dev/null differ
diff --git a/frontend/public/favicon/android-chrome-192x192.png b/frontend/public/favicon/android-chrome-192x192.png
new file mode 100644
index 00000000..f4951f15
Binary files /dev/null and b/frontend/public/favicon/android-chrome-192x192.png differ
diff --git a/frontend/public/favicon/android-chrome-512x512.png b/frontend/public/favicon/android-chrome-512x512.png
new file mode 100644
index 00000000..7e196f16
Binary files /dev/null and b/frontend/public/favicon/android-chrome-512x512.png differ
diff --git a/frontend/public/favicon/apple-touch-icon.png b/frontend/public/favicon/apple-touch-icon.png
new file mode 100644
index 00000000..20f2d760
Binary files /dev/null and b/frontend/public/favicon/apple-touch-icon.png differ
diff --git a/frontend/public/favicon/favicon-16x16.png b/frontend/public/favicon/favicon-16x16.png
new file mode 100644
index 00000000..c70506f6
Binary files /dev/null and b/frontend/public/favicon/favicon-16x16.png differ
diff --git a/frontend/public/favicon/favicon-32x32.png b/frontend/public/favicon/favicon-32x32.png
new file mode 100644
index 00000000..62791142
Binary files /dev/null and b/frontend/public/favicon/favicon-32x32.png differ
diff --git a/frontend/public/favicon/favicon.ico b/frontend/public/favicon/favicon.ico
new file mode 100644
index 00000000..3a4a82c9
Binary files /dev/null and b/frontend/public/favicon/favicon.ico differ
diff --git a/frontend/public/favicon/site.webmanifest b/frontend/public/favicon/site.webmanifest
new file mode 100644
index 00000000..45dc8a20
--- /dev/null
+++ b/frontend/public/favicon/site.webmanifest
@@ -0,0 +1 @@
+{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file
diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json
index 59333a30..42f5df7a 100644
--- a/frontend/public/manifest.json
+++ b/frontend/public/manifest.json
@@ -3,17 +3,22 @@
"name": "Domino",
"icons": [
{
- "src": "favicon.ico",
- "sizes": "64x64 32x32 24x24 16x16",
- "type": "image/x-icon"
+ "src": "favicon/favicon-16x16.png",
+ "sizes": "16x16",
+ "type": "image/png"
},
{
- "src": "logo192.png",
+ "src": "favicon/favicon-32x32.png",
+ "sizes": "32x32",
+ "type": "image/png"
+ },
+ {
+ "src": "favicon/android-chrome-192x192.png",
"type": "image/png",
"sizes": "192x192"
},
{
- "src": "logo512.png",
+ "src": "favicon/android-chrome-512x512.png",
"type": "image/png",
"sizes": "512x512"
}
diff --git a/frontend/src/@types/piece/index.d.ts b/frontend/src/@types/piece/index.d.ts
index cbce8176..aec5da75 100644
--- a/frontend/src/@types/piece/index.d.ts
+++ b/frontend/src/@types/piece/index.d.ts
@@ -1,19 +1,37 @@
/* eslint-disable @typescript-eslint/consistent-type-imports */
declare global {
type Piece = import("./piece").Piece;
- type PieceSchema = import("./piece").PieceSchema;
- type Definitions = import("./piece").Definitions;
- type Definition = import("./piece").Definition;
- type ObjectDefinition = import("./piece").ObjectDefinition;
- type EnumDefinition = import("./piece").EnumDefinition;
- type SimpleInputSchemaProperty = import("./piece").SimpleInputSchemaProperty;
- type ArrayObjectProperty = import("./piece").ArrayObjectProperty;
- type InputSchemaProperty = import("./piece").InputSchemaProperty;
- type FromUpstream = import("./piece").FromUpstream;
-
- type PieceForageSchema = import("./piece").PieceForageSchema;
type PiecesRepository = import("./piece").PiecesRepository;
- type PieceRepository = import("./piece").PieceRepository;
+ type Repository = import("./piece").Repository;
+
+ type Schema = import("./schema").Schema;
+ type FromUpstream = import("./schema").FromUpstream;
+ type TypeName = import("./schema").TypeName;
+ type FormatType = import("./schema").FormatType;
+ type WidgetType = import("./schema").WidgetType;
+ type Reference = import("./schema").Reference;
+
+ type Properties = import("./schema").Properties;
+ type Property = import("./schema").Property;
+ type SimpleProperty = import("./schema").SimpleProperty;
+ type ArrayProperty = import("./schema").ArrayProperty;
+ type AnyOfProperty = import("./schema").AnyOfProperty;
+
+ type StringProperty = import("./schema").StringProperty;
+ type BooleanProperty = import("./schema").BooleanProperty;
+ type NumberProperty = import("./schema").NumberProperty;
+ type EnumProperty = import("./schema").EnumProperty;
+
+ type ArrayStringProperty = import("./schema").ArrayStringProperty;
+ type ArrayNumberProperty = import("./schema").ArrayNumberProperty;
+ type ArrayBooleanProperty = import("./schema").ArrayBooleanProperty;
+ type ArrayObjectProperty = import("./schema").ArrayObjectProperty;
+
+ type Definitions = import("./schema").Definitions;
+ type Definition = import("./schema").Definition;
+ type SimpleDefinition = import("./schema").SimpleDefinition;
+ type ObjectDefinition = import("./schema").ObjectDefinition;
+ type EnumDefinition = import("./schema").EnumDefinition;
}
export {};
diff --git a/frontend/src/@types/piece/piece.d.ts b/frontend/src/@types/piece/piece.d.ts
index f3bc45c9..c80e38e7 100644
--- a/frontend/src/@types/piece/piece.d.ts
+++ b/frontend/src/@types/piece/piece.d.ts
@@ -1,54 +1,3 @@
-/* eslint-disable @typescript-eslint/consistent-type-imports */
-export type FromUpstream = import("./properties").FromUpstream;
-
-export type InputSchemaProperty = import("./properties").InputSchemaProperty;
-export type ArrayObjectProperty = import("./properties").ArrayObjectProperty;
-
-export type SimpleInputSchemaProperty =
- import("./properties").SimpleInputSchemaProperty;
-
-export interface EnumDefinition {
- title: string;
- description: string;
- type: "string";
- enum: string[];
-}
-
-export interface ObjectDefinition {
- title: string;
- description: string;
- type: "object";
- properties: Record;
-}
-
-export type Definition = EnumDefinition | ObjectDefinition;
-
-export type Definitions = Record;
-
-export type SchemaProperties = Record;
-
-export interface PieceSchema {
- title: string;
- description: string;
-
- type: "object";
-
- properties: SchemaProperties;
- $defs: Definitions;
-}
-
-interface ContainerResources {
- limits: {
- cpu: number;
- memory: number;
- };
- requests: {
- cpu: number;
- memory: number;
- };
- use_gpu?: boolean;
-}
-
export interface Piece {
id: number;
name: string;
@@ -59,9 +8,9 @@ export interface Piece {
repository_id: number;
- input_schema: PieceSchema;
- output_schema: PieceSchema;
- secrets_schema: PieceSchema | null;
+ input_schema: Schema;
+ output_schema: Schema;
+ secrets_schema: Schema | null;
source_image: string;
source_url: string | null;
@@ -85,11 +34,21 @@ export interface Piece {
};
}
-export type PieceForageSchema = Record;
+interface ContainerResources {
+ limits: {
+ cpu: number;
+ memory: number;
+ };
+ requests: {
+ cpu: number;
+ memory: number;
+ };
+ use_gpu?: boolean;
+}
export type PiecesRepository = Record;
-export interface PieceRepository {
+export interface Repository {
id: string;
name: string;
label: string;
diff --git a/frontend/src/@types/piece/properties.d.ts b/frontend/src/@types/piece/properties.d.ts
deleted file mode 100644
index 95eb7260..00000000
--- a/frontend/src/@types/piece/properties.d.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-interface Reference {
- $ref: `#/$defs/${string}`;
-}
-type FromUpstream = "always" | "never" | "allowed";
-
-interface DefaultPropertyProps {
- title: string;
- description: string;
- from_upstream?: FromUpstream;
-}
-
-type BooleanProperty = DefaultPropertyProps & {
- type: "boolean" | "null";
- default: boolean;
-};
-
-type NumberProperty = DefaultPropertyProps & {
- type: "number" | "integer" | "float" | "null";
- default: number;
- exclusiveMaximum?: number;
- exclusiveMinimum?: number;
-};
-
-type StringProperty = DefaultPropertyProps & {
- type: "string" | "null";
- default: string;
-
- widget?: string;
- format?: "date" | "time" | "date-time";
-};
-
-type EnumProperty = DefaultPropertyProps & {
- allOf: Reference[];
- default: string;
-};
-
-type ArrayStringProperty = DefaultPropertyProps & {
- type: "array";
- default: string[];
- items: {
- type: "string";
-
- widget?: string;
- format?: "date" | "time" | "date-time";
- };
-};
-
-type ArrayNumberProperty = DefaultPropertyProps & {
- type: "array";
- default: number[];
- items: {
- type: "number" | "integer";
- };
-};
-
-type ArrayBooleanProperty = DefaultPropertyProps & {
- type: "array";
- default: boolean[];
- items: {
- type: "boolean";
- };
-};
-
-type ArrayObjectProperty = DefaultPropertyProps & {
- type: "array";
- default: Array>;
- items: Reference;
-};
-
-export type SimpleInputSchemaProperty =
- | BooleanProperty
- | NumberProperty
- | StringProperty
- | EnumProperty;
-
-type AnyOfObjectProperty = DefaultPropertyProps & {
- anyOf: StringProperty[];
- default:
- | ArrayObjectProperty.default
- | NumberProperty.default
- | StringProperty.default;
-};
-
-export type InputSchemaProperty =
- | SimpleInputSchemaProperty
- | ArrayStringProperty
- | ArrayNumberProperty
- | ArrayBooleanProperty
- | ArrayObjectProperty
- | AnyOfObjectProperty;
diff --git a/frontend/src/@types/piece/schema.d.ts b/frontend/src/@types/piece/schema.d.ts
new file mode 100644
index 00000000..83e08c9f
--- /dev/null
+++ b/frontend/src/@types/piece/schema.d.ts
@@ -0,0 +1,141 @@
+export type TypeName =
+ | "string"
+ | "number"
+ | "boolean"
+ | "object"
+ | "integer"
+ | "array"
+ | "null";
+
+export type FormatType = "date" | "time" | "date-time";
+
+export type WidgetType = "codeeditor" | `codeeditor-${string}` | "textarea";
+
+export interface Schema {
+ title: string;
+ description: string;
+
+ type: "object";
+
+ properties: Properties;
+ $defs: Definitions;
+}
+
+export type Properties = Record;
+
+export type Property =
+ | SimpleProperty
+ | EnumProperty
+ | ArrayProperty
+ | AnyOfProperty;
+
+export type SimpleProperty = BooleanProperty | NumberProperty | StringProperty;
+
+export type ArrayProperty =
+ | ArrayBooleanProperty
+ | ArrayNumberProperty
+ | ArrayStringProperty
+ | ArrayObjectProperty;
+
+interface DefaultPropertyAttrs {
+ title: string;
+ description: string;
+ from_upstream?: FromUpstream;
+}
+
+export type FromUpstream = "always" | "never" | "allowed";
+
+export type BooleanProperty = DefaultPropertyAttrs & {
+ type: "boolean";
+ default: boolean;
+};
+
+export type NumberProperty = DefaultPropertyAttrs & {
+ type: "number" | "integer";
+ default?: number;
+ exclusiveMaximum?: number;
+ exclusiveMinimum?: number;
+};
+
+export type StringProperty = DefaultPropertyAttrs & {
+ type: "string";
+ default?: string;
+
+ widget?: WidgetType;
+ format?: FormatType;
+};
+
+export type EnumProperty = DefaultPropertyAttrs & {
+ allOf: Reference[];
+ default?: string;
+};
+
+export type ArrayBooleanProperty = DefaultPropertyAttrs & {
+ type: "array";
+ default?: boolean[];
+ items: Omit;
+};
+
+export type ArrayNumberProperty = DefaultPropertyAttrs & {
+ type: "array";
+ default?: number[];
+ items: Omit;
+};
+
+export type ArrayStringProperty = DefaultPropertyAttrs & {
+ type: "array";
+ default?: string[];
+ items: Omit;
+};
+
+export type ArrayObjectProperty = DefaultPropertyAttrs & {
+ type: "array";
+ default?: Array>;
+ items: Reference;
+};
+
+export interface Reference {
+ $ref: `#/$defs/${string}`;
+}
+
+type AnyOf = DefaultPropertyAttrs & {
+ anyOf: Array<{
+ type: "null" | "number" | "integer" | "string" | "boolean";
+ widget?: `codeeditor-${string}` | "textarea";
+ format?: "date" | "time" | "date-time";
+ }>;
+ default?: any;
+};
+
+export type AnyOfArray = DefaultPropertyAttrs & {
+ anyOf: Array<{ items: AnyOf["anyOf"]; type: "array" } | { type: "null" }>;
+ default?: any[];
+};
+
+export type AnyOfProperty = AnyOf | AnyOfArray;
+
+export type Definition = EnumDefinition | ObjectDefinition | SimpleDefinition;
+
+export type Definitions = Record;
+
+export type SimpleDefinition =
+ | Omit
+ | Omit
+ | Omit;
+
+export interface EnumDefinition {
+ title: string;
+ description: string;
+ type: "string";
+ enum: string[];
+}
+
+export interface ObjectDefinition {
+ title: string;
+ description: string;
+ type: "object";
+ properties: Record;
+ required: string[];
+}
+
+export {};
diff --git a/frontend/src/components/PrivateLayout/header/drawerMenu.tsx b/frontend/src/components/PrivateLayout/header/drawerMenu.tsx
index b55b3989..2f0b496e 100644
--- a/frontend/src/components/PrivateLayout/header/drawerMenu.tsx
+++ b/frontend/src/components/PrivateLayout/header/drawerMenu.tsx
@@ -49,9 +49,9 @@ export const DrawerMenu: FC = ({ isOpen, handleClose }) => {
{theme.direction === "rtl" ? : }
=
- | ((instance: ReactFlowInstance) => {
- nodes: Node[];
- edges: Edge[];
- })
- | ((
- instance: ReactFlowInstance,
- ) => Promise<{ nodes: Node[]; edges: Edge[] }>);
-
-type OnDrop =
- | ((event: DragEvent, position: XYPosition) => Node)
- | ((event: DragEvent, position: XYPosition) => Promise);
-
-type Props =
- | {
- editable: true;
- onNodesDelete: OnNodesDelete;
- onEdgesDelete: OnEdgesDelete;
- onDrop: OnDrop;
- onInit?: OnInit;
-
- onNodeDoubleClick?: NodeMouseHandler;
- onConnect?: OnConnect;
- }
- | {
- editable: false;
- onInit?: OnInit;
- onNodeDoubleClick?: NodeMouseHandler;
- };
-export interface WorkflowPanelRef {
- nodes: Node[];
- edges: Edge[];
- setNodes: React.Dispatch>;
- setEdges: React.Dispatch>;
-}
-const WorkflowPanel = forwardRef(
- (props: Props, ref: ForwardedRef) => {
- const reactFlowWrapper = useRef(null);
- const [instance, setInstance] = useState(null);
- const [rawNodes, setNodes, onNodesChange] = useNodesState([]);
- const [rawEdges, setEdges, onEdgesChange] = useEdgesState([]);
-
- const onInit = useCallback(
- async (instance: ReactFlowInstance) => {
- setInstance(instance);
- if (props.onInit) {
- const result = props.onInit(instance);
- if (result instanceof Promise) {
- result
- .then(({ nodes, edges }) => {
- setNodes(nodes);
- setEdges(edges);
- })
- .catch((error) => {
- console.error("Error from Promise-returning function:", error);
- });
- } else {
- const { nodes, edges } = result;
- setNodes(nodes);
- setEdges(edges);
- }
- }
- window.requestAnimationFrame(() => instance.fitView());
- },
- [props],
- );
-
- const onNodesDelete = useCallback(
- props.editable ? props.onNodesDelete : () => {},
- [props],
- );
-
- const onEdgesDelete = useCallback(
- props.editable ? props.onEdgesDelete : () => {},
- [props],
- );
-
- const onNodeDoubleClick = useCallback(
- (e, n) => {
- if (props.onNodeDoubleClick) {
- props.onNodeDoubleClick(e, n);
- }
- if (!props.editable && instance) {
- const nodeCenter = (n.width ?? 0) / 2;
- instance.setCenter(n.position.x + nodeCenter, n.position.y);
- }
- },
- [instance, props],
- );
-
- const onDragOver = (event: DragEvent) => {
- event.preventDefault();
- event.dataTransfer.dropEffect = "move";
- };
-
- const onDrop = useCallback(
- async (event: DragEvent) => {
- event.preventDefault();
- if (reactFlowWrapper?.current === null) {
- return;
- }
- const reactFlowBounds =
- reactFlowWrapper.current.getBoundingClientRect();
- // @ts-expect-error: Unreachable code error
- const position = instance.project({
- x: event.clientX - reactFlowBounds.left,
- y: event.clientY - reactFlowBounds.top,
- });
-
- if (props.editable) {
- const result = props.onDrop(event, position);
- if (result instanceof Promise) {
- result
- .then((node) => {
- setNodes((ns: Node[]) => ns.concat(node));
- })
- .catch((error) => {
- console.error("Error from Promise-returning function:", error);
- });
- } else {
- const node = result;
- setNodes((ns: Node[]) => ns.concat(node));
- }
- }
- },
- [instance, setNodes, props],
- );
-
- const onConnect = useCallback(
- (connection: Connection) => {
- setEdges((prevEdges: Edge[]) => addEdge(connection, prevEdges));
- if (props.editable && props.onConnect) {
- props.onConnect(connection);
- }
- },
- [props],
- );
-
- const autoLayout = useCallback(async () => {
- const elkGraph = {
- id: "root",
- children: rawNodes.map((node) => ({
- id: node.id,
- width: 230,
- height: 140,
- })),
- edges: rawEdges.map((edge) => ({
- id: edge.id,
- sources: [edge.source],
- targets: [edge.target],
- })),
- };
-
- const elk = new Elk();
-
- try {
- const elkLayout = await elk.layout(elkGraph);
-
- if (elkLayout?.children && elkLayout.edges) {
- const updatedNodes = elkLayout.children.map((elkNode) => {
- const node = rawNodes.find((node) => node.id === elkNode.id);
- if (
- node &&
- elkNode.x !== undefined &&
- elkNode.width !== undefined &&
- elkNode.y !== undefined &&
- elkNode.height !== undefined
- ) {
- return {
- ...node,
- position: {
- x: elkNode.x - elkNode.width / 2,
- y: elkNode.y - elkNode.height / 2,
- },
- };
- }
- return node;
- });
-
- const updatedEdges = elkLayout.edges.map((elkEdge) => ({
- ...rawEdges.find((edge) => edge.id === elkEdge.id),
- }));
-
- setNodes(updatedNodes as Node[]);
- setEdges(updatedEdges as Edge[]);
- window.requestAnimationFrame(() => instance?.fitView());
- }
- } catch (error) {
- console.error("Error during layout:", error);
- }
- }, [rawNodes, rawEdges]);
-
- const { nodes, edges } = useMemo(() => {
- const nodes = [...rawNodes].map((node: Node) => ({
- ...node,
- data: {
- ...node.data,
- },
- }));
-
- const edges = [...rawEdges].map((edge: Edge) => {
- const animated = nodes.some(
- (n: RunNode) =>
- (n.id === edge.source || n.id === edge.target) &&
- n.data?.state === "running",
- );
-
- return {
- ...edge,
- markerEnd: {
- type: MarkerType.ArrowClosed,
- width: 20,
- height: 20,
- },
- animated,
- };
- });
-
- return {
- nodes,
- edges,
- };
- }, [rawNodes, rawEdges]);
-
- useImperativeHandle(
- ref,
- () => {
- return {
- edges: rawEdges,
- nodes: rawNodes,
- setEdges,
- setNodes,
- };
- },
- [rawEdges, rawNodes, setEdges, setNodes],
- );
-
- return (
-
-
- {props.editable ? (
-
-
-
-
-
-
-
-
- ) : (
-
-
-
-
- )}
-
-
- );
- },
-);
-
-WorkflowPanel.displayName = "WorkflowPanel";
-
-export { WorkflowPanel };
diff --git a/frontend/src/context/authentication/authentication.context.tsx b/frontend/src/context/authentication/authentication.context.tsx
index ee56f1c6..672a7781 100644
--- a/frontend/src/context/authentication/authentication.context.tsx
+++ b/frontend/src/context/authentication/authentication.context.tsx
@@ -9,7 +9,6 @@ import React, {
} from "react";
import { useNavigate } from "react-router-dom";
import { toast } from "react-toastify";
-import localForage from "services/config/localForage.config";
import { createCustomContext } from "utils";
import { postAuthLogin, postAuthRegister } from "./api";
@@ -67,7 +66,6 @@ export const AuthenticationProvider: React.FC<{ children: ReactNode }> = ({
const logout = useCallback(() => {
localStorage.clear();
- void localForage.clear();
isLogged.current = false;
setStore((store) => ({
...store,
diff --git a/frontend/src/context/storage/useStorage.tsx b/frontend/src/context/storage/useStorage.tsx
new file mode 100644
index 00000000..131afcdd
--- /dev/null
+++ b/frontend/src/context/storage/useStorage.tsx
@@ -0,0 +1,68 @@
+import React, {
+ type ReactNode,
+ createContext,
+ useCallback,
+ useContext,
+} from "react";
+
+import { stringifyOrKepOriginal, tryParseJSON } from "./utils/parseJson";
+
+interface IStorageContext {
+ getItem: (key: string) => T | null;
+ setItem: (key: string, value: any) => void;
+ removeItem: (key: string) => void;
+ clear: () => void;
+}
+
+const defaultStorageState = {
+ getItem: (_k: string) => null,
+ setItem: (_k: string, _v: string | object) => {},
+ removeItem: (_k: string) => {},
+ clear: () => {},
+};
+
+const StorageContext = createContext(defaultStorageState);
+
+export function useStorage(): IStorageContext {
+ const context = useContext(StorageContext);
+
+ return context;
+}
+
+export const StorageProvider: React.FC<{ children?: ReactNode }> = ({
+ children,
+}) => {
+ const getItem = useCallback(function (key: string) {
+ const rawValue = localStorage.getItem(key);
+ if (rawValue) {
+ const value = tryParseJSON(rawValue);
+ return value as T;
+ }
+ return null;
+ }, []);
+
+ const setItem = useCallback(function (key: string, value: any) {
+ if (value !== undefined) {
+ localStorage.setItem(key, stringifyOrKepOriginal(value));
+ }
+ }, []);
+
+ const clear = useCallback(() => {
+ localStorage.clear();
+ }, []);
+
+ const removeItem = useCallback((key: string) => {
+ localStorage.removeItem(key);
+ }, []);
+
+ const value: IStorageContext = {
+ getItem,
+ setItem,
+ clear,
+ removeItem,
+ };
+
+ return (
+ {children}
+ );
+};
diff --git a/frontend/src/context/storage/utils/parseJson.ts b/frontend/src/context/storage/utils/parseJson.ts
new file mode 100644
index 00000000..b3c69712
--- /dev/null
+++ b/frontend/src/context/storage/utils/parseJson.ts
@@ -0,0 +1,16 @@
+export function tryParseJSON(jsonString: any) {
+ try {
+ const value = JSON.parse(jsonString);
+ return value as T;
+ } catch (e) {
+ return jsonString;
+ }
+}
+
+export function stringifyOrKepOriginal(json: any): string {
+ if (typeof json === "string") {
+ return json;
+ } else {
+ return JSON.stringify(json);
+ }
+}
diff --git a/frontend/src/context/workspaces/repositories.tsx b/frontend/src/context/workspaces/repositories.tsx
index 0b09f1bc..f1d91107 100644
--- a/frontend/src/context/workspaces/repositories.tsx
+++ b/frontend/src/context/workspaces/repositories.tsx
@@ -1,3 +1,4 @@
+import { useStorage } from "context/storage/useStorage";
import {
type IGetRepoPiecesResponseInterface,
useAuthenticatedGetPieceRepositories,
@@ -10,7 +11,6 @@ import {
} from "features/myWorkflows/api";
import React, { useCallback, useEffect, useState } from "react";
import { toast } from "react-toastify";
-import localForage from "services/config/localForage.config";
import { type KeyedMutator } from "swr";
import { createCustomContext } from "utils";
@@ -22,8 +22,8 @@ import {
import { useWorkspaces } from "./workspaces";
export interface IPiecesContext {
- repositories: PieceRepository[];
- defaultRepositories: PieceRepository[];
+ repositories: Repository[];
+ defaultRepositories: Repository[];
repositoryPieces: PiecesRepository;
repositoriesLoading: boolean;
@@ -46,15 +46,19 @@ export interface IPiecesContext {
fetchRepoById: (params: {
id: string;
}) => Promise;
- fetchForagePieceById: (id: number) => Promise;
+ fetchForagePieceById: (id: number) => Piece | undefined;
}
+type PieceForageSchema = Record;
+
export const [PiecesContext, usesPieces] =
createCustomContext("Pieces Context");
const PiecesProvider: React.FC<{ children: React.ReactNode }> = ({
children,
}) => {
+ const localStorage = useStorage();
+
const [selectedRepositoryId, setSelectedRepositoryId] = useState<
number | null
>(null);
@@ -87,7 +91,7 @@ const PiecesProvider: React.FC<{ children: React.ReactNode }> = ({
return;
}
if (!repositories?.data?.length) {
- void localForage.setItem("pieces", foragePieces);
+ localStorage.setItem("pieces", foragePieces);
setRepositoryPieces(repositoryPiecesAux);
} else {
for (const repo of repositories.data) {
@@ -98,7 +102,7 @@ const PiecesProvider: React.FC<{ children: React.ReactNode }> = ({
repositoryPiecesAux[repo.id].push(op);
foragePieces[op.id] = op;
}
- void localForage.setItem("pieces", foragePieces);
+ localStorage.setItem("pieces", foragePieces);
})
.catch((e) => {
console.log(e);
@@ -113,8 +117,8 @@ const PiecesProvider: React.FC<{ children: React.ReactNode }> = ({
source: "default",
});
- const fetchForagePieceById = useCallback(async (id: number) => {
- const pieces = await localForage.getItem("pieces");
+ const fetchForagePieceById = useCallback((id: number) => {
+ const pieces = localStorage.getItem("pieces");
if (pieces !== null) {
return pieces[id];
}
diff --git a/frontend/src/context/workspaces/workspaces.tsx b/frontend/src/context/workspaces/workspaces.tsx
index 028659ca..b79f421f 100644
--- a/frontend/src/context/workspaces/workspaces.tsx
+++ b/frontend/src/context/workspaces/workspaces.tsx
@@ -108,6 +108,13 @@ export const WorkspacesProvider: FC = ({
removeUserWorkspace({ workspaceId, userId })
.then(() => {
toast.success(`User removed successfully from workspace.`);
+ const storageWorkspace = JSON.parse(
+ localStorage.getItem("workspace") ?? "{}",
+ );
+ if (storageWorkspace && storageWorkspace.id === workspaceId) {
+ localStorage.removeItem("workspace");
+ setWorkspace(null);
+ }
void workspacesRefresh();
})
.catch((error) => {
diff --git a/frontend/src/features/auth/pages/signIn/signInPage.tsx b/frontend/src/features/auth/pages/signIn/signInPage.tsx
index c9a30cf3..feabcbb3 100644
--- a/frontend/src/features/auth/pages/signIn/signInPage.tsx
+++ b/frontend/src/features/auth/pages/signIn/signInPage.tsx
@@ -58,15 +58,15 @@ export const SignInPage: FC = () => {
justifyContent: "center",
}}
>
-
+
-
+
Welcome Back
@@ -106,7 +106,8 @@ export const SignInPage: FC = () => {
fullWidth
variant="contained"
disabled={authLoading}
- sx={{ mt: 3, mb: 2 }}
+ sx={{ mt: 3, mb: 2, fontSize: 18 }}
+ color="success"
>
Sign In
diff --git a/frontend/src/features/auth/pages/signUp/signUpPage.tsx b/frontend/src/features/auth/pages/signUp/signUpPage.tsx
index a10f5962..bcc91895 100644
--- a/frontend/src/features/auth/pages/signUp/signUpPage.tsx
+++ b/frontend/src/features/auth/pages/signUp/signUpPage.tsx
@@ -66,15 +66,15 @@ export const SignUpPage: FC = () => {
justifyContent: "center",
}}
>
-
+
-
+
Create an account
@@ -116,7 +116,8 @@ export const SignUpPage: FC = () => {
fullWidth
variant="contained"
disabled={authLoading}
- sx={{ mt: 3, mb: 2 }}
+ sx={{ mt: 3, mb: 2, fontSize: 18 }}
+ color="success"
>
{authLoading ? : "Sign Up"}
diff --git a/frontend/src/features/myWorkflows/api/piece/piece.interface.ts b/frontend/src/features/myWorkflows/api/piece/piece.interface.ts
index ddebddcf..1f3ff587 100644
--- a/frontend/src/features/myWorkflows/api/piece/piece.interface.ts
+++ b/frontend/src/features/myWorkflows/api/piece/piece.interface.ts
@@ -11,7 +11,7 @@ interface IPaginationMetadata {
* Get Piece Repositories response interface
*/
export interface IGetPiecesRepositoriesResponseInterface {
- data: PieceRepository[];
+ data: Repository[];
metadata: IPaginationMetadata;
}
diff --git a/frontend/src/features/myWorkflows/components/WorkflowDetail/States/index.tsx b/frontend/src/features/myWorkflows/components/WorkflowDetail/States/index.tsx
index e7569853..6921b566 100644
--- a/frontend/src/features/myWorkflows/components/WorkflowDetail/States/index.tsx
+++ b/frontend/src/features/myWorkflows/components/WorkflowDetail/States/index.tsx
@@ -14,7 +14,7 @@ export const States: React.FC = ({ state }) => {
label="Success"
color="success"
style={{
- backgroundColor: theme.palette.success.light,
+ backgroundColor: theme.palette.success.main,
color: theme.palette.success.contrastText,
fontWeight: "bold",
}}
@@ -27,7 +27,7 @@ export const States: React.FC = ({ state }) => {
label="Failed"
color="error"
style={{
- backgroundColor: theme.palette.error.light,
+ backgroundColor: theme.palette.error.main,
color: theme.palette.success.contrastText,
fontWeight: "bold",
}}
diff --git a/frontend/src/components/WorkflowPanel/ConnectionLine/index.tsx b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/ConnectionLine/index.tsx
similarity index 100%
rename from frontend/src/components/WorkflowPanel/ConnectionLine/index.tsx
rename to frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/ConnectionLine/index.tsx
diff --git a/frontend/src/components/WorkflowPanel/DefaultEdge/index.tsx b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/DefaultEdge/index.tsx
similarity index 100%
rename from frontend/src/components/WorkflowPanel/DefaultEdge/index.tsx
rename to frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/DefaultEdge/index.tsx
diff --git a/frontend/src/components/WorkflowPanel/RunNode/index.tsx b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/RunNode/index.tsx
similarity index 96%
rename from frontend/src/components/WorkflowPanel/RunNode/index.tsx
rename to frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/RunNode/index.tsx
index 2a4354a5..0ff0dc3d 100644
--- a/frontend/src/components/WorkflowPanel/RunNode/index.tsx
+++ b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/RunNode/index.tsx
@@ -64,9 +64,9 @@ const RunNode = memo(({ id, data, selected }) => {
switch (state) {
case taskState.success:
- colors.backgroundColor = theme.palette.success.light;
+ colors.backgroundColor = theme.palette.success.main;
colors.color = theme.palette.getContrastText(
- theme.palette.success.light,
+ theme.palette.success.main,
);
break;
case taskState.running:
@@ -75,8 +75,8 @@ const RunNode = memo(({ id, data, selected }) => {
break;
case taskState.failed:
- colors.backgroundColor = theme.palette.error.light;
- colors.color = theme.palette.getContrastText(theme.palette.error.light);
+ colors.backgroundColor = theme.palette.error.main;
+ colors.color = theme.palette.getContrastText(theme.palette.error.main);
break;
}
diff --git a/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/WorkflowPanel.tsx b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/WorkflowPanel.tsx
new file mode 100644
index 00000000..6bce82fa
--- /dev/null
+++ b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/WorkflowPanel.tsx
@@ -0,0 +1,183 @@
+import theme from "providers/theme.config";
+import React, {
+ useCallback,
+ useState,
+ useRef,
+ forwardRef,
+ useImperativeHandle,
+ type ForwardedRef,
+ useMemo,
+} from "react";
+import ReactFlow, {
+ type Node,
+ Background,
+ Controls,
+ ReactFlowProvider,
+ type Edge,
+ useNodesState,
+ useEdgesState,
+ type NodeMouseHandler,
+ type ReactFlowInstance,
+ MarkerType,
+ type EdgeTypes,
+ type NodeTypes,
+} from "reactflow";
+
+import DefaultEdge from "./DefaultEdge";
+import RunNodeComponent from "./RunNode";
+import "reactflow/dist/style.css";
+import { type RunNode } from "./types";
+
+const RUN_NODE_TYPES: NodeTypes = {
+ CustomNode: RunNodeComponent,
+};
+
+const EDGE_TYPES: EdgeTypes = {
+ default: DefaultEdge,
+};
+
+type OnInit =
+ | ((instance: ReactFlowInstance) => {
+ nodes: Node[];
+ edges: Edge[];
+ })
+ | ((
+ instance: ReactFlowInstance,
+ ) => Promise<{ nodes: Node[]; edges: Edge[] }>);
+
+interface Props {
+ onInit?: OnInit;
+ onNodeDoubleClick?: NodeMouseHandler;
+}
+export interface WorkflowPanelRef {
+ nodes: Node[];
+ edges: Edge[];
+ setNodes: React.Dispatch>;
+ setEdges: React.Dispatch>;
+}
+const WorkflowPanel = forwardRef(
+ (props: Props, ref: ForwardedRef) => {
+ const reactFlowWrapper = useRef(null);
+ const [instance, setInstance] = useState(null);
+ const [rawNodes, setNodes] = useNodesState([]);
+ const [rawEdges, setEdges] = useEdgesState([]);
+
+ const onInit = useCallback(
+ async (instance: ReactFlowInstance) => {
+ setInstance(instance);
+ if (props.onInit) {
+ const result = props.onInit(instance);
+ if (result instanceof Promise) {
+ result
+ .then(({ nodes, edges }) => {
+ setNodes(nodes);
+ setEdges(edges);
+ })
+ .catch((error) => {
+ console.error("Error from Promise-returning function:", error);
+ });
+ } else {
+ const { nodes, edges } = result;
+ setNodes(nodes);
+ setEdges(edges);
+ }
+ }
+ window.requestAnimationFrame(() => instance.fitView());
+ },
+ [props],
+ );
+
+ const onNodeDoubleClick = useCallback(
+ (e, n) => {
+ if (props.onNodeDoubleClick) {
+ props.onNodeDoubleClick(e, n);
+ }
+ if (instance) {
+ const nodeCenter = (n.width ?? 0) / 2;
+ instance.setCenter(n.position.x + nodeCenter, n.position.y);
+ }
+ },
+ [instance, props],
+ );
+
+ const { nodes, edges } = useMemo(() => {
+ const nodes = [...rawNodes].map((node: Node) => ({
+ ...node,
+ data: {
+ ...node.data,
+ },
+ }));
+
+ const edges = [...rawEdges].map((edge: Edge) => {
+ const animated = nodes.some(
+ (n: RunNode) =>
+ (n.id === edge.source || n.id === edge.target) &&
+ n.data?.state === "running",
+ );
+
+ return {
+ ...edge,
+ markerEnd: {
+ type: MarkerType.ArrowClosed,
+ width: 20,
+ height: 20,
+ },
+ animated,
+ };
+ });
+
+ return {
+ nodes,
+ edges,
+ };
+ }, [rawNodes, rawEdges]);
+
+ useImperativeHandle(
+ ref,
+ () => {
+ return {
+ edges: rawEdges,
+ nodes: rawNodes,
+ setEdges,
+ setNodes,
+ };
+ },
+ [rawEdges, rawNodes, setEdges, setNodes],
+ );
+
+ return (
+
+
+
+
+
+
+
+
+ );
+ },
+);
+
+WorkflowPanel.displayName = "WorkflowPanel";
+
+export { WorkflowPanel };
diff --git a/frontend/src/components/WorkflowPanel/index.ts b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/index.ts
similarity index 100%
rename from frontend/src/components/WorkflowPanel/index.ts
rename to frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/index.ts
diff --git a/frontend/src/components/WorkflowPanel/types.ts b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/types.ts
similarity index 70%
rename from frontend/src/components/WorkflowPanel/types.ts
rename to frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/types.ts
index 18c286a9..4a716cf2 100644
--- a/frontend/src/components/WorkflowPanel/types.ts
+++ b/frontend/src/features/myWorkflows/components/WorkflowDetail/WorkflowPanel/types.ts
@@ -13,13 +13,6 @@ interface IStyleData {
module: string;
}
-interface DefaultNodeData {
- name: string;
- style: IStyleData;
- validationError: boolean;
- orientation: "vertical" | "horizontal";
-}
-
interface RunNodeData {
taskId: string;
name: string;
@@ -28,13 +21,8 @@ interface RunNodeData {
orientation: "vertical" | "horizontal";
}
-export type DefaultNode = Node;
export type RunNode = Node;
-export interface DefaultNodeProps extends NodeProps {
- data: DefaultNodeData;
-}
-
export interface RunNodeProps extends NodeProps {
data: RunNodeData;
}
diff --git a/frontend/src/features/myWorkflows/components/WorkflowDetail/index.tsx b/frontend/src/features/myWorkflows/components/WorkflowDetail/index.tsx
index f67ff219..6ba18d72 100644
--- a/frontend/src/features/myWorkflows/components/WorkflowDetail/index.tsx
+++ b/frontend/src/features/myWorkflows/components/WorkflowDetail/index.tsx
@@ -1,11 +1,5 @@
import { Grid, Paper } from "@mui/material";
import { Breadcrumbs } from "components/Breadcrumbs";
-import {
- WorkflowPanel,
- type WorkflowPanelRef,
- type RunNode,
- type DefaultNode,
-} from "components/WorkflowPanel";
import {
useAuthenticatedGetWorkflowId,
useAuthenticatedGetWorkflowRunTasks,
@@ -15,11 +9,17 @@ import {
type IWorkflowRuns,
type IWorkflowRunTasks,
} from "features/myWorkflows/types";
+import { type DefaultNode } from "features/workflowEditor/components/Panel/WorkflowPanel";
import React, { useCallback, useEffect, useRef, useState } from "react";
import { useParams } from "react-router-dom";
import { type NodeMouseHandler } from "reactflow";
import { useInterval } from "utils";
+import {
+ WorkflowPanel,
+ type WorkflowPanelRef,
+ type RunNode,
+} from "./WorkflowPanel";
import {
WorkflowRunDetail,
type WorkflowRunDetailRef,
@@ -226,7 +226,6 @@ export const WorkflowDetail: React.FC = () => {
diff --git a/frontend/src/features/myWorkflows/types/workflow.ts b/frontend/src/features/myWorkflows/types/workflow.ts
index d6f52690..dc583498 100644
--- a/frontend/src/features/myWorkflows/types/workflow.ts
+++ b/frontend/src/features/myWorkflows/types/workflow.ts
@@ -1,13 +1,6 @@
-export interface IWorkflowElement {
- id: string;
- type?: string;
- data: {
- name: string;
- handleOrientation: "horizontal" | "vertical";
- style: any;
- };
- position: { x: number; y: number };
-}
+import { type DefaultNode } from "features/workflowEditor/components/Panel/WorkflowPanel";
+
+export type IWorkflowElement = DefaultNode;
enum workflowStatus {
creating = "creating",
diff --git a/frontend/src/features/workflowEditor/api/workflowsExample/getWorkflowExamples.ts b/frontend/src/features/workflowEditor/api/workflowsExample/getWorkflowExamples.ts
index 872faf38..e4f50d97 100644
--- a/frontend/src/features/workflowEditor/api/workflowsExample/getWorkflowExamples.ts
+++ b/frontend/src/features/workflowEditor/api/workflowsExample/getWorkflowExamples.ts
@@ -1,5 +1,5 @@
import axios from "axios";
-import { type IWorkflowPieceData } from "features/workflowEditor/context/types";
+import { type WorkflowPieceData } from "features/workflowEditor/context/types";
import { type Edge, type Node } from "reactflow";
import useSWR from "swr";
@@ -17,7 +17,7 @@ type GithubReposContent = Array<{
interface JSONFile {
workflowPieces: Record;
- workflowPiecesData: IWorkflowPieceData;
+ workflowPiecesData: WorkflowPieceData;
workflowNodes: Node[];
workflowEdges: Edge[];
}
diff --git a/frontend/src/features/workflowEditor/components/ButtonsMenu/index.tsx b/frontend/src/features/workflowEditor/components/ButtonsMenu/index.tsx
new file mode 100644
index 00000000..b6303c7f
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/ButtonsMenu/index.tsx
@@ -0,0 +1,220 @@
+import ClearIcon from "@mui/icons-material/Clear";
+import DownloadIcon from "@mui/icons-material/Download";
+import IosShareIcon from "@mui/icons-material/IosShare";
+import SaveIcon from "@mui/icons-material/Save";
+import SettingsSuggestIcon from "@mui/icons-material/Settings";
+import { Button, Grid, Menu, MenuItem, styled } from "@mui/material";
+import { type ModalRef } from "components/Modal";
+import { useStorage } from "context/storage/useStorage";
+import {
+ type Differences,
+ findDifferencesInJsonImported,
+ importJsonWorkflow,
+ validateJsonImported,
+} from "features/workflowEditor/utils";
+import React, { useCallback, useRef, useState } from "react";
+import { toast } from "react-toastify";
+import * as yup from "yup";
+
+import {
+ DifferencesModal,
+ MyWorkflowExamplesGalleryModal,
+ WorkflowExamplesGalleryModal,
+} from "../Modals";
+
+interface Props {
+ handleSettings: (event: any) => void;
+ handleSave: () => void;
+ handleExport: () => void;
+ handleImported: (json: any) => void;
+ handleClear: () => void;
+}
+
+const VisuallyHiddenInput = styled("input")({
+ clip: "rect(0 0 0 0)",
+ clipPath: "inset(50%)",
+ height: 1,
+ overflow: "hidden",
+ position: "absolute",
+ bottom: 0,
+ left: 0,
+ whiteSpace: "nowrap",
+ width: 1,
+});
+
+export const ButtonsMenu: React.FC = ({
+ handleSettings,
+ handleSave,
+ handleExport,
+ handleImported,
+ handleClear,
+}) => {
+ const fileInputRef = useRef(null);
+ const incompatiblePiecesModalRef = useRef(null);
+ const workflowsGalleryModalRef = useRef(null);
+ const myWorkflowsGalleryModalRef = useRef(null);
+ const localStorage = useStorage();
+
+ const [menuElement, setMenuElement] = useState(null);
+ const importMenuOpen = Boolean(menuElement);
+
+ const handleClickImportMenu = useCallback(
+ (event: React.MouseEvent) => {
+ setMenuElement(event.currentTarget);
+ },
+ [],
+ );
+
+ const handleImportFromFile = useCallback(() => {
+ if (fileInputRef.current) {
+ fileInputRef.current.click();
+ }
+ setMenuElement(null);
+ }, [fileInputRef]);
+
+ const handleImportFromExamples = useCallback(() => {
+ setMenuElement(null);
+ workflowsGalleryModalRef.current?.open();
+ }, [workflowsGalleryModalRef]);
+
+ const [incompatiblesPieces, setIncompatiblesPieces] = useState(
+ [],
+ );
+
+ const handleImportedJson = useCallback((json: any) => {
+ try {
+ validateJsonImported(json);
+ const pieces = localStorage.getItem("pieces");
+ const differences = findDifferencesInJsonImported(
+ json,
+ pieces as Piece[],
+ );
+
+ if (differences.length) {
+ toast.error("Some repositories are missing or incompatible version");
+
+ setIncompatiblesPieces(differences);
+ incompatiblePiecesModalRef.current?.open();
+ }
+
+ handleImported(json);
+ } catch (e: any) {
+ if (e instanceof yup.ValidationError) {
+ toast.error("This JSON file is incompatible or corrupted");
+ } else {
+ console.log(e);
+ }
+ }
+ if (fileInputRef.current) {
+ fileInputRef.current.value = "";
+ }
+ }, []);
+
+ return (
+
+
+ }
+ onClick={handleSettings}
+ >
+ Settings
+
+
+
+ }
+ onClick={handleSave}
+ >
+ Create
+
+
+
+ }
+ onClick={handleExport}
+ >
+ Export
+
+
+
+ }
+ id="import-button"
+ aria-controls={importMenuOpen ? "import-menu" : undefined}
+ aria-haspopup="true"
+ aria-expanded={importMenuOpen ? "true" : undefined}
+ onClick={handleClickImportMenu}
+ >
+ {
+ const json = await importJsonWorkflow(e);
+ handleImportedJson(json);
+ }}
+ ref={fileInputRef}
+ />
+ Import
+
+
+
+
+
+
+
+ }
+ onClick={handleClear}
+ >
+ Clear
+
+
+
+ );
+};
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/ContainerResourceForm.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/ContainerResourceForm.tsx
similarity index 100%
rename from frontend/src/features/workflowEditor/components/SidebarForm/ContainerResourceForm.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/ContainerResourceForm.tsx
diff --git a/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/ArrayInput.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/ArrayInput.tsx
new file mode 100644
index 00000000..67688edf
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/ArrayInput.tsx
@@ -0,0 +1,179 @@
+import AddIcon from "@mui/icons-material/Add";
+import DeleteIcon from "@mui/icons-material/Delete";
+import { Card, CardContent, IconButton, Grid } from "@mui/material";
+import CheckboxInput from "components/CheckboxInput";
+import { type WorkflowPieceData } from "features/workflowEditor/context/types";
+import {
+ type UpstreamOptions,
+ getFromUpstream,
+} from "features/workflowEditor/utils";
+import React, { useCallback, useMemo } from "react";
+import { useWatch, useFieldArray, useFormContext } from "react-hook-form";
+
+import { disableCheckboxOptions } from "../../../../../../utils/disableCheckboxOptions";
+
+import SelectUpstreamInput from "./SelectUpstreamInput";
+import { isObjectType } from "./utils";
+
+import { InputElement } from ".";
+
+interface ArrayInputItemProps {
+ inputKey: `inputs.${string}`;
+ schema: any;
+ definitions?: any;
+ upstreamOptions: UpstreamOptions;
+ checkedFromUpstream: boolean;
+}
+
+const ArrayInput: React.FC = React.memo(
+ ({ inputKey, schema, upstreamOptions, definitions, checkedFromUpstream }) => {
+ const name: `inputs.${string}.value` = `${inputKey}.value`;
+ const { control } = useFormContext();
+ const { fields, append, remove } = useFieldArray({
+ name,
+ control,
+ });
+ const formsData = useWatch({ name });
+
+ const subItemSchema = useMemo(() => {
+ let subItemSchema: any = schema?.items;
+ if (schema?.items?.$ref) {
+ const subItemSchemaName = schema.items.$ref.split("/").pop();
+ subItemSchema = definitions?.[subItemSchemaName];
+ }
+ return subItemSchema;
+ }, [definitions, schema]);
+
+ const handleAddInput = useCallback(() => {
+ function empty(object: Record, fromUpstream = false) {
+ Object.keys(object).forEach(function (k) {
+ if (object[k] && typeof object[k] === "object") {
+ return empty(object[k]);
+ }
+ if (fromUpstream) {
+ object[k] = getFromUpstream(schema, definitions, k);
+ } else {
+ object[k] = schema[k]?.default;
+ }
+ });
+ return object;
+ }
+ const defaultValue = schema?.default?.length ? schema.default[0] : "";
+ const isObject = typeof defaultValue === "object";
+ let defaultObj = {
+ fromUpstream: getFromUpstream(schema),
+ upstreamArgument: "",
+ upstreamId: "",
+ upstreamValue: "",
+ value: schema?.default ?? null,
+ } as unknown;
+
+ if (isObject) {
+ const emptyObjValue = empty({ ...defaultValue });
+ const emptyObjFromUpstream = empty({ ...defaultValue }, true);
+ defaultObj = {
+ fromUpstream: emptyObjFromUpstream,
+ upstreamArgument: emptyObjValue,
+ upstreamId: emptyObjValue,
+ upstreamValue: emptyObjValue,
+ value: defaultValue,
+ } as unknown;
+ }
+
+ append([defaultObj] as any);
+ }, [append, definitions, schema]);
+
+ const disableUpstream = useMemo(
+ () => disableCheckboxOptions(subItemSchema),
+ [subItemSchema],
+ );
+
+ const options = useMemo(() => upstreamOptions[inputKey], []);
+
+ const isFromUpstream = useCallback(
+ (index: number) => {
+ return formsData?.[index]?.fromUpstream ?? false;
+ },
+ [formsData],
+ );
+
+ return (
+ <>
+ {checkedFromUpstream ? (
+
+ ) : (
+
+
+
+
+
+ {schema?.title}
+
+
+ {fields?.map((fieldWithId, index) => {
+ const { id } = fieldWithId;
+ const isObject = isObjectType(subItemSchema);
+ const fromUpstream = isFromUpstream(index);
+ return (
+
+
+ {
+ remove(index);
+ }}
+ aria-label="Delete"
+ >
+
+
+
+
+
+
+ {isObject ? null : (
+
+
+
+ )}
+
+ );
+ })}
+
+
+ )}
+ >
+ );
+ },
+);
+
+ArrayInput.displayName = "ArrayInput";
+
+export { ArrayInput };
diff --git a/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/EnumInput.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/EnumInput.tsx
new file mode 100644
index 00000000..35aecdb4
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/EnumInput.tsx
@@ -0,0 +1,32 @@
+import SelectInput from "components/SelectInput";
+import { type WorkflowPieceData } from "features/workflowEditor/context/types";
+import React from "react";
+
+interface EnumInputProps {
+ schema: EnumProperty;
+ itemKey: `inputs.${string}`;
+ definitions: Definitions;
+}
+
+export const EnumInput: React.FC = ({
+ schema,
+ itemKey,
+ definitions,
+}) => {
+ const typeClass = schema.allOf[0].$ref.split("/").pop() as string;
+ const definition = definitions?.[typeClass] ? definitions[typeClass] : null;
+ let enumOptions: string[] = [];
+
+ if (definition && "enum" in definition) {
+ enumOptions = definition.enum;
+ }
+
+ return (
+
+ label={definition?.title ?? itemKey.split(".").pop() ?? ""}
+ emptyValue
+ name={itemKey}
+ options={enumOptions}
+ />
+ );
+};
diff --git a/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/InputElement.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/InputElement.tsx
new file mode 100644
index 00000000..e0ad13fe
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/InputElement.tsx
@@ -0,0 +1,165 @@
+import CheckboxInput from "components/CheckboxInput";
+import CodeEditorInput from "components/CodeEditorInput";
+import DatetimeInput from "components/DatetimeInput";
+import NumberInput from "components/NumberInput";
+import TextAreaInput from "components/TextAreaInput";
+import TextInput from "components/TextInput";
+import { type WorkflowPieceData } from "features/workflowEditor/context/types";
+import { type UpstreamOptions } from "features/workflowEditor/utils";
+import React, { useMemo } from "react";
+
+import { EnumInput } from "./EnumInput";
+import ObjectInputComponent from "./ObjectInput";
+import SelectUpstreamInput from "./SelectUpstreamInput";
+import {
+ extractCodeEditorLanguage,
+ getOptionalType,
+ isBooleanType,
+ isCodeEditorType,
+ isDateOrTimeType,
+ isEnumType,
+ isNumberType,
+ isObjectType,
+ isStringType,
+ isTextAreaType,
+} from "./utils";
+
+export * from "./ArrayInput";
+
+interface Props {
+ schema: Property | EnumDefinition;
+ itemKey:
+ | `inputs.${string}.value`
+ | `inputs.${string}.value.${number}`
+ | `inputs.${string}.value.${number}.value.${string}`;
+ upstreamOptions: UpstreamOptions;
+ checkedFromUpstream: boolean | Record;
+ definitions?: Definitions;
+ isItemArray?: boolean;
+ isItemObject?: boolean;
+}
+
+const InputElement: React.FC = React.memo(
+ ({
+ schema,
+ itemKey,
+ upstreamOptions,
+ checkedFromUpstream,
+ definitions,
+ isItemArray,
+ isItemObject,
+ }) => {
+ const optionalType = getOptionalType(schema);
+
+ const upstreamKey = useMemo(() => {
+ if (!!isItemArray || !!isItemObject) {
+ return itemKey
+ .replace("inputs.", "")
+ .replaceAll(".value", "")
+ .replace(/\.[0-9]/, ".__items");
+ }
+ return itemKey.replace("inputs.", "").replaceAll(".value", "");
+ }, [isItemArray, itemKey]);
+
+ if (checkedFromUpstream === true) {
+ const options = upstreamOptions[upstreamKey];
+ const checkboxKey = isItemObject
+ ? itemKey.replace(/(\.value)(?!.*\.value)/, "fromUpstream")
+ : itemKey.replace(/\.value$/, "");
+
+ return (
+
+ );
+ } else if (isEnumType(schema, definitions)) {
+ return (
+
+ );
+ } else if (isNumberType(schema, optionalType)) {
+ return (
+
+ name={isItemArray ? `${itemKey}.value` : itemKey}
+ type={optionalType === "integer" ? "int" : "float"}
+ label={schema.title}
+ defaultValue={
+ "default" in schema
+ ? schema?.default ?? (optionalType === "integer" ? 10 : 10.5)
+ : optionalType === "integer"
+ ? 10
+ : 10.5
+ }
+ />
+ );
+ } else if (isBooleanType(schema)) {
+ return (
+
+ name={isItemArray ? `${itemKey}.value` : itemKey}
+ label={schema.title}
+ />
+ );
+ } else if (isDateOrTimeType(schema, optionalType)) {
+ return (
+
+ name={isItemArray ? `${itemKey}.value` : itemKey}
+ label={schema.title}
+ type={(schema as StringProperty).format}
+ />
+ );
+ } else if (isCodeEditorType(schema, optionalType)) {
+ const language = extractCodeEditorLanguage(schema as StringProperty);
+ return (
+
+ name={isItemArray ? `${itemKey}.value` : itemKey}
+ language={language}
+ placeholder={`Enter your ${language} code here.`}
+ />
+ );
+ } else if (isTextAreaType(schema, optionalType)) {
+ return (
+
+ variant="outlined"
+ name={isItemArray ? `${itemKey}.value` : itemKey}
+ label={schema.title}
+ />
+ );
+ } else if (isStringType(schema, optionalType)) {
+ return (
+
+ variant="outlined"
+ name={isItemArray ? `${itemKey}.value` : itemKey}
+ label={schema.title}
+ />
+ );
+ } else if (
+ isItemArray &&
+ isObjectType(schema as unknown as ObjectDefinition)
+ ) {
+ return (
+ }
+ schema={schema as unknown as ObjectDefinition}
+ inputKey={itemKey as `inputs.${string}.value.${number}`}
+ upstreamOptions={upstreamOptions}
+ definitions={definitions}
+ />
+ );
+ } else {
+ return (
+
+ Unknown widget type for {schema.title}
+
+ );
+ }
+ },
+);
+
+InputElement.displayName = "InputElement";
+
+export { InputElement };
diff --git a/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/ObjectInput.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/ObjectInput.tsx
new file mode 100644
index 00000000..cc81fd82
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/ObjectInput.tsx
@@ -0,0 +1,73 @@
+import { Grid } from "@mui/material";
+import CheckboxInput from "components/CheckboxInput";
+import {
+ disableCheckboxOptions,
+ type UpstreamOptions,
+} from "features/workflowEditor/utils";
+import React, { useCallback } from "react";
+
+import { InputElement } from "./InputElement";
+
+interface Prop {
+ // inputs.input_args.value.0
+ inputKey: `inputs.${string}.value.${number}`;
+ schema: ObjectDefinition;
+ definitions?: Definitions;
+ upstreamOptions: UpstreamOptions;
+ fromUpstream: Record;
+}
+
+const ObjectInputComponent: React.FC = ({
+ schema,
+ inputKey,
+ upstreamOptions,
+ definitions,
+ fromUpstream,
+}) => {
+ const isFromUpstream = useCallback(
+ (key: string) => {
+ const value = fromUpstream[key];
+ return value;
+ },
+ [fromUpstream],
+ );
+
+ return (
+ <>
+ {Object.entries(schema.properties).map(([key, property]) => {
+ const disableUpstream = disableCheckboxOptions(property as any);
+ const checkedFromUpstream = isFromUpstream(key);
+
+ return (
+
+
+
+
+
+
+
+
+ );
+ })}
+ >
+ );
+};
+
+export default ObjectInputComponent;
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/selectUpstreamInput.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/SelectUpstreamInput.tsx
similarity index 93%
rename from frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/selectUpstreamInput.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/SelectUpstreamInput.tsx
index 23b17da3..e9c66a70 100644
--- a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/selectUpstreamInput.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/SelectUpstreamInput.tsx
@@ -6,13 +6,12 @@ import {
Select,
type SelectChangeEvent,
} from "@mui/material";
-import { type IWorkflowPieceData } from "features/workflowEditor/context/types";
+import { type WorkflowPieceData } from "features/workflowEditor/context/types";
+import { type Option } from "features/workflowEditor/utils";
import React, { useCallback } from "react";
import { Controller, useFormContext } from "react-hook-form";
import { fetchFromObject } from "utils";
-import { type Option } from "../upstreamOptions";
-
type ObjectName = `inputs.${string}.value.${number}.upstreamValue.${string}`;
type Name = `inputs.${string}`;
type Props =
@@ -39,7 +38,7 @@ const SelectUpstreamInput: React.FC = ({
setValue,
control,
formState: { errors },
- } = useFormContext();
+ } = useFormContext();
const handleSelectChange = useCallback(
(event: SelectChangeEvent, onChange: (e: any) => void) => {
diff --git a/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/index.ts b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/index.ts
new file mode 100644
index 00000000..480e9bd5
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/index.ts
@@ -0,0 +1,3 @@
+export { ArrayInput } from "./ArrayInput";
+export { isArrayInput } from "./utils";
+export { InputElement } from "./InputElement";
diff --git a/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/utils.ts b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/utils.ts
new file mode 100644
index 00000000..9d7c3676
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/InputElement/utils.ts
@@ -0,0 +1,117 @@
+export const getOptionalType = (
+ property: Property | EnumDefinition | EnumDefinition,
+): TypeName | FormatType | undefined => {
+ if ("anyOf" in property && property.anyOf.length === 2) {
+ const hasNullType = property.anyOf.some((item) => item.type === "null");
+ if (hasNullType) {
+ const itemSchema = property.anyOf.find(
+ (itemSchema) => itemSchema.type !== "null",
+ ) as SimpleProperty;
+
+ return "format" in itemSchema ? itemSchema.format : itemSchema?.type;
+ }
+ }
+};
+
+export const isStringType = (
+ property: Property | EnumDefinition,
+ anyOfType?: TypeName | WidgetType | FormatType,
+) => {
+ return (
+ ("type" in property && property.type === "string") || anyOfType === "string"
+ );
+};
+
+export const isEnumType = (
+ property: Property | EnumDefinition,
+ definitions?: Definitions,
+) => {
+ return "allOf" in property && property.allOf.length > 0 && definitions;
+};
+
+export const isNumberType = (
+ property: Property | EnumDefinition,
+ anyOfType?: TypeName | FormatType,
+) => {
+ return (
+ ("type" in property && property.type === "number" && !anyOfType) ||
+ anyOfType === "number" ||
+ ("type" in property && property.type === "integer" && !anyOfType) ||
+ anyOfType === "integer"
+ );
+};
+
+export const isBooleanType = (property: Property | EnumDefinition) => {
+ return "type" in property && property.type === "boolean";
+};
+
+export const isDateOrTimeType = (
+ property: Property | EnumDefinition,
+ anyOfType?: TypeName | WidgetType | FormatType,
+) => {
+ return (
+ ("type" in property &&
+ "format" in property &&
+ property.type === "string" &&
+ property.format === "date" &&
+ !anyOfType) ||
+ anyOfType === "date" ||
+ ("type" in property &&
+ "format" in property &&
+ property.type === "string" &&
+ property.format === "time" &&
+ !anyOfType) ||
+ anyOfType === "time" ||
+ ("type" in property &&
+ "format" in property &&
+ property.type === "string" &&
+ property.format === "date-time" &&
+ !anyOfType) ||
+ anyOfType === "date-time"
+ );
+};
+
+export const isCodeEditorType = (
+ property: Property | EnumDefinition,
+ anyOfType?: TypeName | FormatType,
+) => {
+ return (
+ ("type" in property &&
+ "widget" in property &&
+ property.type === "string" &&
+ property.widget?.includes("codeeditor")) ??
+ (anyOfType === "string" &&
+ (property as StringProperty).widget?.includes("codeeditor"))
+ );
+};
+
+export const isTextAreaType = (
+ property: Property | EnumDefinition,
+ anyOfType?: TypeName | FormatType,
+) => {
+ return (
+ "widget" in property &&
+ property.widget === "textarea" &&
+ anyOfType === "string"
+ );
+};
+
+export const isArrayInput = (
+ property: Property | EnumDefinition,
+ optionalType?: TypeName | FormatType,
+) => {
+ return (
+ ("type" in property && property.type === "array") ||
+ (optionalType && optionalType === "array")
+ );
+};
+
+export const isObjectType = (property: ObjectDefinition) => {
+ return "type" in property && property.type === "object";
+};
+
+export const extractCodeEditorLanguage = (property: StringProperty) => {
+ return property?.widget?.includes("codeeditor-")
+ ? property.widget.replace("codeeditor-", "")
+ : "python";
+};
diff --git a/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/index.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/index.tsx
new file mode 100644
index 00000000..0c60c05a
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/PieceFormItem/index.tsx
@@ -0,0 +1,70 @@
+import { Box, Grid } from "@mui/material";
+import CheckboxInput from "components/CheckboxInput";
+import {
+ disableCheckboxOptions,
+ type UpstreamOptions,
+} from "features/workflowEditor/utils";
+import React, { useMemo } from "react";
+import { useWatch } from "react-hook-form";
+
+import { InputElement, ArrayInput, isArrayInput } from "./InputElement";
+
+interface PieceFormItemProps {
+ schema: Property;
+ itemKey: string;
+ definitions?: Definitions;
+ upstreamOptions: UpstreamOptions;
+}
+
+const PieceFormItem: React.FC = ({
+ upstreamOptions,
+ itemKey,
+ schema,
+ definitions,
+}) => {
+ const disableUpstream = useMemo(() => {
+ return disableCheckboxOptions(schema);
+ }, [schema]);
+
+ const checkedFromUpstream = useWatch({
+ name: `inputs.${itemKey}.fromUpstream`,
+ });
+
+ return (
+
+
+ {isArrayInput(schema) ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+ );
+};
+
+export default React.memo(PieceFormItem);
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/index.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/index.tsx
similarity index 57%
rename from frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/index.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/index.tsx
index 63f4076f..fb07b88b 100644
--- a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/index.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/PieceForm/index.tsx
@@ -1,33 +1,32 @@
import { useWorkflowsEditor } from "features/workflowEditor/context";
-import { type IWorkflowPieceData } from "features/workflowEditor/context/types";
+import {
+ getUpstreamOptions,
+ type UpstreamOptions,
+} from "features/workflowEditor/utils";
import React, { useCallback, useEffect, useMemo, useState } from "react";
-import { useFormContext } from "react-hook-form";
import PieceFormItem from "./PieceFormItem";
-import { type UpstreamOptions, getUpstreamOptions } from "./upstreamOptions";
interface PieceFormProps {
formId: string;
- schema: any;
+ schema: Schema;
}
const PieceForm: React.FC = ({ formId, schema }) => {
- const { fetchForageWorkflowEdges, getForageWorkflowPieces } =
- useWorkflowsEditor();
- const { control } = useFormContext();
+ const { getWorkflowEdges, getWorkflowPieces } = useWorkflowsEditor();
const [upstreamOptions, setUpstreamOptions] = useState({});
const shouldRender = useMemo(() => {
return schema?.properties;
}, [schema]);
- const handleUpstreamOptions = useCallback(async () => {
+ const handleUpstreamOptions = useCallback(() => {
if (!shouldRender) {
return;
}
- const workflowPieces = await getForageWorkflowPieces();
- const workflowEdges = await fetchForageWorkflowEdges();
+ const workflowPieces = getWorkflowPieces();
+ const workflowEdges = getWorkflowEdges();
const upstreamOptions = getUpstreamOptions(
formId,
@@ -35,17 +34,12 @@ const PieceForm: React.FC = ({ formId, schema }) => {
workflowPieces,
workflowEdges,
);
+
setUpstreamOptions(upstreamOptions);
- }, [
- fetchForageWorkflowEdges,
- formId,
- getForageWorkflowPieces,
- schema,
- shouldRender,
- ]);
+ }, [getWorkflowEdges, formId, getWorkflowPieces, schema, shouldRender]);
useEffect(() => {
- void handleUpstreamOptions();
+ handleUpstreamOptions();
}, [handleUpstreamOptions]);
if (!shouldRender) return null;
@@ -54,12 +48,10 @@ const PieceForm: React.FC = ({ formId, schema }) => {
{Object.keys(schema.properties).map((key) => (
))}
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/StorageForm.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/StorageForm.tsx
similarity index 95%
rename from frontend/src/features/workflowEditor/components/SidebarForm/StorageForm.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/StorageForm.tsx
index 7e022112..f049b194 100644
--- a/frontend/src/features/workflowEditor/components/SidebarForm/StorageForm.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/StorageForm.tsx
@@ -9,7 +9,7 @@ import {
} from "@mui/material";
import {
type IStorageFormData,
- type IWorkflowPieceData,
+ type WorkflowPieceData,
type StorageAccessModes,
storageAccessModes,
} from "features/workflowEditor/context/types";
@@ -29,7 +29,7 @@ export const defaultStorage: IStorageFormData = {
};
const StorageForm: React.FC = () => {
- const { formState, control } = useFormContext();
+ const { formState, control } = useFormContext();
return (
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/index.tsx b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/index.tsx
similarity index 84%
rename from frontend/src/features/workflowEditor/components/SidebarForm/index.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/index.tsx
index 99c3f404..566143a8 100644
--- a/frontend/src/features/workflowEditor/components/SidebarForm/index.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/PieceFormDrawer/index.tsx
@@ -8,9 +8,10 @@ import {
AccordionDetails,
} from "@mui/material";
import { useWorkflowsEditor } from "features/workflowEditor/context";
-import { type IWorkflowPieceData } from "features/workflowEditor/context/types";
+import { type WorkflowPieceData } from "features/workflowEditor/context/types";
+import { createInputsSchemaValidation } from "features/workflowEditor/utils/validation";
import React, { useCallback, useEffect, useMemo, useState } from "react";
-import { FormProvider, useForm } from "react-hook-form";
+import { FormProvider, useForm, useWatch } from "react-hook-form";
import { yupResolver } from "utils";
import * as yup from "yup";
@@ -18,28 +19,27 @@ import ContainerResourceForm, {
ContainerResourceFormSchema,
} from "./ContainerResourceForm";
import PieceForm from "./PieceForm";
-import { createInputsSchemaValidation } from "./PieceForm/validation";
import StorageForm, { storageFormSchema } from "./StorageForm";
interface ISidebarPieceFormProps {
formId: string;
- schema: PieceSchema;
+ schema: Schema;
title: string;
open: boolean;
onClose: (event: any) => void;
}
-const SidebarPieceForm: React.FC = (props) => {
+export const PieceFormDrawer: React.FC = (props) => {
const { schema, formId, open, onClose, title } = props;
const {
- setForageWorkflowPiecesDataById,
- fetchForageWorkflowPiecesDataById,
- setForageWorkflowPiecesOutputSchema,
+ setWorkflowPieceDataById,
+ getWorkflowPieceDataById,
+ setWorkflowPieceOutputSchema,
clearDownstreamDataById,
} = useWorkflowsEditor();
- const SidebarPieceFormSchema = useMemo(() => {
+ const PieceFormSchema = useMemo(() => {
return yup.object().shape({
storage: storageFormSchema,
containerResources: ContainerResourceFormSchema,
@@ -47,7 +47,7 @@ const SidebarPieceForm: React.FC = (props) => {
});
}, [schema]);
- const resolver = yupResolver(SidebarPieceFormSchema);
+ const resolver = yupResolver(PieceFormSchema);
const [formLoaded, setFormLoaded] = useState(false);
@@ -56,11 +56,11 @@ const SidebarPieceForm: React.FC = (props) => {
mode: "onChange",
});
const { trigger, reset } = methods;
- const data = methods.watch();
+ const data = useWatch({ control: methods.control });
- const loadData = useCallback(async () => {
+ const loadData = useCallback(() => {
setFormLoaded(false);
- const data = await fetchForageWorkflowPiecesDataById(formId);
+ const data = getWorkflowPieceDataById(formId);
if (data) {
reset(data); // put forage data on form if exist
} else {
@@ -68,9 +68,9 @@ const SidebarPieceForm: React.FC = (props) => {
}
void trigger();
setFormLoaded(true);
- }, [formId, fetchForageWorkflowPiecesDataById, reset, trigger]);
+ }, [formId, getWorkflowPieceDataById, reset, trigger]);
- const updateOutputSchema = useCallback(async () => {
+ const updateOutputSchema = useCallback(() => {
if (schema?.properties) {
const outputSchemaProperty = Object.keys(schema.properties).find(
(key) => {
@@ -127,29 +127,29 @@ const SidebarPieceForm: React.FC = (props) => {
{},
);
- await setForageWorkflowPiecesOutputSchema(formId, newProperties);
- await clearDownstreamDataById(formId);
+ setWorkflowPieceOutputSchema(formId, newProperties);
+ clearDownstreamDataById(formId);
}
}
}, [
schema,
data.inputs,
- setForageWorkflowPiecesOutputSchema,
+ setWorkflowPieceOutputSchema,
formId,
clearDownstreamDataById,
]);
- const saveData = useCallback(async () => {
+ const saveData = useCallback(() => {
if (formId && open) {
- await setForageWorkflowPiecesDataById(formId, data as IWorkflowPieceData);
- await updateOutputSchema();
+ setWorkflowPieceDataById(formId, data as WorkflowPieceData);
+ updateOutputSchema();
}
- }, [formId, open, setForageWorkflowPiecesDataById, data, updateOutputSchema]);
+ }, [formId, open, setWorkflowPieceDataById, data, updateOutputSchema]);
// load forage
useEffect(() => {
if (open) {
- void loadData();
+ loadData();
} else {
setFormLoaded(false);
reset();
@@ -158,7 +158,7 @@ const SidebarPieceForm: React.FC = (props) => {
// save on forage
useEffect(() => {
- void saveData();
+ saveData();
}, [saveData]);
if (!formLoaded) {
@@ -269,5 +269,3 @@ const SidebarPieceForm: React.FC = (props) => {
);
};
-
-export default SidebarPieceForm;
diff --git a/frontend/src/features/workflowEditor/components/DrawerMenu/index.tsx b/frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/index.tsx
similarity index 91%
rename from frontend/src/features/workflowEditor/components/DrawerMenu/index.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/index.tsx
index 45565532..1c81b4f5 100644
--- a/frontend/src/features/workflowEditor/components/DrawerMenu/index.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/index.tsx
@@ -18,7 +18,7 @@ import { type FC, type ReactNode, useState } from "react";
import SidebarAddNode from "./sidebarAddNode";
-interface PermanentDrawerRightWorkflowsProps {
+interface PiecesDrawerProps {
isOpen?: boolean;
handleClose: () => void;
children?: ReactNode;
@@ -29,9 +29,10 @@ interface PermanentDrawerRightWorkflowsProps {
orientation: "vertical" | "horizontal";
}
-export const PermanentDrawerRightWorkflows: FC<
- PermanentDrawerRightWorkflowsProps
-> = ({ setOrientation, orientation }) => {
+export const PiecesDrawer: FC = ({
+ setOrientation,
+ orientation,
+}) => {
const theme = useTheme();
const [openDrawer, setOpenDrawer] = useState(true);
diff --git a/frontend/src/features/workflowEditor/components/DrawerMenu/pieceDocsPopover.tsx b/frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/pieceDocsPopover.tsx
similarity index 100%
rename from frontend/src/features/workflowEditor/components/DrawerMenu/pieceDocsPopover.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/pieceDocsPopover.tsx
diff --git a/frontend/src/features/workflowEditor/components/DrawerMenu/sidebarAddNode.tsx b/frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/sidebarAddNode.tsx
similarity index 96%
rename from frontend/src/features/workflowEditor/components/DrawerMenu/sidebarAddNode.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/sidebarAddNode.tsx
index 9ea310b4..23d6046e 100644
--- a/frontend/src/features/workflowEditor/components/DrawerMenu/sidebarAddNode.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/sidebarAddNode.tsx
@@ -144,7 +144,11 @@ const SidebarAddNode: FC = ({ setOrientation, orientation }) => {
{Boolean(filteredRepositoryPieces[repo.id]?.length) &&
filteredRepositoryPieces[repo.id].map((piece) => (
-
+
))}
diff --git a/frontend/src/features/workflowEditor/components/DrawerMenu/sidebarNode.tsx b/frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/sidebarNode.tsx
similarity index 90%
rename from frontend/src/features/workflowEditor/components/DrawerMenu/sidebarNode.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/sidebarNode.tsx
index fcb4d7ce..5b0431c9 100644
--- a/frontend/src/features/workflowEditor/components/DrawerMenu/sidebarNode.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/PiecesDrawer/sidebarNode.tsx
@@ -4,7 +4,10 @@ import React, { type FC, useState } from "react";
import PieceDocsPopover from "./pieceDocsPopover";
-const PiecesSidebarNode: FC<{ piece: Piece }> = ({ piece }) => {
+const PiecesSidebarNode: FC<{
+ piece: Piece;
+ orientation: "horizontal" | "vertical";
+}> = ({ piece, orientation }) => {
const [popoverOpen, setPopoverOpen] = useState(false);
// Drag and drop from sidebar to Workflow area
@@ -12,7 +15,7 @@ const PiecesSidebarNode: FC<{ piece: Piece }> = ({ piece }) => {
event: React.DragEvent,
nodeData: any,
) => {
- const data = JSON.stringify(nodeData.nodeData);
+ const data = JSON.stringify({ ...nodeData.nodeData, orientation });
event.dataTransfer.setData("application/reactflow", data);
event.dataTransfer.effectAllowed = "move";
};
diff --git a/frontend/src/features/workflowEditor/components/SidebarSettingsForm/index.tsx b/frontend/src/features/workflowEditor/components/Drawers/SettingsFormDrawer/index.tsx
similarity index 78%
rename from frontend/src/features/workflowEditor/components/SidebarSettingsForm/index.tsx
rename to frontend/src/features/workflowEditor/components/Drawers/SettingsFormDrawer/index.tsx
index 093da384..ecf18465 100644
--- a/frontend/src/features/workflowEditor/components/SidebarSettingsForm/index.tsx
+++ b/frontend/src/features/workflowEditor/components/Drawers/SettingsFormDrawer/index.tsx
@@ -1,4 +1,4 @@
-import { Drawer, Grid, Typography, TextField } from "@mui/material";
+import { Drawer, Grid, Typography } from "@mui/material";
import DatetimeInput from "components/DatetimeInput";
import SelectInput from "components/SelectInput";
import TextInput from "components/TextInput";
@@ -18,16 +18,15 @@ import {
import {
useCallback,
useEffect,
- useState,
forwardRef,
useImperativeHandle,
type ForwardedRef,
} from "react";
-import { FormProvider, useForm } from "react-hook-form";
-import { yupResolver } from "utils";
+import { FormProvider, useForm, useWatch } from "react-hook-form";
+import { isEmpty, yupResolver } from "utils";
import * as yup from "yup";
-interface ISidebarSettingsFormProps {
+interface ISettingsFormDrawerProps {
open: boolean;
onClose: (event: any) => void;
}
@@ -107,61 +106,53 @@ export const WorkflowSettingsFormSchema: ValidationSchema = yup.object().shape({
}),
});
-export interface SidebarSettingsFormRef {
- loadData: () => Promise;
+export interface SettingsFormDrawerRef {
+ loadData: () => void;
}
-const SidebarSettingsForm = forwardRef<
- SidebarSettingsFormRef,
- ISidebarSettingsFormProps
+const SettingsFormDrawer = forwardRef<
+ SettingsFormDrawerRef,
+ ISettingsFormDrawerProps
>(
(
- props: ISidebarSettingsFormProps,
- ref: ForwardedRef,
+ props: ISettingsFormDrawerProps,
+ ref: ForwardedRef,
) => {
const { open, onClose } = props;
- const { fetchWorkflowSettingsData, setWorkflowSettingsData } =
+ const { getWorkflowSettingsData, setWorkflowSettingsData } =
useWorkflowsEditor();
const resolver = yupResolver(WorkflowSettingsFormSchema);
- const methods = useForm({ mode: "onChange", resolver });
- const { register, watch, reset, trigger, getValues } = methods;
- const formData = watch();
+ const methods = useForm({
+ mode: "onChange",
+ resolver,
+ defaultValues: defaultSettingsData,
+ });
+ const formData = useWatch({ control: methods.control });
- const [loaded, setLoaded] = useState(false);
-
- const validate = useCallback(() => {
- if (loaded) void trigger();
- }, [loaded, trigger]);
-
- useEffect(() => {
- validate();
- }, [validate]);
-
- const loadData = useCallback(async () => {
- const data = await fetchWorkflowSettingsData();
- if (Object.keys(data).length === 0) {
- reset(defaultSettingsData);
- await setWorkflowSettingsData(defaultSettingsData);
+ const loadData = useCallback(() => {
+ const data = getWorkflowSettingsData();
+ if (isEmpty(data)) {
+ methods.reset(defaultSettingsData);
+ setWorkflowSettingsData(defaultSettingsData);
} else {
- reset(data);
+ methods.reset(data);
}
- setLoaded(true);
- }, [reset, fetchWorkflowSettingsData, setWorkflowSettingsData]);
+ }, [methods.reset, getWorkflowSettingsData, setWorkflowSettingsData]);
- const saveData = useCallback(async () => {
- if (open) {
- await setWorkflowSettingsData(formData);
+ const saveData = useCallback(() => {
+ if (open && !isEmpty(formData)) {
+ setWorkflowSettingsData(formData as any);
}
}, [formData, open, setWorkflowSettingsData]);
useEffect(() => {
- void loadData();
+ loadData();
}, [open, loadData]);
useEffect(() => {
- void saveData();
+ saveData();
}, [saveData]);
useImperativeHandle(
@@ -174,7 +165,7 @@ const SidebarSettingsForm = forwardRef<
[loadData],
);
- if (Object.keys(formData).length === 0) {
+ if (isEmpty(formData)) {
return null;
}
@@ -241,7 +232,7 @@ const SidebarSettingsForm = forwardRef<
defaultValue={defaultSettingsData.config.endDateType}
/>
- {getValues().config.endDateType ===
+ {formData?.config?.endDateType ===
endDateTypes.UserDefined && (
- {formData.storage.storageSource === storageSourcesAWS.AWS_S3 ? (
+ {formData?.storage?.storageSource ===
+ storageSourcesAWS.AWS_S3 ? (
<>
-
-
>
@@ -305,5 +297,5 @@ const SidebarSettingsForm = forwardRef<
);
},
);
-SidebarSettingsForm.displayName = "SidebarSettingsForm";
-export { SidebarSettingsForm };
+SettingsFormDrawer.displayName = "SettingsFormDrawer";
+export { SettingsFormDrawer };
diff --git a/frontend/src/features/workflowEditor/components/Drawers/index.ts b/frontend/src/features/workflowEditor/components/Drawers/index.ts
new file mode 100644
index 00000000..d0bacca3
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Drawers/index.ts
@@ -0,0 +1,3 @@
+export * from "./PieceFormDrawer";
+export * from "./PiecesDrawer";
+export * from "./SettingsFormDrawer";
diff --git a/frontend/src/features/workflowEditor/components/DifferencesModal/index.tsx b/frontend/src/features/workflowEditor/components/Modals/DifferencesModal.tsx
similarity index 97%
rename from frontend/src/features/workflowEditor/components/DifferencesModal/index.tsx
rename to frontend/src/features/workflowEditor/components/Modals/DifferencesModal.tsx
index 16e4e77a..d24c2fa4 100644
--- a/frontend/src/features/workflowEditor/components/DifferencesModal/index.tsx
+++ b/frontend/src/features/workflowEditor/components/Modals/DifferencesModal.tsx
@@ -172,11 +172,11 @@ export const DifferencesModal = forwardRef(
color: theme.palette.success.main,
}
: installState === 3
- ? {
- borderColor: theme.palette.error.main,
- color: theme.palette.error.main,
- }
- : {}
+ ? {
+ borderColor: theme.palette.error.main,
+ color: theme.palette.error.main,
+ }
+ : {}
}
>
{installState === 1 && (
diff --git a/frontend/src/features/workflowEditor/components/MyWorkflowsGalleryModal/index.tsx b/frontend/src/features/workflowEditor/components/Modals/MyWorkflowsGalleryModal.tsx
similarity index 100%
rename from frontend/src/features/workflowEditor/components/MyWorkflowsGalleryModal/index.tsx
rename to frontend/src/features/workflowEditor/components/Modals/MyWorkflowsGalleryModal.tsx
diff --git a/frontend/src/features/workflowEditor/components/WorkflowExamplesGalleryModal/index.tsx b/frontend/src/features/workflowEditor/components/Modals/WorkflowExamplesGalleryModal.tsx
similarity index 100%
rename from frontend/src/features/workflowEditor/components/WorkflowExamplesGalleryModal/index.tsx
rename to frontend/src/features/workflowEditor/components/Modals/WorkflowExamplesGalleryModal.tsx
diff --git a/frontend/src/features/workflowEditor/components/Modals/index.ts b/frontend/src/features/workflowEditor/components/Modals/index.ts
new file mode 100644
index 00000000..7838a11a
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Modals/index.ts
@@ -0,0 +1,3 @@
+export * from "./DifferencesModal";
+export * from "./WorkflowExamplesGalleryModal";
+export * from "./MyWorkflowsGalleryModal";
diff --git a/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/ConnectionLine/index.tsx b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/ConnectionLine/index.tsx
new file mode 100644
index 00000000..a27caa35
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/ConnectionLine/index.tsx
@@ -0,0 +1,35 @@
+import React from "react";
+import {
+ getBezierPath,
+ type ConnectionLineComponentProps,
+ BaseEdge,
+} from "reactflow";
+
+export const CustomConnectionLine: React.FC = ({
+ fromX,
+ fromY,
+ fromPosition,
+ toX,
+ toY,
+ toPosition,
+}) => {
+ const [linePath] = getBezierPath({
+ sourceX: fromX,
+ sourceY: fromY,
+ sourcePosition: fromPosition,
+ targetX: toX,
+ targetY: toY,
+ targetPosition: toPosition,
+ });
+
+ return (
+
+
+
+ );
+};
diff --git a/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/DefaultEdge/index.tsx b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/DefaultEdge/index.tsx
new file mode 100644
index 00000000..bab95a5a
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/DefaultEdge/index.tsx
@@ -0,0 +1,34 @@
+import { BaseEdge, type EdgeProps, getBezierPath } from "reactflow";
+
+const DefaultEdge: React.FC = ({
+ id,
+ sourceX,
+ sourceY,
+ targetX,
+ targetY,
+ sourcePosition,
+ targetPosition,
+ markerEnd,
+}: EdgeProps) => {
+ const [edgePath] = getBezierPath({
+ sourceX,
+ sourceY,
+ sourcePosition,
+ targetX,
+ targetY,
+ targetPosition,
+ });
+
+ return (
+
+ );
+};
+
+export default DefaultEdge;
diff --git a/frontend/src/components/WorkflowPanel/DefaultNode/index.tsx b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/DefaultNode/index.tsx
similarity index 100%
rename from frontend/src/components/WorkflowPanel/DefaultNode/index.tsx
rename to frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/DefaultNode/index.tsx
diff --git a/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/WorkflowPanel.tsx b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/WorkflowPanel.tsx
new file mode 100644
index 00000000..87da8b55
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/WorkflowPanel.tsx
@@ -0,0 +1,363 @@
+import AutoFixHighIcon from "@mui/icons-material/AutoFixHigh";
+import { Paper } from "@mui/material";
+import { usesPieces } from "context/workspaces";
+import Elk from "elkjs";
+import { useWorkflowsEditor } from "features/workflowEditor/context";
+import {
+ storageAccessModes,
+ type WorkflowPieceData,
+} from "features/workflowEditor/context/types";
+import theme from "providers/theme.config";
+import React, {
+ useCallback,
+ type DragEvent,
+ useState,
+ useRef,
+ forwardRef,
+ useImperativeHandle,
+ useMemo,
+} from "react";
+import { toast } from "react-toastify";
+import ReactFlow, {
+ type Node,
+ addEdge,
+ Background,
+ Controls,
+ type Connection,
+ type Edge,
+ useNodesState,
+ useEdgesState,
+ type NodeMouseHandler,
+ type ReactFlowInstance,
+ type XYPosition,
+ ControlButton,
+ MarkerType,
+ type EdgeTypes,
+ type NodeTypes,
+} from "reactflow";
+import "reactflow/dist/style.css";
+import { v4 as uuidv4 } from "uuid";
+
+import {
+ extractDefaultContainerResources,
+ extractDefaultInputValues,
+ isDag,
+} from "../../../utils";
+
+import { CustomConnectionLine } from "./ConnectionLine";
+import DefaultEdge from "./DefaultEdge";
+import { CustomNode } from "./DefaultNode";
+import { type DefaultNode } from "./types";
+
+const getId = (module_name: string) => {
+ return `${module_name}_${uuidv4()}`;
+};
+
+const DEFAULT_NODE_TYPES: NodeTypes = {
+ CustomNode,
+};
+
+const EDGE_TYPES: EdgeTypes = {
+ default: DefaultEdge,
+};
+
+interface Props {
+ onNodeDoubleClick: NodeMouseHandler;
+}
+
+export interface WorkflowPanelRef {
+ edges: Edge[];
+ nodes: DefaultNode[];
+ setNodes: React.Dispatch>;
+ setEdges: React.Dispatch>;
+}
+
+const WorkflowPanel = forwardRef(
+ ({ onNodeDoubleClick }, ref) => {
+ const reactFlowWrapper = useRef(null);
+ const [instance, setInstance] = useState(null);
+ const [rawNodes, setNodes, onNodesChange] = useNodesState([]);
+ const [rawEdges, setEdges, onEdgesChange] = useEdgesState([]);
+
+ const {
+ getWorkflowNodes,
+ getWorkflowEdges,
+ setWorkflowPieces,
+ getWorkflowPieces,
+ deleteWorkflowPieceById,
+ deleteWorkflowPieceDataById,
+ setWorkflowPieceDataById,
+ clearDownstreamDataById,
+ setWorkflowEdges,
+ setWorkflowNodes,
+ } = useWorkflowsEditor();
+
+ const { fetchForagePieceById } = usesPieces();
+
+ const onInit = useCallback(
+ (instance: ReactFlowInstance) => {
+ setInstance(instance);
+ const edges = getWorkflowEdges();
+ const nodes = getWorkflowNodes();
+ setNodes(nodes);
+ setEdges(edges);
+ window.requestAnimationFrame(() => instance.fitView());
+ },
+ [getWorkflowEdges, getWorkflowNodes, setNodes, setEdges],
+ );
+
+ const createNewNode = useCallback(
+ (event: DragEvent, position: XYPosition) => {
+ event.preventDefault();
+ const nodeData = event.dataTransfer.getData("application/reactflow");
+ const { ...data } = JSON.parse(nodeData);
+
+ const newNodeData: DefaultNode["data"] = {
+ name: data.name,
+ style: data.style,
+ validationError: false,
+ orientation: data?.orientation ?? "horizontal",
+ };
+
+ const newNode = {
+ id: getId(data.id),
+ type: "CustomNode",
+ position,
+ data: newNodeData,
+ };
+
+ const piece = fetchForagePieceById(data.id) as unknown as Piece;
+ const defaultInputs = extractDefaultInputValues(piece);
+
+ const defaultContainerResources = extractDefaultContainerResources(
+ piece?.container_resources,
+ );
+
+ const currentWorkflowPieces = getWorkflowPieces();
+ const newWorkflowPieces = {
+ ...currentWorkflowPieces,
+ [newNode.id]: piece,
+ };
+ setWorkflowPieces(newWorkflowPieces);
+
+ const defaultWorkflowPieceData: WorkflowPieceData = {
+ storage: { storageAccessMode: storageAccessModes.ReadWrite },
+ containerResources: defaultContainerResources,
+ inputs: defaultInputs,
+ };
+
+ setWorkflowPieceDataById(newNode.id, defaultWorkflowPieceData);
+ return newNode;
+ },
+ [
+ fetchForagePieceById,
+ setWorkflowPieces,
+ getWorkflowPieces,
+ setWorkflowPieceDataById,
+ ],
+ );
+
+ const onDrop = useCallback(
+ async (event: DragEvent) => {
+ event.preventDefault();
+ if (reactFlowWrapper?.current === null || instance === null) {
+ return;
+ }
+ const reactFlowBounds =
+ reactFlowWrapper.current.getBoundingClientRect();
+
+ const position = instance.project({
+ x: event.clientX - reactFlowBounds.left,
+ y: event.clientY - reactFlowBounds.top,
+ });
+
+ const newNode = createNewNode(event, position);
+ if (newNode) {
+ setNodes((ns: Node[]) => {
+ const nodes = ns.concat(newNode);
+ setWorkflowNodes(nodes);
+ return nodes;
+ });
+ }
+ },
+ [instance, setNodes, createNewNode],
+ );
+
+ const onDragOver = (event: DragEvent) => {
+ event.preventDefault();
+ event.dataTransfer.dropEffect = "move";
+ };
+
+ const onConnect = useCallback(
+ (connection: Connection) => {
+ const newEdge: any = {
+ ...connection,
+ id: `${Math.random()}`,
+ };
+ const newEdges = [...edges, newEdge];
+ if (!isDag(nodes, newEdges)) {
+ toast.error("Workflow must be acyclic!");
+ return;
+ }
+ setEdges((prevEdges: Edge[]) => {
+ const edges = addEdge(connection, prevEdges);
+ setWorkflowEdges(edges);
+ return edges;
+ });
+ },
+ [rawEdges, rawNodes],
+ );
+
+ const onNodesDelete = useCallback(
+ (nodes: any) => {
+ for (const node of nodes) {
+ deleteWorkflowPieceById(node.id);
+ deleteWorkflowPieceDataById(node.id);
+ }
+ },
+ [deleteWorkflowPieceDataById, deleteWorkflowPieceById],
+ );
+
+ const onEdgesDelete = useCallback(
+ (edges: Edge[]) => {
+ for (const edge of edges) {
+ clearDownstreamDataById(edge.source);
+ // TODO remover a edge no localStorage
+ }
+ },
+ [clearDownstreamDataById],
+ );
+
+ const autoLayout = useCallback(async () => {
+ const elkGraph = {
+ id: "root",
+ children: rawNodes.map((node) => ({
+ id: node.id,
+ width: 230,
+ height: 140,
+ })),
+ edges: rawEdges.map((edge) => ({
+ id: edge.id,
+ sources: [edge.source],
+ targets: [edge.target],
+ })),
+ };
+
+ const elk = new Elk();
+
+ try {
+ const elkLayout = await elk.layout(elkGraph);
+
+ if (elkLayout?.children && elkLayout.edges) {
+ const updatedNodes = elkLayout.children.map((elkNode) => {
+ const node = rawNodes.find((node) => node.id === elkNode.id);
+ if (
+ node &&
+ elkNode.x !== undefined &&
+ elkNode.width !== undefined &&
+ elkNode.y !== undefined &&
+ elkNode.height !== undefined
+ ) {
+ return {
+ ...node,
+ position: {
+ x: elkNode.x - elkNode.width / 2,
+ y: elkNode.y - elkNode.height / 2,
+ },
+ };
+ }
+ return node;
+ });
+
+ const updatedEdges = elkLayout.edges.map((elkEdge) => ({
+ ...rawEdges.find((edge) => edge.id === elkEdge.id),
+ }));
+
+ setNodes(updatedNodes as Node[]);
+ setEdges(updatedEdges as Edge[]);
+ window.requestAnimationFrame(() => instance?.fitView());
+ }
+ } catch (error) {
+ console.error("Error during layout:", error);
+ }
+ }, [rawNodes, rawEdges]);
+
+ const { nodes, edges } = useMemo(() => {
+ const nodes = [...rawNodes].map((node: Node) => ({
+ ...node,
+ data: {
+ ...node.data,
+ },
+ }));
+
+ const edges = [...rawEdges].map((edge: Edge) => {
+ return {
+ ...edge,
+ markerEnd: {
+ type: MarkerType.ArrowClosed,
+ width: 20,
+ height: 20,
+ },
+ };
+ });
+
+ return {
+ nodes,
+ edges,
+ };
+ }, [rawNodes, rawEdges]);
+
+ useImperativeHandle(
+ ref,
+ () => {
+ return {
+ edges,
+ nodes,
+ setEdges,
+ setNodes,
+ };
+ },
+ [rawEdges, rawNodes, setEdges, setNodes],
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+
+ );
+ },
+);
+
+WorkflowPanel.displayName = "WorkflowPanel";
+
+export { WorkflowPanel };
diff --git a/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/index.ts b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/index.ts
new file mode 100644
index 00000000..26db2a52
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/index.ts
@@ -0,0 +1,2 @@
+export * from "./WorkflowPanel";
+export * from "./types";
diff --git a/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/types.ts b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/types.ts
new file mode 100644
index 00000000..17ec44b5
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/Panel/WorkflowPanel/types.ts
@@ -0,0 +1,26 @@
+import { type CSSProperties } from "react";
+import { type Node, type NodeProps } from "reactflow";
+
+export type DefaultNode = Node;
+
+export interface DefaultNodeProps extends NodeProps {
+ data: DefaultNodeData;
+}
+
+interface DefaultNodeData {
+ name: string;
+ style: IStyleData;
+ validationError: boolean;
+ orientation: "vertical" | "horizontal";
+}
+
+interface IStyleData {
+ nodeType: "default" | "source" | "sink";
+ nodeStyle: CSSProperties;
+ useIcon: boolean;
+ iconId: string;
+ iconClassName: string;
+ iconStyle: CSSProperties;
+ label: string;
+ module: string;
+}
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/arrayInput.tsx b/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/arrayInput.tsx
deleted file mode 100644
index be6b4510..00000000
--- a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/arrayInput.tsx
+++ /dev/null
@@ -1,348 +0,0 @@
-import AddIcon from "@mui/icons-material/Add";
-import DeleteIcon from "@mui/icons-material/Delete";
-import { Card, CardContent, IconButton, Grid } from "@mui/material";
-import CheckboxInput from "components/CheckboxInput";
-import CodeEditorInput from "components/CodeEditorInput";
-import DatetimeInput from "components/DatetimeInput";
-import NumberInput from "components/NumberInput";
-import SelectInput from "components/SelectInput";
-import TextInput from "components/TextInput";
-import {
- type InputArray,
- type IWorkflowPieceData,
-} from "features/workflowEditor/context/types";
-import { getFromUpstream } from "features/workflowEditor/utils";
-import React, { useCallback, useMemo, useState } from "react";
-import {
- type Control,
- type FieldArrayWithId,
- useFieldArray,
- useWatch,
-} from "react-hook-form";
-
-import {
- type ComplexArrayOption,
- type ArrayOption,
- type Option,
-} from "../upstreamOptions";
-
-import { disableCheckboxOptions } from "./disableCheckboxOptions";
-import ObjectInputComponent from "./objectInput";
-import SelectUpstreamInput from "./selectUpstreamInput";
-
-interface ArrayInputItemProps {
- formId: string;
- inputKey: string;
- schema: any;
- control: Control;
- definitions?: any;
- upstreamOptions: ArrayOption | ComplexArrayOption;
-}
-
-const ArrayInput: React.FC = ({
- inputKey,
- schema,
- upstreamOptions,
- definitions,
- control,
-}) => {
- const name: `inputs.${string}.value` = `inputs.${inputKey}.value`;
- const {
- fields: data,
- append,
- remove,
- } = useFieldArray({
- name,
- control,
- });
- const fields = data as unknown as Array>;
- const formsData = useWatch({ name });
-
- const [enumOptions, setEnumOptions] = useState([]);
-
- if ("anyOf" in schema && schema.anyOf.length === 2) {
- const hasNullType = schema.anyOf.some((item: any) => item.type === "null");
- if (hasNullType) {
- const notNullAnyOf = schema.anyOf.find(
- (item: any) => item.type !== "null",
- );
- schema.items = notNullAnyOf.items;
- }
- }
-
- const subItemSchema = useMemo(() => {
- let subItemSchema: any = schema?.items;
- if (schema?.items?.$ref) {
- const subItemSchemaName = schema.items.$ref.split("/").pop();
- subItemSchema = definitions?.[subItemSchemaName];
- }
- return subItemSchema;
- }, [definitions, schema]);
-
- const disableUpstream = useMemo(() => {
- return disableCheckboxOptions(subItemSchema);
- }, [subItemSchema]);
-
- const isFromUpstream = useCallback(
- (index: number) => {
- return formsData?.[index]?.fromUpstream ?? false;
- },
- [formsData],
- );
-
- const elementType = useMemo(() => {
- if (subItemSchema?.allOf && subItemSchema.allOf.length > 0) {
- const typeClass = subItemSchema.allOf[0].$ref.split("/").pop();
- const valuesOptions: string[] = definitions?.[typeClass].enum;
- setEnumOptions(valuesOptions);
- return "SelectInput";
- } else if (subItemSchema?.type === "number" && !subItemSchema?.format) {
- return "NumberInput";
- } else if (subItemSchema?.type === "integer" && !subItemSchema?.format) {
- return "NumberInputInt";
- } else if (subItemSchema?.type === "boolean" && !subItemSchema?.format) {
- return "CheckboxInput";
- } else if (
- subItemSchema?.type === "string" &&
- !subItemSchema?.format &&
- !subItemSchema?.widget
- ) {
- return "TextInput";
- } else if (
- subItemSchema?.type === "string" &&
- subItemSchema?.format === "date"
- ) {
- return "DateInput";
- } else if (
- subItemSchema?.type === "string" &&
- subItemSchema?.format === "time"
- ) {
- return "TimeInput";
- } else if (
- subItemSchema?.type === "string" &&
- subItemSchema?.format === "date-time"
- ) {
- return "DatetimeInput";
- } else if (
- subItemSchema?.type === "string" &&
- subItemSchema?.widget.includes("codeeditor")
- ) {
- return "CodeEditorInput";
- } else if (subItemSchema?.type === "object") {
- return "ObjectInput";
- } else {
- return "Unknown";
- }
- }, [subItemSchema, definitions]);
-
- const handleAddInput = useCallback(() => {
- function empty(object: Record, fromUpstream = false) {
- Object.keys(object).forEach(function (k) {
- if (object[k] && typeof object[k] === "object") {
- return empty(object[k]);
- }
- if (fromUpstream) {
- object[k] = getFromUpstream(schema, definitions, k);
- } else {
- object[k] = "";
- }
- });
- return object;
- }
- const defaultValue = schema.default === null ? "" : schema.default[0];
- const isObject = typeof defaultValue === "object";
- let defaultObj = {
- fromUpstream: getFromUpstream(schema),
- upstreamArgument: "",
- upstreamId: "",
- upstreamValue: "",
- value: "",
- } as unknown;
-
- if (isObject) {
- const emptyObjValue = empty({ ...defaultValue });
- const emptyObjFromUpstream = empty({ ...defaultValue }, true);
- defaultObj = {
- fromUpstream: emptyObjFromUpstream,
- upstreamArgument: emptyObjValue,
- upstreamId: emptyObjValue,
- upstreamValue: emptyObjValue,
- value: defaultValue,
- } as unknown;
- }
-
- append([defaultObj] as any);
- }, [append, definitions, schema]);
-
- return (
-
-
-
-
-
- {schema?.title}
-
-
- {fields?.map((fieldWithId, index) => {
- const { id } = fieldWithId;
- const fromUpstream = isFromUpstream(index);
- return (
-
-
- {
- remove(index);
- }}
- aria-label="Delete"
- >
-
-
-
-
- {fromUpstream && elementType !== "ObjectInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "SelectInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "NumberInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "NumberInputInt" && (
-
-
-
- )}
- {!fromUpstream && elementType === "CheckboxInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "TextInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "DateInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "TimeInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "DatetimeInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "CodeEditorInput" && (
-
-
-
- )}
- {!fromUpstream && elementType === "Unknown" && (
-
-
- Unknown widget type for {subItemSchema?.title}
-
-
- )}
-
- {elementType !== "ObjectInput" && (
-
-
-
- )}
-
- {elementType === "ObjectInput" && (
-
-
-
- )}
-
- );
- })}
-
-
- );
-};
-
-export default React.memo(ArrayInput);
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/index.tsx b/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/index.tsx
deleted file mode 100644
index 78b1fb01..00000000
--- a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/index.tsx
+++ /dev/null
@@ -1,254 +0,0 @@
-import { Box, Grid } from "@mui/material";
-import CheckboxInput from "components/CheckboxInput";
-import CodeEditorInput from "components/CodeEditorInput";
-import DatetimeInput from "components/DatetimeInput";
-import NumberInput from "components/NumberInput";
-import SelectInput from "components/SelectInput";
-import TextAreaInput from "components/TextAreaInput";
-import TextInput from "components/TextInput";
-import { type IWorkflowPieceData } from "features/workflowEditor/context/types";
-import React, { useMemo } from "react";
-import { type Control, useWatch } from "react-hook-form";
-
-import { type ArrayOption, type Option } from "../upstreamOptions";
-
-import ArrayInput from "./arrayInput";
-import { disableCheckboxOptions } from "./disableCheckboxOptions";
-import SelectUpstreamInput from "./selectUpstreamInput";
-
-interface PieceFormItemProps {
- formId: string;
- schema: InputSchemaProperty;
- itemKey: string;
- control: Control;
- definitions?: Definitions;
- upstreamOptions: Option[] | ArrayOption;
-}
-
-const PieceFormItem: React.FC = ({
- formId,
- upstreamOptions,
- itemKey,
- schema,
- definitions,
- control,
-}) => {
- const disableUpstream = useMemo(() => {
- return disableCheckboxOptions(schema);
- }, [schema]);
-
- const checkedFromUpstream = useWatch({
- name: `inputs.${itemKey}.fromUpstream`,
- });
-
- let inputElement: React.ReactNode = null;
-
- let anyOfType = "";
- if ("anyOf" in schema && schema.anyOf.length === 2) {
- const hasNullType = schema.anyOf.some((item) => item.type === "null");
- if (hasNullType) {
- for (const itemSchema of schema.anyOf) {
- if (itemSchema.type !== "null") {
- anyOfType = itemSchema.format ? itemSchema.format : itemSchema.type;
- }
- }
- }
- }
-
- if (checkedFromUpstream) {
- let options: Option[] = [];
- if (
- ("type" in schema && schema.type === "array") ||
- (anyOfType && anyOfType === "array")
- ) {
- options = (upstreamOptions as ArrayOption).$array;
- } else {
- options = upstreamOptions as Option[];
- }
-
- inputElement = (
-
- );
- } else if ("allOf" in schema && schema.allOf.length > 0) {
- const typeClass = schema.allOf[0].$ref.split("/").pop() as string;
- let enumOptions: string[] = [];
-
- if (definitions?.[typeClass] && definitions[typeClass].type === "string") {
- enumOptions = (definitions[typeClass] as EnumDefinition).enum;
- }
-
- inputElement = (
-
- label={itemKey}
- emptyValue
- name={`inputs.${itemKey}.value`}
- options={enumOptions}
- />
- );
- } else if (
- ("type" in schema &&
- (schema.type === "number" || schema.type === "float")) ||
- anyOfType === "float"
- ) {
- inputElement = (
-
- name={`inputs.${itemKey}.value`}
- type="float"
- label={schema.title}
- defaultValue={schema?.default ?? 10.5}
- />
- );
- } else if (
- ("type" in schema && schema.type === "integer") ||
- anyOfType === "integer"
- ) {
- inputElement = (
-
- name={`inputs.${itemKey}.value`}
- type="int"
- label={schema.title}
- defaultValue={schema?.default ?? 10}
- />
- );
- } else if ("type" in schema && schema.type === "boolean") {
- inputElement = (
-
- name={`inputs.${itemKey}.value`}
- label={schema.title}
- />
- );
- } else if (
- ("type" in schema && schema.type === "array") ||
- anyOfType === "array"
- ) {
- inputElement = (
-
- );
- } else if (
- ("type" in schema &&
- "format" in schema &&
- schema.type === "string" &&
- schema.format === "date") ||
- anyOfType === "date"
- ) {
- inputElement = (
-
- name={`inputs.${itemKey}.value`}
- label={schema.title}
- type="date"
- />
- );
- } else if (
- ("type" in schema &&
- "format" in schema &&
- schema.type === "string" &&
- schema.format === "time") ||
- anyOfType === "time"
- ) {
- inputElement = (
-
- name={`inputs.${itemKey}.value`}
- label={schema.title}
- type="time"
- />
- );
- } else if (
- ("type" in schema &&
- "format" in schema &&
- schema.type === "string" &&
- schema.format === "date-time") ||
- anyOfType === "date-time"
- ) {
- inputElement = (
-
- name={`inputs.${itemKey}.value`}
- label={schema.title}
- type="date-time"
- />
- );
- } else if (
- ("type" in schema &&
- "widget" in schema &&
- schema.type === "string" &&
- schema.widget?.includes("codeeditor")) ??
- ("widget" in schema &&
- schema.widget?.includes("codeeditor") &&
- anyOfType === "string")
- ) {
- const language =
- schema.widget === "codeeditor"
- ? "python"
- : schema.widget.replace("codeeditor-", "");
-
- inputElement = (
-
- name={`inputs.${itemKey}.value`}
- language={language}
- placeholder={`Enter your ${language} code here.`}
- />
- );
- } else if (
- "type" in schema &&
- "widget" in schema &&
- schema.type === "string" &&
- schema.widget === "textarea"
- ) {
- inputElement = (
-
- variant="outlined"
- name={`inputs.${itemKey}.value`}
- label={schema.title}
- />
- );
- } else if (
- ("type" in schema && !("format" in schema) && schema.type === "string") ||
- anyOfType === "string"
- ) {
- inputElement = (
-
- variant="outlined"
- name={`inputs.${itemKey}.value`}
- label={schema.title}
- />
- );
- } else {
- inputElement = (
-
- Unknown widget type for {schema.title}
-
- );
- }
-
- return (
-
-
- {inputElement}
-
-
-
-
-
-
- );
-};
-
-export default React.memo(PieceFormItem);
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/objectInput.tsx b/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/objectInput.tsx
deleted file mode 100644
index c747eb8f..00000000
--- a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/objectInput.tsx
+++ /dev/null
@@ -1,138 +0,0 @@
-import { Grid } from "@mui/material";
-import CheckboxInput from "components/CheckboxInput";
-import SelectInput from "components/SelectInput";
-import TextInput from "components/TextInput";
-import React, { useCallback, useMemo, useState } from "react";
-import { useWatch } from "react-hook-form";
-import { getDefinition } from "utils";
-
-import { type ComplexArrayOption } from "../upstreamOptions";
-
-import { disableCheckboxOptions } from "./disableCheckboxOptions";
-import SelectUpstreamInput from "./selectUpstreamInput";
-
-interface Prop {
- name: `inputs.${string}.value.${number}`;
- schema: ArrayObjectProperty;
- definitions: Definitions;
- upstreamOptions: ComplexArrayOption;
-}
-
-const ObjectInputComponent: React.FC = ({
- schema,
- name,
- upstreamOptions,
- definitions,
-}) => {
- const formsData = useWatch({ name });
-
- const itensSchema = useMemo(() => {
- return (getDefinition(schema, definitions) as ObjectDefinition).properties;
- }, [schema, definitions]);
-
- const [enumOptions, setEnumOptions] = useState([]);
-
- const isFromUpstream = useCallback(
- (key: string) => {
- return (formsData?.fromUpstream[key] ?? false) as boolean;
- },
- [formsData],
- );
-
- const defaultValues = useMemo(() => {
- const defaultValues = schema.default ? schema.default[0] : {};
-
- return (defaultValues ?? {}) as Record;
- }, [schema]);
-
- const elementType = useMemo(() => {
- const schemaDefinition = getDefinition(schema, definitions);
- const getElementType = function (key: string, schemaDefinition: any) {
- if ("properties" in schemaDefinition) {
- let itemSchemaDefinition: any = getDefinition(
- schemaDefinition.properties[key],
- definitions,
- );
- if ("$ref" in itemSchemaDefinition) {
- const definitionKeyName = itemSchemaDefinition.$ref.split("/").pop();
- itemSchemaDefinition = definitions[definitionKeyName];
- }
- if ("enum" in itemSchemaDefinition) {
- const valuesOptions = itemSchemaDefinition.enum;
- setEnumOptions(valuesOptions);
- return "SelectInput";
- }
- return "TextInput";
- } else {
- return "TextInput";
- }
- };
-
- return Object.keys(
- (schemaDefinition as ObjectDefinition).properties,
- ).reduce>((acc, cur) => {
- acc[cur] = getElementType(cur, schemaDefinition);
- return acc;
- }, {});
- }, [defaultValues, schema, definitions]);
-
- return (
- <>
- {Object.entries(elementType).map(([key]) => {
- const fromUpstream = isFromUpstream(key);
- const disableUpstream = disableCheckboxOptions(itensSchema[key] as any);
- return (
-
- {fromUpstream ? (
-
-
-
- ) : (
-
- {elementType[key] === "TextInput" && (
-
- )}
- {elementType[key] === "SelectInput" && (
-
- )}
-
- )}
-
-
-
-
- );
- })}
- >
- );
-};
-
-export default ObjectInputComponent;
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/upstreamOptions.ts b/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/upstreamOptions.ts
deleted file mode 100644
index 980edaf8..00000000
--- a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/upstreamOptions.ts
+++ /dev/null
@@ -1,156 +0,0 @@
-import { generateTaskName, getUuidSlice } from "utils";
-
-export interface Option {
- id: string;
- argument: string;
- value: string;
-}
-
-export interface ArrayOption {
- $array: Option[];
- items: Option[];
-}
-
-export type ComplexArrayOption = Record;
-
-export type UpstreamOptions = Record;
-
-const getInputType = (schema: Record) => {
- let type = schema.format ? schema.format : schema.type;
- if ("allOf" in schema || "oneOf" in schema) {
- type = "enum";
- } else if ("anyOf" in schema) {
- type = [];
- for (const item of schema.anyOf) {
- let _type = item.format ? item.format : item.type;
- _type = _type === "number" ? "float" : (_type as string);
- if (_type !== "null") {
- type.push(_type);
- }
- }
- }
- return type === "number" ? "float" : (type as string);
-};
-
-const validateUpstreamType = (upType: string, type: string) => {
- if (upType === type) {
- return true;
- }
- if (Array.isArray(upType) && !Array.isArray(type)) {
- return upType.includes(type);
- }
- if (Array.isArray(upType) && Array.isArray(type)) {
- return upType.some((element) => type.includes(element));
- }
- if (Array.isArray(type) && !Array.isArray(upType)) {
- return type.includes(upType);
- }
- return false;
-};
-
-const getOptions = (
- upstreamPieces: Record,
- type: string,
-): Option[] | ArrayOption => {
- const options: Option[] = [];
-
- Object.keys(upstreamPieces).forEach((upstreamId) => {
- const upPieces = upstreamPieces[upstreamId];
-
- for (const upPiece of upPieces) {
- const upSchema = upPiece.output_schema.properties;
-
- for (const property in upSchema) {
- const upType = getInputType(upSchema[property]);
-
- if (validateUpstreamType(upType, type)) {
- const value = `${upPiece?.name} (${getUuidSlice(upPiece.id)}) - ${
- upSchema[property].title
- }`;
- const upstreamArgument = property;
- const taskName = generateTaskName(upPiece.name, upPiece.id);
- options.push({ id: taskName, argument: upstreamArgument, value });
- }
- }
- }
- });
-
- return options;
-};
-
-export const getUpstreamOptions = (
- formId: string,
- schema: any,
- workflowPieces: any,
- workflowEdges: any,
-): UpstreamOptions => {
- const upstreamPieces: Record = {};
- const upstreamOptions: UpstreamOptions = {};
-
- for (const ed of workflowEdges) {
- if (ed.target === formId) {
- if (Array.isArray(upstreamPieces[formId])) {
- upstreamPieces[formId].push({
- ...workflowPieces[ed.source],
- id: ed.source,
- });
- } else {
- upstreamPieces[formId] = [];
- upstreamPieces[formId].push({
- ...workflowPieces[ed.source],
- id: ed.source,
- });
- }
- }
- }
-
- Object.keys(schema.properties).forEach((key) => {
- const currentSchema = schema.properties[key];
- const currentType = getInputType(currentSchema);
-
- if (
- currentType === "array" ||
- (Array.isArray(currentType) && currentType.includes("array"))
- ) {
- if ("anyOf" in currentSchema && currentSchema.anyOf.length === 2) {
- const hasNullType = currentSchema.anyOf.some(
- (item: any) => item.type === "null",
- );
- if (hasNullType) {
- const notNullAnyOf = currentSchema.anyOf.find(
- (item: any) => item.type !== "null",
- );
- currentSchema.items = notNullAnyOf.items;
- }
- }
-
- let itemsSchema = currentSchema?.items;
- if (currentSchema?.items?.$ref) {
- const subItemSchemaName = currentSchema.items.$ref.split("/").pop();
- itemsSchema = schema.$defs?.[subItemSchemaName];
- }
-
- const $array = getOptions(upstreamPieces, currentType);
- if (itemsSchema.type === "object" && itemsSchema.properties) {
- const __data: any = {};
- Object.keys(itemsSchema.properties).forEach((subKey) => {
- const subSchema = itemsSchema.properties[subKey];
- const subType = getInputType(subSchema);
- const items = getOptions(upstreamPieces, subType);
- __data[subKey] = { items };
- });
- upstreamOptions[key] = { ...__data, $array };
- } else {
- const itemsType = getInputType(itemsSchema);
- const items = getOptions(upstreamPieces, itemsType);
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
- upstreamOptions[key] = { $array, items } as ArrayOption;
- }
- } else {
- const options = getOptions(upstreamPieces, currentType);
- upstreamOptions[key] = options;
- }
- });
-
- return upstreamOptions;
-};
diff --git a/frontend/src/features/workflowEditor/components/WorkflowEditor.tsx b/frontend/src/features/workflowEditor/components/WorkflowEditor.tsx
deleted file mode 100644
index 8033a7c5..00000000
--- a/frontend/src/features/workflowEditor/components/WorkflowEditor.tsx
+++ /dev/null
@@ -1,594 +0,0 @@
-import { Settings as SettingsSuggestIcon } from "@mui/icons-material";
-import ClearIcon from "@mui/icons-material/Clear";
-import DownloadIcon from "@mui/icons-material/Download";
-import IosShareIcon from "@mui/icons-material/IosShare";
-import SaveIcon from "@mui/icons-material/Save";
-import { Button, Grid, Paper, styled } from "@mui/material";
-import Menu from "@mui/material/Menu";
-import MenuItem from "@mui/material/MenuItem";
-import { AxiosError } from "axios";
-import Loading from "components/Loading";
-import { type ModalRef } from "components/Modal";
-import {
- type WorkflowPanelRef,
- WorkflowPanel,
- type DefaultNode,
-} from "components/WorkflowPanel";
-import { useWorkspaces, usesPieces } from "context/workspaces";
-import { useWorkflowsEditor } from "features/workflowEditor/context";
-import React, { type DragEvent, useCallback, useRef, useState } from "react";
-import { toast } from "react-toastify";
-import { type Edge, type Node, type XYPosition } from "reactflow";
-import { yupResolver, useInterval, exportToJson } from "utils";
-import { v4 as uuidv4 } from "uuid";
-import * as yup from "yup";
-
-import { type IWorkflowPieceData, storageAccessModes } from "../context/types";
-import { type GenerateWorkflowsParams } from "../context/workflowsEditor";
-import {
- extractDefaultContainerResources,
- extractDefaultInputValues,
-} from "../utils";
-import {
- type Differences,
- importJsonWorkflow,
- validateJsonImported,
- findDifferencesInJsonImported,
-} from "../utils/importWorkflow";
-
-import { DifferencesModal } from "./DifferencesModal";
-import { PermanentDrawerRightWorkflows } from "./DrawerMenu";
-import { MyWorkflowExamplesGalleryModal } from "./MyWorkflowsGalleryModal";
-import SidebarPieceForm from "./SidebarForm";
-import { ContainerResourceFormSchema } from "./SidebarForm/ContainerResourceForm";
-import { createInputsSchemaValidation } from "./SidebarForm/PieceForm/validation";
-import { storageFormSchema } from "./SidebarForm/StorageForm";
-import {
- SidebarSettingsForm,
- WorkflowSettingsFormSchema,
- type SidebarSettingsFormRef,
-} from "./SidebarSettingsForm";
-import { WorkflowExamplesGalleryModal } from "./WorkflowExamplesGalleryModal";
-
-/**
- * Create workflow tab
- // TODO refactor/simplify inner files
- // TODO handle runtime errors
- // TODO make it look good
- */
-const getId = (module_name: string) => {
- return `${module_name}_${uuidv4()}`;
-};
-
-const VisuallyHiddenInput = styled("input")({
- clip: "rect(0 0 0 0)",
- clipPath: "inset(50%)",
- height: 1,
- overflow: "hidden",
- position: "absolute",
- bottom: 0,
- left: 0,
- whiteSpace: "nowrap",
- width: 1,
-});
-
-export const WorkflowsEditorComponent: React.FC = () => {
- const workflowPanelRef = useRef(null);
- const sidebarSettingsRef = useRef(null);
- const [sidebarSettingsDrawer, setSidebarSettingsDrawer] = useState(false);
- const [sidebarPieceDrawer, setSidebarPieceDrawer] = useState(false);
- const [formId, setFormId] = useState("");
- const [formTitle, setFormTitle] = useState("");
- const [formSchema, setFormSchema] = useState({});
- const [menuOpen, setMenuOpen] = useState(false);
- const [loading, setBackdropIsOpen] = useState(false);
- const [orientation, setOrientation] = useState<"horizontal" | "vertical">(
- "horizontal",
- );
-
- const [anchorEl, setAnchorEl] = React.useState(null);
- const importMenuOpen = Boolean(anchorEl);
-
- const incompatiblePiecesModalRef = useRef(null);
- const workflowsGalleryModalRef = useRef(null);
- const myWorkflowsGalleryModalRef = useRef(null);
- const [incompatiblesPieces, setIncompatiblesPieces] = useState(
- [],
- );
-
- const { workspace } = useWorkspaces();
-
- const saveDataToLocalForage = useCallback(async () => {
- if (workflowPanelRef?.current) {
- await Promise.allSettled([
- setWorkflowEdges(workflowPanelRef.current.edges ?? []),
- setWorkflowNodes(workflowPanelRef.current.nodes ?? []),
- ]);
- }
- }, [workflowPanelRef.current]);
-
- useInterval(saveDataToLocalForage, 3000);
-
- const {
- clearForageData,
- generateWorkflowsEditorBodyParams,
- fetchWorkflowForage,
- handleCreateWorkflow,
- fetchForageWorkflowNodes,
- fetchForageWorkflowEdges,
- setForageWorkflowPieces,
- getForageWorkflowPieces,
- removeForageWorkflowPiecesById,
- removeForageWorkflowPieceDataById,
- fetchWorkflowPieceById,
- setForageWorkflowPiecesDataById,
- importWorkflowToForage,
- clearDownstreamDataById,
- setWorkflowEdges,
- setWorkflowNodes,
- } = useWorkflowsEditor();
-
- const { fetchForagePieceById } = usesPieces();
-
- const validateWorkflowSettings = useCallback(async (payload: any) => {
- const resolver = yupResolver(WorkflowSettingsFormSchema);
- const validatedData = await resolver(payload.workflowSettingsData);
- if (!Object.keys(validatedData.errors).length) {
- // do something
- } else {
- throw new Error("Please review your workflow settings.");
- }
- }, []);
-
- const validateWorkflowPiecesData = useCallback(
- async (payload: any) => {
- const validationSchema = yup.object().shape(
- Object.entries(payload.workflowPieces).reduce((acc, [key, value]) => {
- return {
- [key]: yup.object({
- storage: storageFormSchema,
- containerResources: ContainerResourceFormSchema,
- inputs: createInputsSchemaValidation((value as any).input_schema),
- }),
- ...acc,
- };
- }, {}),
- ) as any;
-
- const resolver = yupResolver(validationSchema);
-
- const validatedData = await resolver(payload.workflowPiecesData);
-
- if (!Object.keys(validatedData.errors).length) {
- workflowPanelRef?.current?.setNodes((nodes) =>
- nodes.map((n) => {
- n = { ...n, data: { ...n.data, validationError: false } };
- return n;
- }),
- );
- } else {
- const nodeIds = Object.keys(validatedData.errors);
- workflowPanelRef?.current?.setNodes((nodes) => [
- ...nodes.map((n) => {
- if (nodeIds.includes(n.id)) {
- n = { ...n, data: { ...n.data, validationError: true } };
- }
-
- return n;
- }),
- ]);
-
- throw new Error("Please review the errors on your workflow.");
- }
- },
- [workflowPanelRef],
- );
-
- const handleSaveWorkflow = useCallback(async () => {
- try {
- await saveDataToLocalForage();
- setBackdropIsOpen(true);
- if (!workspace?.id) {
- throw new Error("No selected Workspace");
- }
- const payload = await fetchWorkflowForage();
-
- await validateWorkflowPiecesData(payload);
- await validateWorkflowSettings(payload);
-
- const data = await generateWorkflowsEditorBodyParams(payload);
-
- await handleCreateWorkflow({ workspace_id: workspace?.id, ...data });
-
- toast.success("Workflow created successfully.");
- setBackdropIsOpen(false);
- } catch (err) {
- setBackdropIsOpen(false);
- if (err instanceof AxiosError) {
- console.log(err);
- } else if (err instanceof Error) {
- console.log(err);
- toast.error(
- "Error while creating workflow, check your workflow settings and tasks.",
- );
- }
- }
- }, [
- fetchWorkflowForage,
- handleCreateWorkflow,
- validateWorkflowPiecesData,
- validateWorkflowSettings,
- generateWorkflowsEditorBodyParams,
- workspace?.id,
- ]);
-
- const handleClear = useCallback(async () => {
- await clearForageData();
- workflowPanelRef.current?.setEdges([]);
- workflowPanelRef.current?.setNodes([]);
- await sidebarSettingsRef.current?.loadData();
- }, [clearForageData]);
-
- const handleExport = useCallback(async () => {
- await saveDataToLocalForage();
- const payload = await fetchWorkflowForage();
- if (Object.keys(payload.workflowPieces).length === 0) {
- toast.error("Workflow must have at least one piece to be exported.");
- return;
- }
- const name = payload.workflowSettingsData?.config?.name;
-
- const exportedJson: any = { ...payload };
-
- delete exportedJson.workflowSettingsData;
-
- exportToJson(exportedJson, name);
- }, []);
-
- const fileInputRef = useRef(null);
-
- const handleImportedJson = useCallback(
- async (json: GenerateWorkflowsParams) => {
- try {
- if (json) {
- await validateJsonImported(json);
-
- const differences = await findDifferencesInJsonImported(json);
-
- if (differences.length) {
- toast.error(
- "Some repositories are missing or incompatible version",
- );
-
- setIncompatiblesPieces(differences);
- incompatiblePiecesModalRef.current?.open();
- } else {
- workflowPanelRef?.current?.setNodes(json.workflowNodes);
- workflowPanelRef?.current?.setEdges(json.workflowEdges);
- void importWorkflowToForage(json);
- }
- }
- } catch (e: any) {
- if (e instanceof yup.ValidationError) {
- toast.error("This JSON file is incompatible or corrupted");
- } else {
- console.log(e);
- }
- }
- if (fileInputRef.current) {
- fileInputRef.current.value = "";
- }
- },
- [
- importJsonWorkflow,
- workflowPanelRef,
- importWorkflowToForage,
- setIncompatiblesPieces,
- incompatiblePiecesModalRef,
- fileInputRef,
- ],
- );
-
- const onNodesDelete = useCallback(
- async (nodes: any) => {
- for (const node of nodes) {
- await removeForageWorkflowPiecesById(node.id);
- await removeForageWorkflowPieceDataById(node.id);
- }
- },
- [removeForageWorkflowPieceDataById, removeForageWorkflowPiecesById],
- );
-
- const onEdgesDelete = useCallback(
- async (edges: Edge[]) => {
- for (const edge of edges) {
- await clearDownstreamDataById(edge.source);
- }
- },
- [clearDownstreamDataById],
- );
-
- // Node double click open drawer with forms
- const onNodeDoubleClick = useCallback(
- async (_e: any, node: Node) => {
- const pieceNode = await fetchWorkflowPieceById(node.id);
- setFormSchema(pieceNode?.input_schema);
- setFormId(node.id);
- setFormTitle(() => {
- return pieceNode?.name ? pieceNode.name : "";
- });
- setSidebarPieceDrawer(true);
- },
- [fetchWorkflowPieceById],
- );
-
- const onLoad = useCallback(async () => {
- // // Fetch old state from forage to avoid loosing flowchart when refreshing/leaving page
- const workflowNodes = await fetchForageWorkflowNodes();
- const workflowEdges = await fetchForageWorkflowEdges();
-
- return { nodes: workflowNodes, edges: workflowEdges };
- }, [fetchForageWorkflowNodes, fetchForageWorkflowEdges]);
-
- const onDrop = useCallback(
- async (event: DragEvent, position: XYPosition) => {
- event.preventDefault();
- const nodeData = event.dataTransfer.getData("application/reactflow");
- const { ...data } = JSON.parse(nodeData);
-
- const newNodeData: DefaultNode["data"] = {
- name: data.name,
- style: data.style,
- validationError: false,
- orientation,
- };
-
- const newNode = {
- id: getId(data.id),
- type: "CustomNode",
- position,
- data: newNodeData,
- };
-
- const piece = await fetchForagePieceById(data.id);
- const defaultInputs = extractDefaultInputValues(
- piece as unknown as Piece,
- );
-
- const defaultContainerResources = extractDefaultContainerResources(
- piece?.container_resources,
- );
-
- const currentWorkflowPieces = await getForageWorkflowPieces();
- const newWorkflowPieces = {
- ...currentWorkflowPieces,
- [newNode.id]: piece,
- };
- await setForageWorkflowPieces(newWorkflowPieces);
-
- const defaultWorkflowPieceData: IWorkflowPieceData = {
- storage: { storageAccessMode: storageAccessModes.ReadWrite },
- containerResources: defaultContainerResources,
- inputs: defaultInputs,
- };
-
- await setForageWorkflowPiecesDataById(
- newNode.id,
- defaultWorkflowPieceData,
- );
- return newNode;
- },
- [
- orientation,
- fetchForagePieceById,
- setForageWorkflowPieces,
- getForageWorkflowPieces,
- setForageWorkflowPiecesDataById,
- ],
- );
-
- const onConnect = useCallback(() => {
- void saveDataToLocalForage();
- }, [saveDataToLocalForage]);
-
- // Left drawers controls
- const toggleSidebarPieceDrawer = (open: boolean) => (event: any) => {
- if (
- event.type === "keydown" &&
- (event.key === "Tab" || event.key === "Shift")
- ) {
- return;
- }
- setSidebarPieceDrawer(open);
- };
-
- const toggleSidebarSettingsDrawer = (open: boolean) => (event: any) => {
- if (
- event.type === "keydown" &&
- (event.key === "Tab" || event.key === "Shift")
- ) {
- return;
- }
- setSidebarSettingsDrawer(open);
- };
-
- const handleClickImportMenu = useCallback(
- (event: React.MouseEvent) => {
- setAnchorEl(event.currentTarget);
- },
- [],
- );
-
- const handleImportFromFile = useCallback(() => {
- if (fileInputRef.current) {
- fileInputRef.current.click();
- }
- setAnchorEl(null);
- }, [fileInputRef]);
-
- const handleImportFromExamples = useCallback(() => {
- setAnchorEl(null);
- workflowsGalleryModalRef.current?.open();
- }, [workflowsGalleryModalRef]);
-
- return (
- <>
- {loading && }
-
-
-
-
- }
- onClick={toggleSidebarSettingsDrawer(true)}
- >
- Settings
-
-
-
- }
- onClick={handleSaveWorkflow}
- >
- Create
-
-
-
- }
- onClick={handleExport}
- >
- Export
-
-
-
- }
- id="import-button"
- aria-controls={importMenuOpen ? "import-menu" : undefined}
- aria-haspopup="true"
- aria-expanded={importMenuOpen ? "true" : undefined}
- onClick={handleClickImportMenu}
- >
- {
- const json = await importJsonWorkflow(e);
- if (json) {
- void handleImportedJson(json);
- }
- }}
- ref={fileInputRef}
- />
- Import
-
-
- {
- void handleImportedJson(json);
- }}
- />
- {
- void handleImportedJson(json);
- }}
- />
-
-
-
- }
- onClick={handleClear}
- >
- Clear
-
-
-
-
-
-
-
-
- {
- setMenuOpen(!menuOpen);
- }}
- />
-
-
-
-
- >
- );
-};
diff --git a/frontend/src/features/workflowEditor/components/WorkflowEditor/index.tsx b/frontend/src/features/workflowEditor/components/WorkflowEditor/index.tsx
new file mode 100644
index 00000000..39d90b19
--- /dev/null
+++ b/frontend/src/features/workflowEditor/components/WorkflowEditor/index.tsx
@@ -0,0 +1,270 @@
+import { Grid, Paper } from "@mui/material";
+import { AxiosError } from "axios";
+import Loading from "components/Loading";
+import { useWorkspaces } from "context/workspaces";
+import { useWorkflowsEditor } from "features/workflowEditor/context";
+import React, { useCallback, useRef, useState } from "react";
+import { toast } from "react-toastify";
+import { type Node } from "reactflow";
+import { exportToJson, useInterval, yupResolver } from "utils";
+import * as yup from "yup";
+
+import { type GenerateWorkflowsParams } from "../../context/workflowsEditor";
+import { createInputsSchemaValidation } from "../../utils/validation";
+import { ButtonsMenu } from "../ButtonsMenu";
+import {
+ PiecesDrawer,
+ SettingsFormDrawer,
+ type SettingsFormDrawerRef,
+ WorkflowSettingsFormSchema,
+ PieceFormDrawer,
+} from "../Drawers";
+import { ContainerResourceFormSchema } from "../Drawers/PieceFormDrawer/ContainerResourceForm";
+import { storageFormSchema } from "../Drawers/PieceFormDrawer/StorageForm";
+import { type WorkflowPanelRef, WorkflowPanel } from "../Panel/WorkflowPanel";
+
+export const WorkflowsEditorComponent: React.FC = () => {
+ const workflowPanelRef = useRef(null);
+ const sidebarSettingsRef = useRef(null);
+ const [sidebarSettingsDrawer, setSidebarSettingsDrawer] = useState(false);
+ const [sidebarPieceDrawer, setSidebarPieceDrawer] = useState(false);
+ const [formId, setFormId] = useState("");
+ const [formTitle, setFormTitle] = useState("");
+ const [formSchema, setFormSchema] = useState({});
+ const [menuOpen, setMenuOpen] = useState(false);
+ const [loading, setBackdropIsOpen] = useState(false);
+ const [orientation, setOrientation] = useState<"horizontal" | "vertical">(
+ "horizontal",
+ );
+
+ const { workspace } = useWorkspaces();
+
+ const saveDataToLocalForage = useCallback(() => {
+ if (workflowPanelRef?.current) {
+ setWorkflowEdges(workflowPanelRef.current.edges ?? []);
+ setWorkflowNodes(workflowPanelRef.current.nodes ?? []);
+ }
+ }, [workflowPanelRef.current]);
+
+ useInterval(saveDataToLocalForage, 1000);
+
+ const {
+ clearStorageData,
+ generateWorkflowsEditorBodyParams,
+ getWorkflow,
+ handleCreateWorkflow,
+ getWorkflowPieceById,
+ importWorkflowToStorage,
+ setWorkflowEdges,
+ setWorkflowNodes,
+ } = useWorkflowsEditor();
+
+ const validateWorkflowSettings = useCallback(async (payload: any) => {
+ const resolver = yupResolver(WorkflowSettingsFormSchema);
+ const validatedData = await resolver(payload.workflowSettingsData);
+ if (!Object.keys(validatedData.errors).length) {
+ // do something
+ } else {
+ throw new Error("Please review your workflow settings.");
+ }
+ }, []);
+
+ const validateWorkflowPiecesData = useCallback(
+ async (payload: any) => {
+ const validationSchema = yup.object().shape(
+ Object.entries(payload.workflowPieces).reduce((acc, [key, value]) => {
+ return {
+ [key]: yup.object({
+ storage: storageFormSchema,
+ containerResources: ContainerResourceFormSchema,
+ inputs: createInputsSchemaValidation((value as any).input_schema),
+ }),
+ ...acc,
+ };
+ }, {}),
+ ) as any;
+
+ const resolver = yupResolver(validationSchema);
+
+ const validatedData = await resolver(payload.workflowPiecesData);
+
+ if (!Object.keys(validatedData.errors).length) {
+ workflowPanelRef?.current?.setNodes((nodes) =>
+ nodes.map((n) => {
+ n = { ...n, data: { ...n.data, validationError: false } };
+ return n;
+ }),
+ );
+ } else {
+ const nodeIds = Object.keys(validatedData.errors);
+ workflowPanelRef?.current?.setNodes((nodes) => [
+ ...nodes.map((n) => {
+ if (nodeIds.includes(n.id)) {
+ n = { ...n, data: { ...n.data, validationError: true } };
+ }
+
+ return n;
+ }),
+ ]);
+
+ throw new Error("Please review the errors on your workflow.");
+ }
+ },
+ [workflowPanelRef],
+ );
+
+ const handleSaveWorkflow = useCallback(async () => {
+ try {
+ saveDataToLocalForage();
+ setBackdropIsOpen(true);
+ if (!workspace?.id) {
+ throw new Error("No selected Workspace");
+ }
+ const payload = getWorkflow();
+
+ await validateWorkflowPiecesData(payload);
+ await validateWorkflowSettings(payload);
+
+ const data = generateWorkflowsEditorBodyParams(payload);
+
+ await handleCreateWorkflow({ workspace_id: workspace?.id, ...data });
+
+ toast.success("Workflow created successfully.");
+ setBackdropIsOpen(false);
+ } catch (err) {
+ setBackdropIsOpen(false);
+ if (err instanceof AxiosError) {
+ console.log(err);
+ } else if (err instanceof Error) {
+ console.log(err);
+ toast.error(
+ "Error while creating workflow, check your workflow settings and tasks.",
+ );
+ }
+ }
+ }, [
+ getWorkflow,
+ handleCreateWorkflow,
+ validateWorkflowPiecesData,
+ validateWorkflowSettings,
+ generateWorkflowsEditorBodyParams,
+ workspace?.id,
+ ]);
+
+ const handleClear = useCallback(() => {
+ clearStorageData();
+ workflowPanelRef.current?.setEdges([]);
+ workflowPanelRef.current?.setNodes([]);
+ sidebarSettingsRef.current?.loadData();
+ }, [clearStorageData]);
+
+ const handleExport = useCallback(() => {
+ saveDataToLocalForage();
+ const payload = getWorkflow();
+ if (Object.keys(payload.workflowPieces).length === 0) {
+ toast.error("Workflow must have at least one piece to be exported.");
+ return;
+ }
+ const name = payload.workflowSettingsData?.config?.name;
+
+ const exportedJson: any = { ...payload };
+
+ delete exportedJson.workflowSettingsData;
+
+ exportToJson(exportedJson, name);
+ }, []);
+
+ const handleImportedJson = useCallback(
+ (json: GenerateWorkflowsParams) => {
+ workflowPanelRef?.current?.setNodes(json.workflowNodes);
+ workflowPanelRef?.current?.setEdges(json.workflowEdges);
+ importWorkflowToStorage(json);
+ },
+ [workflowPanelRef, importWorkflowToStorage],
+ );
+
+ // Node double click open drawer with forms
+ const onNodeDoubleClick = useCallback(
+ (_e: any, node: Node) => {
+ const pieceNode = getWorkflowPieceById(node.id);
+ setFormSchema(pieceNode?.input_schema);
+ setFormId(node.id);
+ setFormTitle(() => {
+ return pieceNode?.name ? pieceNode.name : "";
+ });
+ setSidebarPieceDrawer(true);
+ },
+ [getWorkflowPieceById],
+ );
+
+ // Left drawers controls
+ const toggleSidebarPieceDrawer = (open: boolean) => (event: any) => {
+ if (
+ event.type === "keydown" &&
+ (event.key === "Tab" || event.key === "Shift")
+ ) {
+ return;
+ }
+ setSidebarPieceDrawer(open);
+ };
+
+ const toggleSidebarSettingsDrawer = (open: boolean) => (event: any) => {
+ if (
+ event.type === "keydown" &&
+ (event.key === "Tab" || event.key === "Shift")
+ ) {
+ return;
+ }
+ setSidebarSettingsDrawer(open);
+ };
+
+ return (
+ <>
+ {loading && }
+
+
+
+
+
+
+
+
+ {
+ setMenuOpen(!menuOpen);
+ }}
+ />
+
+
+
+
+ >
+ );
+};
diff --git a/frontend/src/features/workflowEditor/context/index.tsx b/frontend/src/features/workflowEditor/context/index.tsx
index 127bf799..70837d32 100644
--- a/frontend/src/features/workflowEditor/context/index.tsx
+++ b/frontend/src/features/workflowEditor/context/index.tsx
@@ -1,6 +1,4 @@
-import ReactWorkflowPersistenceProvider from "./reactWorkflowPersistence";
-import WorkflowPiecesProvider from "./workflowPieces";
-import WorkflowPiecesDataProvider from "./workflowPiecesData";
+import WorkflowPanelContextProvider from "./workflowPanelContext";
import WorkflowsEditorProviderItem, {
useWorkflowsEditor,
} from "./workflowsEditor";
@@ -13,15 +11,9 @@ const WorkflowsEditorProviderWrapper: React.FC<{
}> = ({ children }) => {
return (
-
-
-
-
- {children}
-
-
-
-
+
+ {children}
+
);
};
diff --git a/frontend/src/features/workflowEditor/context/reactWorkflowPersistence.tsx b/frontend/src/features/workflowEditor/context/reactWorkflowPersistence.tsx
deleted file mode 100644
index 3557d7e1..00000000
--- a/frontend/src/features/workflowEditor/context/reactWorkflowPersistence.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import { type IWorkflowElement } from "features/myWorkflows/types";
-import React, { useCallback } from "react";
-import { type Node, type Edge } from "reactflow";
-import localForage from "services/config/localForage.config";
-import { createCustomContext } from "utils";
-
-export interface IReactWorkflowPersistenceContext {
- setWorkflowEdges: (edges: Edge[]) => Promise;
- setWorkflowNodes: (edges: Node[]) => Promise;
- fetchForageWorkflowEdges: () => Promise;
- fetchForageWorkflowNodes: () => Promise;
- clearReactWorkflowPersistence: () => Promise;
-}
-
-export const [ReactWorkflowPersistenceContext, useReactWorkflowPersistence] =
- createCustomContext(
- "ReactWorkflowPersistence Context",
- );
-
-const ReactWorkflowPersistenceProvider: React.FC<{
- children: React.ReactNode;
-}> = ({ children }) => {
- const setWorkflowEdges = useCallback(async (edges: Edge[]) => {
- await localForage.setItem("workflowEdges", edges);
- }, []);
- const setWorkflowNodes = useCallback(async (nodes: Node[]) => {
- await localForage.setItem("workflowNodes", nodes);
- }, []);
-
- const fetchForageWorkflowEdges = useCallback(async () => {
- let workflowEdges = await localForage.getItem("workflowEdges");
- if (!workflowEdges || workflowEdges.length === 0) {
- workflowEdges = [];
- }
- return workflowEdges;
- }, []);
- const fetchForageWorkflowNodes = useCallback(async () => {
- let workflowEdges = await localForage.getItem("workflowNodes");
- if (!workflowEdges || workflowEdges.length === 0) {
- workflowEdges = [];
- }
- return workflowEdges;
- }, []);
-
- const clearReactWorkflowPersistence = useCallback(async () => {
- await localForage.setItem("workflowEdges", []);
- await localForage.setItem("workflowNodes", []);
- }, []);
-
- const value: IReactWorkflowPersistenceContext = {
- setWorkflowEdges,
- setWorkflowNodes,
- fetchForageWorkflowEdges,
- fetchForageWorkflowNodes,
- clearReactWorkflowPersistence,
- };
-
- return (
-
- {children}
-
- );
-};
-
-export default ReactWorkflowPersistenceProvider;
diff --git a/frontend/src/features/workflowEditor/context/types/workflowPieceData.ts b/frontend/src/features/workflowEditor/context/types/workflowPieceData.ts
index 7a5b7516..b0f86b64 100644
--- a/frontend/src/features/workflowEditor/context/types/workflowPieceData.ts
+++ b/frontend/src/features/workflowEditor/context/types/workflowPieceData.ts
@@ -11,7 +11,7 @@ import {
} from "./settings";
import { type IStorageFormData, type StorageAccessModes } from "./storage";
-export interface IWorkflowPieceData {
+export interface WorkflowPieceData {
storage: IStorageFormData;
containerResources: IContainerResourceFormData;
inputs: Record;
diff --git a/frontend/src/features/workflowEditor/context/workflowPanelContext.tsx b/frontend/src/features/workflowEditor/context/workflowPanelContext.tsx
new file mode 100644
index 00000000..690846d5
--- /dev/null
+++ b/frontend/src/features/workflowEditor/context/workflowPanelContext.tsx
@@ -0,0 +1,198 @@
+import { useStorage } from "context/storage/useStorage";
+import React, { useCallback } from "react";
+import { type Node, type Edge } from "reactflow";
+import { createCustomContext, getUuid } from "utils";
+
+import { type DefaultNode } from "../components/Panel/WorkflowPanel";
+
+import { type WorkflowPieceData } from "./types";
+
+export type StoragePiecesData = Record;
+
+export interface IWorkflowPanelContext {
+ setWorkflowEdges: (edges: Edge[]) => void;
+ setWorkflowNodes: (edges: Node[]) => void;
+ getWorkflowEdges: () => Edge[];
+ getWorkflowNodes: () => DefaultNode[];
+
+ setWorkflowPieces: (pieces: Record) => void;
+ setWorkflowPieceOutputSchema: (id: string, properties: Properties) => void;
+ getWorkflowPieces: () => Record;
+ getWorkflowPieceById: (id: string) => Piece | null;
+ deleteWorkflowPieceById: (id: string) => void;
+
+ setWorkflowPiecesData: (pieceData: StoragePiecesData) => void;
+ setWorkflowPieceDataById: (id: string, pieceData: WorkflowPieceData) => void;
+ getWorkflowPiecesData: () => StoragePiecesData;
+ getWorkflowPieceDataById: (id: string) => WorkflowPieceData | null;
+ deleteWorkflowPieceDataById: (id: string) => void;
+
+ clearWorkflowPanelContext: () => void;
+ clearDownstreamDataById: (id: string) => void;
+}
+
+export const [WorkflowPanelContext, useWorkflowPanel] =
+ createCustomContext("WorkflowPanelContext Context");
+
+const WorkflowPanelContextProvider: React.FC<{
+ children: React.ReactNode;
+}> = ({ children }) => {
+ const localStorage = useStorage();
+
+ const setWorkflowEdges = useCallback((edges: Edge[]) => {
+ localStorage.setItem("workflowEdges", edges);
+ }, []);
+ const setWorkflowNodes = useCallback((nodes: DefaultNode[]) => {
+ localStorage.setItem("workflowNodes", nodes);
+ }, []);
+ const getWorkflowEdges = useCallback(() => {
+ return localStorage.getItem("workflowEdges") ?? [];
+ }, []);
+ const getWorkflowNodes = useCallback(() => {
+ return localStorage.getItem("workflowNodes") ?? [];
+ }, []);
+
+ const setWorkflowPieces = useCallback((pieces: Record) => {
+ localStorage.setItem("workflowPieces", pieces);
+ }, []);
+ const setWorkflowPieceOutputSchema = useCallback(
+ (id: string, properties: Properties) => {
+ const workflowPieces =
+ localStorage.getItem>("workflowPieces");
+ if (workflowPieces?.[id]) {
+ workflowPieces[id].output_schema.properties = properties;
+ localStorage.setItem("workflowPieces", workflowPieces);
+ }
+ },
+ [],
+ );
+ const getWorkflowPieces = useCallback(() => {
+ return localStorage.getItem>("workflowPieces") ?? {};
+ }, []);
+ const getWorkflowPieceById = useCallback((id: string) => {
+ return (
+ localStorage.getItem>("workflowPieces")?.[id] ??
+ null
+ );
+ }, []);
+ const deleteWorkflowPieceById = useCallback((id: string) => {
+ const workflowPieces =
+ localStorage.getItem>("workflowPieces");
+ if (!workflowPieces) {
+ return;
+ }
+ delete workflowPieces?.[id];
+ localStorage.setItem("workflowPieces", workflowPieces);
+ }, []);
+
+ const setWorkflowPiecesData = useCallback((data: StoragePiecesData) => {
+ localStorage.setItem("workflowPiecesData", data);
+ }, []);
+ const setWorkflowPieceDataById = useCallback(
+ (id: string, pieceData: WorkflowPieceData) => {
+ let currentData =
+ localStorage.getItem("workflowPiecesData");
+ if (!currentData) {
+ currentData = {};
+ }
+ currentData[id] = pieceData;
+ localStorage.setItem("workflowPiecesData", currentData);
+ },
+ [],
+ );
+ const getWorkflowPiecesData = useCallback(() => {
+ return localStorage.getItem("workflowPiecesData") ?? {};
+ }, []);
+ const getWorkflowPieceDataById = useCallback((id: string) => {
+ return (
+ localStorage.getItem("workflowPiecesData")?.[id] ??
+ null
+ );
+ }, []);
+ const deleteWorkflowPieceDataById = useCallback((id: string) => {
+ const piecesData =
+ localStorage.getItem("workflowPiecesData") ??
+ ({} satisfies StoragePiecesData);
+
+ delete piecesData?.[id];
+
+ localStorage.setItem("workflowPiecesData", piecesData);
+ }, []);
+ const clearDownstreamDataById = useCallback((id: string) => {
+ const hashId = getUuid(id).replaceAll("-", "");
+ const workflowPieceData =
+ localStorage.getItem("workflowPiecesData");
+
+ if (!workflowPieceData) {
+ return;
+ }
+
+ Object.values(workflowPieceData).forEach((wpd) => {
+ Object.values(wpd.inputs).forEach((input) => {
+ if (input.upstreamId.includes(hashId)) {
+ input.upstreamArgument = "";
+ input.upstreamId = "";
+ input.upstreamValue = "";
+ } else if (Array.isArray(input.value)) {
+ input.value.forEach((item) => {
+ if (
+ typeof item.upstreamId === "string" &&
+ item.upstreamId.includes(hashId)
+ ) {
+ item.upstreamArgument = "";
+ item.upstreamId = "";
+ item.upstreamValue = "";
+ } else if (typeof item.upstreamId === "object") {
+ Object.keys(item.upstreamId).forEach((key) => {
+ const obj = item as any;
+ if (obj.upstreamId[key].includes(hashId)) {
+ obj.upstreamArgument[key] = "";
+ obj.upstreamId[key] = "";
+ obj.upstreamValue[key] = "";
+ }
+ });
+ }
+ });
+ }
+ });
+ });
+ localStorage.setItem("workflowPiecesData", workflowPieceData);
+ }, []);
+
+ const clearWorkflowPanelContext = useCallback(() => {
+ localStorage.removeItem("workflowEdges");
+ localStorage.removeItem("workflowNodes");
+ localStorage.removeItem("workflowPieces");
+ localStorage.removeItem("workflowPiecesData");
+ }, []);
+
+ const value: IWorkflowPanelContext = {
+ setWorkflowEdges,
+ setWorkflowNodes,
+ getWorkflowEdges,
+ getWorkflowNodes,
+
+ setWorkflowPieces,
+ setWorkflowPieceOutputSchema,
+ getWorkflowPieces,
+ getWorkflowPieceById,
+ deleteWorkflowPieceById,
+
+ setWorkflowPiecesData,
+ setWorkflowPieceDataById,
+ getWorkflowPiecesData,
+ getWorkflowPieceDataById,
+ deleteWorkflowPieceDataById,
+ clearDownstreamDataById,
+
+ clearWorkflowPanelContext,
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export default WorkflowPanelContextProvider;
diff --git a/frontend/src/features/workflowEditor/context/workflowPieces.tsx b/frontend/src/features/workflowEditor/context/workflowPieces.tsx
deleted file mode 100644
index 8d0f92f2..00000000
--- a/frontend/src/features/workflowEditor/context/workflowPieces.tsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import React, { useCallback } from "react";
-import localForage from "services/config/localForage.config";
-import { createCustomContext } from "utils";
-
-export interface IWorkflowPieceContext {
- setForageWorkflowPieces: (workflowPieces: any) => Promise; // TODO add type
- getForageWorkflowPieces: () => Promise>; // TODO add type
- removeForageWorkflowPiecesById: (id: string) => Promise;
- fetchWorkflowPieceById: (id: string) => Promise; // TODO add type
- clearForageWorkflowPieces: () => Promise;
- setForageWorkflowPiecesOutputSchema: (
- id: string,
- properties: any,
- ) => Promise;
-}
-
-export const [WorkflowPiecesContext, useWorkflowPiece] =
- createCustomContext("WorkflowsPieces Context");
-
-const WorkflowPiecesProvider: React.FC<{ children: React.ReactNode }> = ({
- children,
-}) => {
- const setForageWorkflowPieces = useCallback(async (workflowPieces: any) => {
- await localForage.setItem("workflowPieces", workflowPieces);
- }, []);
-
- const setForageWorkflowPiecesOutputSchema = useCallback(
- async (id: any, properties: any) => {
- const workflowPieces = await localForage.getItem("workflowPieces");
- if (workflowPieces?.[id]) {
- workflowPieces[id].output_schema.properties = properties;
- void localForage.setItem("workflowPieces", workflowPieces);
- }
- },
- [],
- );
-
- const clearForageWorkflowPieces = useCallback(async () => {
- await localForage.setItem("workflowPieces", {});
- }, []);
-
- const getForageWorkflowPieces = useCallback(async () => {
- const workflowPieces = await localForage.getItem("workflowPieces");
- if (!workflowPieces) {
- return {};
- }
- return workflowPieces;
- }, []);
-
- const removeForageWorkflowPiecesById = useCallback(async (id: string) => {
- const workflowPieces = await localForage.getItem("workflowPieces");
- if (!workflowPieces) {
- return;
- }
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
- delete workflowPieces[id];
- await localForage.setItem("workflowPieces", workflowPieces);
- }, []);
-
- const fetchWorkflowPieceById = useCallback(async (id: string) => {
- const workflowPieces = await localForage.getItem("workflowPieces");
- if (workflowPieces !== null) {
- return workflowPieces[id];
- }
- }, []);
-
- const value: IWorkflowPieceContext = {
- fetchWorkflowPieceById,
- getForageWorkflowPieces,
- removeForageWorkflowPiecesById,
- setForageWorkflowPieces,
- clearForageWorkflowPieces,
- setForageWorkflowPiecesOutputSchema,
- };
-
- return (
-
- {children}
-
- );
-};
-
-export default WorkflowPiecesProvider;
diff --git a/frontend/src/features/workflowEditor/context/workflowPiecesData.tsx b/frontend/src/features/workflowEditor/context/workflowPiecesData.tsx
deleted file mode 100644
index 578ab218..00000000
--- a/frontend/src/features/workflowEditor/context/workflowPiecesData.tsx
+++ /dev/null
@@ -1,146 +0,0 @@
-import React, { useCallback } from "react";
-import localForage from "services/config/localForage.config";
-import { createCustomContext, getUuid } from "utils";
-
-import { type IWorkflowPieceData } from "./types";
-
-export type ForagePiecesData = Record;
-
-export interface IWorkflowPiecesDataContext {
- setForageWorkflowPiecesDataById: (
- id: string,
- pieceData: IWorkflowPieceData,
- ) => Promise;
- setForageWorkflowPiecesData: (pieceData: ForagePiecesData) => Promise;
- fetchForageWorkflowPiecesData: () => Promise;
- fetchForageWorkflowPiecesDataById: (
- id: string,
- ) => Promise;
- removeForageWorkflowPieceDataById: (id: string) => Promise;
- clearForageWorkflowPiecesData: () => Promise;
- clearDownstreamDataById: (id: string) => Promise;
-}
-
-export const [WorkflowPiecesDataContext, useWorkflowPiecesData] =
- createCustomContext("WorkflowPiecesData Context");
-
-const WorkflowPiecesDataProvider: React.FC<{ children: React.ReactNode }> = ({
- children,
-}) => {
- const setForageWorkflowPiecesDataById = useCallback(
- async (id: string, pieceData: IWorkflowPieceData) => {
- let currentData =
- await localForage.getItem("workflowPiecesData");
- if (!currentData) {
- currentData = {};
- }
- currentData[id] = pieceData;
- await localForage.setItem("workflowPiecesData", currentData);
- },
- [],
- );
- const setForageWorkflowPiecesData = useCallback(
- async (pieceData: ForagePiecesData) => {
- await localForage.setItem("workflowPiecesData", pieceData);
- },
- [],
- );
-
- const fetchForageWorkflowPiecesData = useCallback(async () => {
- const workflowPiecesData =
- await localForage.getItem("workflowPiecesData");
-
- return workflowPiecesData ?? {};
- }, []);
-
- const fetchForageWorkflowPiecesDataById = useCallback(async (id: string) => {
- const workflowPiecesData =
- await localForage.getItem("workflowPiecesData");
-
- if (!workflowPiecesData?.[id]) {
- return;
- }
-
- return workflowPiecesData[id];
- }, []);
-
- const clearDownstreamDataById = useCallback(async (id: string) => {
- const hashId = getUuid(id).replaceAll("-", "");
- const workflowPieceData =
- await localForage.getItem("workflowPiecesData");
-
- if (!workflowPieceData) {
- return;
- }
-
- Object.values(workflowPieceData).forEach((wpd) => {
- Object.values(wpd.inputs).forEach((input) => {
- if (input.upstreamId.includes(hashId)) {
- input.upstreamArgument = "";
- input.upstreamId = "";
- input.upstreamValue = "";
- } else if (Array.isArray(input.value)) {
- input.value.forEach((item) => {
- if (
- typeof item.upstreamId === "string" &&
- item.upstreamId.includes(hashId)
- ) {
- item.upstreamArgument = "";
- item.upstreamId = "";
- item.upstreamValue = "";
- } else if (typeof item.upstreamId === "object") {
- Object.keys(item.upstreamId).forEach((key) => {
- const obj = item as any;
- if (obj.upstreamId[key].includes(hashId)) {
- obj.upstreamArgument[key] = "";
- obj.upstreamId[key] = "";
- obj.upstreamValue[key] = "";
- }
- });
- }
- });
- }
- });
- });
- await localForage.setItem("workflowPiecesData", workflowPieceData);
- }, []);
-
- const removeForageWorkflowPieceDataById = useCallback(
- async (id: string) => {
- const workflowPieceData =
- await localForage.getItem("workflowPiecesData");
-
- if (!workflowPieceData) {
- return;
- }
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
- delete workflowPieceData[id];
- await localForage.setItem("workflowPiecesData", workflowPieceData);
-
- await clearDownstreamDataById(id);
- },
- [clearDownstreamDataById],
- );
-
- const clearForageWorkflowPiecesData = useCallback(async () => {
- await localForage.setItem("workflowPiecesData", {});
- }, []);
-
- const value: IWorkflowPiecesDataContext = {
- setForageWorkflowPiecesDataById,
- setForageWorkflowPiecesData,
- fetchForageWorkflowPiecesData,
- fetchForageWorkflowPiecesDataById,
- removeForageWorkflowPieceDataById,
- clearForageWorkflowPiecesData,
- clearDownstreamDataById,
- };
-
- return (
-
- {children}
-
- );
-};
-
-export default WorkflowPiecesDataProvider;
diff --git a/frontend/src/features/workflowEditor/context/workflowSettingsData.tsx b/frontend/src/features/workflowEditor/context/workflowSettingsData.tsx
index d8fd2ed0..9357ac1d 100644
--- a/frontend/src/features/workflowEditor/context/workflowSettingsData.tsx
+++ b/frontend/src/features/workflowEditor/context/workflowSettingsData.tsx
@@ -1,13 +1,13 @@
+import { useStorage } from "context/storage/useStorage";
import React, { useCallback } from "react";
-import localForage from "services/config/localForage.config";
import { createCustomContext } from "utils";
import { type IWorkflowSettings } from "./types";
export interface IWorkflowSettingsContext {
- fetchWorkflowSettingsData: () => Promise;
- setWorkflowSettingsData: (data: any) => Promise;
- clearWorkflowSettingsData: () => Promise;
+ getWorkflowSettingsData: () => IWorkflowSettings;
+ setWorkflowSettingsData: (data: IWorkflowSettings) => void;
+ clearWorkflowSettingsData: () => void;
}
export const [WorkflowSettingsDataContext, useWorkflowSettings] =
@@ -16,25 +16,26 @@ export const [WorkflowSettingsDataContext, useWorkflowSettings] =
const WorkflowSettingsDataProvider: React.FC<{ children: React.ReactNode }> = ({
children,
}) => {
- // Forage forms data
- const fetchWorkflowSettingsData = useCallback(async () => {
- const data = await localForage.getItem("workflowSettingsData");
- if (data === null) {
- return {};
- }
- return data;
+ const localStorage = useStorage();
+
+ const getWorkflowSettingsData = useCallback(() => {
+ return (
+ localStorage.getItem("workflowSettingsData") ??
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
+ ({} as IWorkflowSettings)
+ );
}, []);
- const setWorkflowSettingsData = useCallback(async (data: any) => {
- await localForage.setItem("workflowSettingsData", data);
+ const setWorkflowSettingsData = useCallback((data: IWorkflowSettings) => {
+ localStorage.setItem("workflowSettingsData", data);
}, []);
- const clearWorkflowSettingsData = useCallback(async () => {
- await localForage.setItem("workflowSettingsData", {});
+ const clearWorkflowSettingsData = useCallback(() => {
+ localStorage.removeItem("workflowSettingsData");
}, []);
const value = {
- fetchWorkflowSettingsData,
+ getWorkflowSettingsData,
setWorkflowSettingsData,
clearWorkflowSettingsData,
};
diff --git a/frontend/src/features/workflowEditor/context/workflowsEditor.tsx b/frontend/src/features/workflowEditor/context/workflowsEditor.tsx
index f0483675..a62c5fea 100644
--- a/frontend/src/features/workflowEditor/context/workflowsEditor.tsx
+++ b/frontend/src/features/workflowEditor/context/workflowsEditor.tsx
@@ -11,51 +11,41 @@ import React, { type FC, useCallback } from "react";
import { type Edge } from "reactflow";
import { createCustomContext, generateTaskName } from "utils";
-import {
- useReactWorkflowPersistence,
- type IReactWorkflowPersistenceContext,
-} from "./reactWorkflowPersistence";
import {
type IWorkflowSettings,
type CreateWorkflowRequest,
type TasksDataModel,
} from "./types";
-import { useWorkflowPiece, type IWorkflowPieceContext } from "./workflowPieces";
import {
- useWorkflowPiecesData,
- type IWorkflowPiecesDataContext,
- type ForagePiecesData,
-} from "./workflowPiecesData";
+ useWorkflowPanel,
+ type IWorkflowPanelContext,
+ type StoragePiecesData,
+} from "./workflowPanelContext";
import {
- type IWorkflowSettingsContext,
useWorkflowSettings,
+ type IWorkflowSettingsContext,
} from "./workflowSettingsData";
-// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
-export type GenerateWorkflowsParams = {
+export interface GenerateWorkflowsParams {
workflowPieces: Record;
- workflowPiecesData: ForagePiecesData;
+ workflowPiecesData: StoragePiecesData;
workflowSettingsData: IWorkflowSettings;
workflowNodes: IWorkflowElement[];
workflowEdges: Edge[];
-};
+}
interface IWorkflowsEditorContext
- extends IReactWorkflowPersistenceContext,
- IWorkflowSettingsContext,
- IWorkflowPieceContext,
- IWorkflowPiecesDataContext {
- fetchWorkflowForage: () => Promise;
- importWorkflowToForage: (
- importedWorkflow: GenerateWorkflowsParams,
- ) => Promise;
+ extends IWorkflowPanelContext,
+ IWorkflowSettingsContext {
+ getWorkflow: () => GenerateWorkflowsParams;
+ importWorkflowToStorage: (importedWorkflow: GenerateWorkflowsParams) => void;
generateWorkflowsEditorBodyParams: (
p: GenerateWorkflowsParams,
- ) => Promise;
+ ) => CreateWorkflowRequest;
handleCreateWorkflow: (
params: IPostWorkflowParams,
) => Promise;
- clearForageData: () => Promise;
+ clearStorageData: () => void;
}
export const [WorkflowsEditorContext, useWorkflowsEditor] =
@@ -70,52 +60,37 @@ const WorkflowsEditorProvider: FC<{ children?: React.ReactNode }> = ({
const {
setWorkflowEdges,
setWorkflowNodes,
- fetchForageWorkflowEdges,
- fetchForageWorkflowNodes,
- clearReactWorkflowPersistence,
- } = useReactWorkflowPersistence();
-
- const {
- setForageWorkflowPieces,
- setForageWorkflowPiecesOutputSchema,
- fetchWorkflowPieceById,
- getForageWorkflowPieces,
- removeForageWorkflowPiecesById,
- clearForageWorkflowPieces,
- } = useWorkflowPiece();
-
- const {
- fetchForageWorkflowPiecesData,
- fetchForageWorkflowPiecesDataById,
- setForageWorkflowPiecesData,
- setForageWorkflowPiecesDataById,
- clearForageWorkflowPiecesData,
- removeForageWorkflowPieceDataById,
+ getWorkflowEdges,
+ getWorkflowNodes,
+
+ setWorkflowPieces,
+ setWorkflowPieceOutputSchema,
+ getWorkflowPieces,
+ getWorkflowPieceById,
+ deleteWorkflowPieceById,
+
+ setWorkflowPiecesData,
+ setWorkflowPieceDataById,
+ getWorkflowPiecesData,
+ getWorkflowPieceDataById,
+ deleteWorkflowPieceDataById,
clearDownstreamDataById,
- } = useWorkflowPiecesData();
+
+ clearWorkflowPanelContext,
+ } = useWorkflowPanel();
const {
- fetchWorkflowSettingsData,
+ getWorkflowSettingsData,
setWorkflowSettingsData,
clearWorkflowSettingsData,
} = useWorkflowSettings();
- const handleCreateWorkflow = useCallback(
- async (payload: IPostWorkflowParams) => {
- return await postWorkflow({
- ...payload,
- workspace_id: workspace?.id ?? "",
- });
- },
- [postWorkflow, workspace],
- );
-
- const fetchWorkflowForage = useCallback(async () => {
- const workflowPieces = await getForageWorkflowPieces();
- const workflowPiecesData = await fetchForageWorkflowPiecesData();
- const workflowSettingsData = await fetchWorkflowSettingsData();
- const workflowNodes = await fetchForageWorkflowNodes();
- const workflowEdges = await fetchForageWorkflowEdges();
+ const getWorkflow = useCallback(() => {
+ const workflowPieces = getWorkflowPieces();
+ const workflowPiecesData = getWorkflowPiecesData();
+ const workflowSettingsData = getWorkflowSettingsData();
+ const workflowNodes = getWorkflowNodes();
+ const workflowEdges = getWorkflowEdges();
const result: GenerateWorkflowsParams = {
workflowPieces,
workflowPiecesData,
@@ -125,22 +100,24 @@ const WorkflowsEditorProvider: FC<{ children?: React.ReactNode }> = ({
};
return result;
}, [
- fetchForageWorkflowPiecesData,
- fetchWorkflowSettingsData,
- getForageWorkflowPieces,
+ getWorkflowPieces,
+ getWorkflowPiecesData,
+ getWorkflowSettingsData,
+ getWorkflowNodes,
+ getWorkflowEdges,
]);
- const importWorkflowToForage = useCallback(
+ const importWorkflowToStorage = useCallback(
async (dominoWorkflow: GenerateWorkflowsParams) => {
- await setForageWorkflowPieces(dominoWorkflow.workflowPieces);
- await setForageWorkflowPiecesData(dominoWorkflow.workflowPiecesData);
- await setWorkflowSettingsData(dominoWorkflow.workflowSettingsData);
- await setWorkflowNodes(dominoWorkflow.workflowNodes);
- await setWorkflowEdges(dominoWorkflow.workflowEdges);
+ setWorkflowPieces(dominoWorkflow.workflowPieces);
+ setWorkflowPiecesData(dominoWorkflow.workflowPiecesData);
+ setWorkflowSettingsData(dominoWorkflow.workflowSettingsData);
+ setWorkflowNodes(dominoWorkflow.workflowNodes);
+ setWorkflowEdges(dominoWorkflow.workflowEdges);
},
[
- setForageWorkflowPieces,
- setForageWorkflowPiecesData,
+ setWorkflowPieces,
+ setWorkflowPiecesData,
setWorkflowSettingsData,
setWorkflowNodes,
setWorkflowEdges,
@@ -148,7 +125,7 @@ const WorkflowsEditorProvider: FC<{ children?: React.ReactNode }> = ({
);
const generateWorkflowsEditorBodyParams = useCallback(
- async ({
+ ({
workflowPieces,
workflowPiecesData,
workflowSettingsData,
@@ -305,60 +282,54 @@ const WorkflowsEditorProvider: FC<{ children?: React.ReactNode }> = ({
ui_schema,
};
},
- [
- fetchForageWorkflowEdges,
- fetchForageWorkflowNodes,
- fetchForageWorkflowPiecesData,
- fetchWorkflowSettingsData,
- ],
+ [],
);
- const clearForageData = useCallback(async () => {
- await Promise.allSettled([
- clearReactWorkflowPersistence(),
- clearForageWorkflowPieces(),
- clearForageWorkflowPiecesData(),
- clearWorkflowSettingsData(),
- ]);
- }, [
- clearReactWorkflowPersistence,
- clearForageWorkflowPieces,
- clearForageWorkflowPiecesData,
- clearWorkflowSettingsData,
- ]);
+ const handleCreateWorkflow = useCallback(
+ async (payload: IPostWorkflowParams) => {
+ return await postWorkflow({
+ ...payload,
+ workspace_id: workspace?.id ?? "",
+ });
+ },
+ [postWorkflow, workspace],
+ );
- const value: IWorkflowsEditorContext = {
- importWorkflowToForage,
+ const clearStorageData = useCallback(() => {
+ clearWorkflowPanelContext();
+ clearWorkflowSettingsData();
+ }, [clearWorkflowPanelContext, clearWorkflowSettingsData]);
+ const value: IWorkflowsEditorContext = {
setWorkflowEdges,
setWorkflowNodes,
- fetchForageWorkflowEdges,
- fetchForageWorkflowNodes,
- clearReactWorkflowPersistence,
-
- setForageWorkflowPieces,
- setForageWorkflowPiecesOutputSchema,
- fetchWorkflowPieceById,
- getForageWorkflowPieces,
- removeForageWorkflowPiecesById,
- clearForageWorkflowPieces,
-
- setForageWorkflowPiecesData,
- setForageWorkflowPiecesDataById,
- fetchForageWorkflowPiecesData,
- fetchForageWorkflowPiecesDataById,
- removeForageWorkflowPieceDataById,
- clearForageWorkflowPiecesData,
+ getWorkflowEdges,
+ getWorkflowNodes,
+
+ setWorkflowPieces,
+ setWorkflowPieceOutputSchema,
+ getWorkflowPieceById,
+ getWorkflowPieces,
+ deleteWorkflowPieceById,
+
+ setWorkflowPiecesData,
+ setWorkflowPieceDataById,
+ getWorkflowPiecesData,
+ getWorkflowPieceDataById,
+ deleteWorkflowPieceDataById,
clearDownstreamDataById,
+ clearWorkflowPanelContext,
+
setWorkflowSettingsData,
- fetchWorkflowSettingsData,
+ getWorkflowSettingsData,
clearWorkflowSettingsData,
- handleCreateWorkflow,
- fetchWorkflowForage,
+ getWorkflow,
+ importWorkflowToStorage,
generateWorkflowsEditorBodyParams,
- clearForageData,
+ handleCreateWorkflow,
+ clearStorageData,
};
return (
diff --git a/frontend/src/features/workflowEditor/schemas/containerResourcesSchemas.ts b/frontend/src/features/workflowEditor/schemas/containerResourcesSchemas.ts
deleted file mode 100644
index 42e989c2..00000000
--- a/frontend/src/features/workflowEditor/schemas/containerResourcesSchemas.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-export const containerResourcesSchema = {
- type: "object",
- properties: {
- cpu: {
- type: "object",
- title: "CPU",
- properties: {
- min: {
- title: "Min - Thousandth of a core (m)",
- type: "number",
- default: 100, // todo: min value we will accept ?
- // "maximum": 10000, // todo: max value we will accept ?
- minimum: 50, // todo: min value we will accept ?
- },
- max: {
- title: "Max - Thousandth of a core (m)",
- type: "number",
- default: 100,
- // "maximum": 10000, // todo: max value we will accept ?
- minimum: 50, // todo: min value we will accept ?
- },
- },
- },
- memory: {
- type: "object",
- title: "Memory",
- properties: {
- min: {
- title: "Min - Mebibyte (Mi)",
- type: "number",
- default: 128,
- // 'maximum': 15258, // todo: max value we will accept ?
- minimum: 32,
- },
- max: {
- title: "Max - Mibibyte (Mi)",
- type: "number",
- default: 128,
- // "maximum": 15258, // todo: max value we will accept ?
- minimum: 32,
- },
- },
- },
- useGpu: {
- title: "Use GPU",
- type: "boolean",
- default: false,
- },
- },
-};
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/disableCheckboxOptions.ts b/frontend/src/features/workflowEditor/utils/disableCheckboxOptions.ts
similarity index 74%
rename from frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/disableCheckboxOptions.ts
rename to frontend/src/features/workflowEditor/utils/disableCheckboxOptions.ts
index e3d7aa2e..b93eb4b5 100644
--- a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/PieceFormItem/disableCheckboxOptions.ts
+++ b/frontend/src/features/workflowEditor/utils/disableCheckboxOptions.ts
@@ -1,4 +1,4 @@
-function getFromUpstreamType(schema: InputSchemaProperty): FromUpstream {
+function getFromUpstreamType(schema: Property): FromUpstream {
if (schema?.from_upstream) {
return schema?.from_upstream;
}
@@ -6,7 +6,7 @@ function getFromUpstreamType(schema: InputSchemaProperty): FromUpstream {
return "allowed";
}
-export function disableCheckboxOptions(schema: InputSchemaProperty): boolean {
+export function disableCheckboxOptions(schema: Property): boolean {
let disable: boolean = false;
const fromUpstream = getFromUpstreamType(schema);
diff --git a/frontend/src/features/workflowEditor/utils/getFromUpstream.ts b/frontend/src/features/workflowEditor/utils/getFromUpstream.ts
index 91292d0a..f578b8af 100644
--- a/frontend/src/features/workflowEditor/utils/getFromUpstream.ts
+++ b/frontend/src/features/workflowEditor/utils/getFromUpstream.ts
@@ -1,24 +1,20 @@
-function isEnum(
- schema: SimpleInputSchemaProperty | InputSchemaProperty | Definition,
-): boolean {
+function isEnum(schema: Property | Definition): boolean {
if ("allOf" in schema || "enum" in schema) {
return true;
}
return false;
}
+function getFromUpstream(itemSchema: Property): boolean;
function getFromUpstream(
- itemSchema: SimpleInputSchemaProperty | InputSchemaProperty,
-): boolean;
-function getFromUpstream(
- itemSchema: InputSchemaProperty | EnumDefinition,
+ itemSchema: Property | EnumDefinition,
definitions: Definitions,
key: string,
): boolean;
function getFromUpstream(
- itemSchema: SimpleInputSchemaProperty | InputSchemaProperty | EnumDefinition,
- definitions?: any,
+ itemSchema: Property | EnumDefinition,
+ definitions?: Definitions,
key?: string,
): boolean {
// Enum type cant be from upstream
@@ -28,7 +24,7 @@ function getFromUpstream(
if (definitions && "items" in itemSchema && "$ref" in itemSchema.items) {
const name = itemSchema.items.$ref.split("/").pop() as string;
- const definition = (definitions as Definitions)[name];
+ const definition = definitions[name];
// Enum type cant be from upstream
if (isEnum(definition)) {
@@ -52,10 +48,7 @@ function getFromUpstream(
}
}
- switch (
- (itemSchema as SimpleInputSchemaProperty | InputSchemaProperty)
- ?.from_upstream
- ) {
+ switch ((itemSchema as Property)?.from_upstream) {
case "always":
return true;
diff --git a/frontend/src/features/workflowEditor/utils/graph.ts b/frontend/src/features/workflowEditor/utils/graph.ts
new file mode 100644
index 00000000..1ce85ec4
--- /dev/null
+++ b/frontend/src/features/workflowEditor/utils/graph.ts
@@ -0,0 +1,70 @@
+import { type Edge, isEdge, isNode, type Node } from "reactflow";
+
+function convertToAdjacencyList(
+ elements: Array,
+): Record {
+ const adjacencyList: Record = {};
+
+ // Create an adjacency list from the given elements
+ /*
+ Example:
+ {
+ "node-1": ["node-2", "node-3"],
+ "node-2": ["node-3"],
+ "node-3": ["node-4"],
+ }
+ */
+ elements.forEach((element: Edge | Node) => {
+ if (isNode(element)) {
+ adjacencyList[element.id] = [];
+ } else if (isEdge(element)) {
+ if (!adjacencyList[element.source]) {
+ adjacencyList[element.source] = [];
+ }
+ adjacencyList[element.source].push(element.target);
+ }
+ });
+ return adjacencyList;
+}
+
+function hasCycle(adjacencyList: Record): boolean {
+ // ref: https://www.geeksforgeeks.org/depth-first-search-or-dfs-for-a-graph/
+ const visited: Record = {};
+ const recursionStack: Record = {};
+
+ // Helper function for DFS traversal
+ function isNodeCyclic(nodeId: string): boolean {
+ if (recursionStack[nodeId]) {
+ return true;
+ }
+
+ if (visited[nodeId]) {
+ return false;
+ }
+
+ visited[nodeId] = true;
+ recursionStack[nodeId] = true;
+
+ const neighbors = adjacencyList[nodeId] || [];
+ for (let i = 0; i < neighbors.length; i++) {
+ if (isNodeCyclic(neighbors[i])) {
+ return true; // Cycle detected in a neighbor
+ }
+ }
+ recursionStack[nodeId] = false; // Backtrack stack
+ return false;
+ }
+
+ // Perform DFS traversal for each node
+ for (const node in adjacencyList) {
+ if (isNodeCyclic(node)) {
+ return true; // Cycle detected on node
+ }
+ }
+ return false;
+}
+
+export function isDag(nodes: Node[], edges: Edge[]): boolean {
+ const adjacencyList = convertToAdjacencyList([...nodes, ...edges]);
+ return !hasCycle(adjacencyList);
+}
diff --git a/frontend/src/features/workflowEditor/utils/importWorkflow.ts b/frontend/src/features/workflowEditor/utils/importWorkflow.ts
index 2a0bb73d..df76576e 100644
--- a/frontend/src/features/workflowEditor/utils/importWorkflow.ts
+++ b/frontend/src/features/workflowEditor/utils/importWorkflow.ts
@@ -1,4 +1,3 @@
-import localForage from "services/config/localForage.config";
import { isEmpty } from "utils";
import * as yup from "yup";
@@ -32,7 +31,7 @@ export const importJsonWorkflow = (
return null; // Return null if no file is selected
};
-export const validateJsonImported = async (json: any): Promise => {
+export const validateJsonImported = (json: any): void => {
const schema = yup
.object()
.shape({
@@ -97,7 +96,7 @@ export const validateJsonImported = async (json: any): Promise => {
.strict()
.noUnknown();
- await schema.validate(json);
+ schema.validateSync(json);
};
export interface Differences {
@@ -105,12 +104,13 @@ export interface Differences {
installedVersion: string | null;
requiredVersion: string;
}
-export const findDifferencesInJsonImported = async (
+export const findDifferencesInJsonImported = (
json: any,
-): Promise => {
+ pieces: Piece[],
+): Differences[] => {
const currentRepositories = new Set(
- Object.values((await localForage.getItem("pieces")) as any)?.map(
- (p: any) =>
+ Object.values(pieces)?.map(
+ (p) =>
p?.repository_url.replace("https://github.com/", "") +
":" +
p?.source_image.split(":")[1]?.replace(/-group\d+$/g, "") || "",
diff --git a/frontend/src/features/workflowEditor/utils/index.ts b/frontend/src/features/workflowEditor/utils/index.ts
index 3fca25de..69ddd2b2 100644
--- a/frontend/src/features/workflowEditor/utils/index.ts
+++ b/frontend/src/features/workflowEditor/utils/index.ts
@@ -1,2 +1,7 @@
export * from "./getFromUpstream";
+export * from "./importWorkflow";
export * from "./jsonSchema";
+export * from "./upstreamOptions";
+export * from "./validation";
+export * from "./graph";
+export * from "./disableCheckboxOptions";
diff --git a/frontend/src/features/workflowEditor/utils/jsonSchema.ts b/frontend/src/features/workflowEditor/utils/jsonSchema.ts
index cd9fec6a..93f37115 100644
--- a/frontend/src/features/workflowEditor/utils/jsonSchema.ts
+++ b/frontend/src/features/workflowEditor/utils/jsonSchema.ts
@@ -2,10 +2,10 @@
import { isEmpty } from "utils";
-import { defaultContainerResources } from "../components/SidebarForm/ContainerResourceForm";
+import { defaultContainerResources } from "../components/Drawers/PieceFormDrawer/ContainerResourceForm";
import {
type IContainerResourceFormData,
- type IWorkflowPieceData,
+ type WorkflowPieceData,
} from "../context/types";
import { getFromUpstream } from "./getFromUpstream";
@@ -15,7 +15,7 @@ export const extractDefaultInputValues = (pieceSchema: Piece) => {
const definitions = pieceSchema.input_schema.$defs;
const defaultData = extractDefaultValues(pieceSchema.input_schema);
- const defaultInputs: IWorkflowPieceData["inputs"] = {};
+ const defaultInputs: WorkflowPieceData["inputs"] = {};
for (const key in defaultData) {
const fromUpstream = getFromUpstream(schema[key]);
@@ -85,23 +85,19 @@ export const extractDefaultInputValues = (pieceSchema: Piece) => {
return defaultInputs;
};
-export const extractDefaultValues = (
- schema: PieceSchema,
- output: any | null = null,
-) => {
- output = output === null ? {} : output;
+export const extractDefaultValues = (schema: Schema, output?: any) => {
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
+ output = output ?? ({} as Schema);
if (!isEmpty(schema) && "properties" in schema) {
const properties = schema.properties;
for (const [key, value] of Object.entries(properties)) {
- if (value?.from_upstream === "always") {
+ if ("from_upstream" in value && value.from_upstream === "always") {
output[key] = "";
}
if ("default" in value) {
- output[key] = value.default;
- } else if ("properties" in value) {
- output[key] = extractDefaultValues(value as any, output[key]);
+ output[key] = value.default ?? "";
} else {
output[key] = "";
}
diff --git a/frontend/src/features/workflowEditor/utils/upstreamOptions.ts b/frontend/src/features/workflowEditor/utils/upstreamOptions.ts
new file mode 100644
index 00000000..6b807499
--- /dev/null
+++ b/frontend/src/features/workflowEditor/utils/upstreamOptions.ts
@@ -0,0 +1,145 @@
+import { type Edge } from "reactflow";
+import { generateTaskName, getUuidSlice, isEmpty } from "utils";
+
+export interface Option {
+ id: string;
+ argument: string;
+ value: string;
+}
+
+export type UpstreamOptions = Record;
+
+export const getUpstreamOptions = (
+ formId: string,
+ schema: Schema,
+ workflowPieces: Record,
+ workflowEdges: Edge[],
+) => {
+ const upstreamPieces: Array = [];
+
+ for (const ed of workflowEdges) {
+ if (ed.target === formId) {
+ upstreamPieces.push({
+ ...workflowPieces[ed.source],
+ source: ed.source,
+ });
+ }
+ }
+
+ if (!schema.properties || isEmpty(schema.properties)) {
+ return {};
+ }
+
+ const upstreamOptions = generateOptions(schema.$defs, upstreamPieces);
+
+ return upstreamOptions(schema);
+};
+
+function generateOptions(
+ definitions: Definitions,
+ upstreamPieces: Array,
+) {
+ function generateOptionsForSchema(
+ schema: Schema | Property | Definition,
+ ): UpstreamOptions {
+ const options: UpstreamOptions = {};
+ const addOptions = (opts: Option[] | UpstreamOptions, key: string = "") => {
+ if (Array.isArray(opts)) {
+ options[key] = opts;
+ } else {
+ Object.entries(opts).forEach(([subKey, subOpts]) => {
+ if (subKey) {
+ options[`${key}.${subKey}`] = subOpts;
+ } else {
+ options[`${key}`] = subOpts;
+ }
+ });
+ }
+ };
+
+ function processUpstreamPieces() {
+ upstreamPieces.forEach(({ name, source, output_schema }) => {
+ const outputSchema = output_schema.properties;
+
+ const generatedOptions = Object.entries(outputSchema)
+ .map(([key, prop]) => {
+ if (compareTypes(schema, prop)) {
+ return generateOption({
+ pieceId: source,
+ pieceName: name,
+ propKey: key,
+ propTitle: prop.title,
+ });
+ } else {
+ return undefined;
+ }
+ })
+ .filter((option) => !!option) as Option[];
+ addOptions(generatedOptions);
+ });
+ }
+
+ if ("type" in schema && schema.type === "object") {
+ if (schema.properties) {
+ Object.entries(schema.properties).forEach(([propKey, property]) => {
+ if (property) {
+ addOptions(generateOptionsForSchema(property), propKey);
+ }
+ });
+ }
+ } else if ("type" in schema && schema.type === "array") {
+ if (schema.items) {
+ const propSchema =
+ "$ref" in schema.items
+ ? getSchemaByRef(schema.items, definitions)
+ : schema.items;
+ addOptions(generateOptionsForSchema(propSchema), "__items");
+ processUpstreamPieces();
+ }
+ } else {
+ processUpstreamPieces();
+ }
+ return options;
+ }
+
+ return generateOptionsForSchema;
+}
+
+interface GenerateOptionProps {
+ pieceId: string;
+ pieceName: string;
+ propTitle: string;
+ propKey: string;
+}
+
+function generateOption({
+ pieceId,
+ pieceName,
+ propTitle,
+ propKey,
+}: GenerateOptionProps) {
+ const value = `${pieceName} (${getUuidSlice(pieceId)}) - ${propTitle}`;
+ const argument = propKey;
+ const id = generateTaskName(pieceName, pieceId);
+ return { id, argument, value };
+}
+
+function getSchemaByRef(ref: Reference, definitions: Definitions) {
+ return definitions[ref.$ref.split("/").pop() as string];
+}
+
+function compareTypes(schema: Schema | Property | Definition, prop: Property) {
+ if ("type" in schema && "type" in prop) {
+ return schema.type === prop.type;
+ } else if ("anyOf" in schema && "type" in prop) {
+ return schema.anyOf.some((s) => s.type === prop.type);
+ } else if ("type" in schema && "anyOf" in prop) {
+ return prop.anyOf.some((p) => p.type === schema.type);
+ } else if ("anyOf" in schema && "anyOf" in prop) {
+ // Verify if there is any type equal in the two arrays
+ return schema.anyOf.some((s) => prop.anyOf.some((p) => p.type === s.type));
+ } else {
+ // Handle other cases or return a default value if needed
+ return false;
+ }
+}
diff --git a/frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/validation.ts b/frontend/src/features/workflowEditor/utils/validation.ts
similarity index 100%
rename from frontend/src/features/workflowEditor/components/SidebarForm/PieceForm/validation.ts
rename to frontend/src/features/workflowEditor/utils/validation.ts
diff --git a/frontend/src/features/workspaces/components/workspaceSettings/RepositoriesCard.tsx b/frontend/src/features/workspaces/components/workspaceSettings/RepositoriesCard.tsx
index 8456f871..062701df 100644
--- a/frontend/src/features/workspaces/components/workspaceSettings/RepositoriesCard.tsx
+++ b/frontend/src/features/workspaces/components/workspaceSettings/RepositoriesCard.tsx
@@ -120,7 +120,7 @@ export const RepositoriesCard: FC = () => {
source: source as repositorySource,
})
.then((data) => {
- if (data) {
+ if (data && data.length > 0) {
const devVersion = data.find(
(item) =>
item.version === "dev" || item.version === "development",
@@ -141,6 +141,9 @@ export const RepositoriesCard: FC = () => {
: sortedVersions;
setAvailableVersions(sortedData);
+ } else {
+ toast.warning("No releases found for this repository");
+ return;
}
setStep("SELECT_VERSION");
})
diff --git a/frontend/src/features/workspaces/components/workspaces/WorkspaceListItem.tsx b/frontend/src/features/workspaces/components/workspaces/WorkspaceListItem.tsx
index 7992fe77..6c7d641b 100644
--- a/frontend/src/features/workspaces/components/workspaces/WorkspaceListItem.tsx
+++ b/frontend/src/features/workspaces/components/workspaces/WorkspaceListItem.tsx
@@ -1,3 +1,8 @@
+import CheckBoxOutlineBlankIcon from "@mui/icons-material/CheckBoxOutlineBlank";
+import CheckBoxOutlinedIcon from "@mui/icons-material/CheckBoxOutlined";
+import DeleteOutlineIcon from "@mui/icons-material/DeleteOutline";
+import LogoutIcon from "@mui/icons-material/Logout";
+import SettingsIcon from "@mui/icons-material/Settings";
import {
Card,
CardActionArea,
@@ -7,8 +12,12 @@ import {
CardActions,
Button,
Grid,
+ Divider,
+ Tooltip,
+ Chip,
} from "@mui/material";
import { type IWorkspaceSummary } from "context/workspaces/types";
+import theme from "providers/theme.config";
import { type FC } from "react";
import { useNavigate } from "react-router-dom";
@@ -43,7 +52,7 @@ export const WorkspaceListItem: FC<{
sx={{
display: "flex",
flexDirection: "column",
- borderColor: isSelected ? "darkgray" : "primary.main",
+ borderColor: isSelected ? theme.palette.success.main : "primary",
}}
>
+
+ Selected
+
+ ) : (
+
+
+ Select
+
+ )
+ }
+ sx={{ py: 1, width: "100%" }}
/>
-
-
-
-
+
+
+
+
Permission:
- {workspace.user_permission}
+
-
-
+
+
+
+
+
Status:
-
- {workspace.status === "accepted"
- ? "Collaborating"
- : "Refused"}
-
+
@@ -85,27 +141,36 @@ export const WorkspaceListItem: FC<{
- {isSelected ? "Selected" : "Select"}
-
- {
handleSelect();
navigate("/workspace-settings");
}}
>
- Config
+
+
+
-
- Leave
+
+
+
+
-
- Delete
+
+
+
+
diff --git a/frontend/src/index.css b/frontend/src/index.css
index fbd65cf6..6954dfa8 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -1,3 +1,69 @@
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-Bold.ttf");
+ font-weight: bold;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-BoldItalic.ttf");
+ font-weight: bold;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-ExtraBold.ttf");
+ font-weight: bolder;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-ExtraBoldItalic.ttf");
+ font-weight: bolder;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-Italic.ttf");
+ font-weight: normal;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-Medium.ttf");
+ font-weight: 500;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-MediumItalic.ttf");
+ font-weight: 500;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-Regular.ttf");
+ font-weight: normal;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-SemiBold.ttf");
+ font-weight: 600;
+}
+
+@font-face {
+ font-family: 'Rethink-Sans';
+ src: url("../fonts/RethinkSans-SemiBoldItalic.ttf");
+ font-weight: 600;
+ font-style: italic;
+}
+
+
body {
font-family: sans-serif;
color: #111;
diff --git a/frontend/src/providers/app.tsx b/frontend/src/providers/app.tsx
index 61bcd2dd..eeee5f4e 100644
--- a/frontend/src/providers/app.tsx
+++ b/frontend/src/providers/app.tsx
@@ -1,6 +1,7 @@
import CssBaseline from "@mui/material/CssBaseline";
import { ThemeProvider } from "@mui/material/styles";
import { AuthenticationProvider } from "context/authentication";
+import { StorageProvider } from "context/storage/useStorage";
import { WorkspacesProvider } from "context/workspaces";
import PiecesProvider from "context/workspaces/repositories";
import { type FC } from "react";
@@ -22,13 +23,15 @@ export const App: FC = () => (
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/providers/theme.config.ts b/frontend/src/providers/theme.config.ts
index b76333d7..ed79875b 100644
--- a/frontend/src/providers/theme.config.ts
+++ b/frontend/src/providers/theme.config.ts
@@ -5,18 +5,26 @@ import { createTheme } from "@mui/material/styles";
// TODO - make this styles work
export const theme = createTheme({
palette: {
- // type: 'light',
primary: {
- main: "#323c3d",
+ main: "#101820",
+ light: "#223344",
+ dark: "#070A0E",
},
secondary: {
- main: "#f50057",
+ main: "#FFFFFF",
},
background: {
- default: "#f1f3f3",
+ default: "#F1F5F8",
+ },
+ success: {
+ main: "#00B140",
+ light: "#00E052",
+ dark: "#008F34",
+ contrastText: "#FFFFFF",
},
},
typography: {
+ fontFamily: "Rethink-Sans",
h1: {
fontSize: 30,
marginLeft: 30,
@@ -27,12 +35,9 @@ export const theme = createTheme({
h3: {
fontSize: 20,
},
- // h4: {
- // fontSize: 15
- // },
- // h5: {
- // fontSize: 10
- // }
+ button: {
+ textTransform: "capitalize",
+ },
},
});
diff --git a/frontend/src/services/config/endpoints.config.ts b/frontend/src/services/config/endpoints.config.ts
index e145c179..9a31358c 100644
--- a/frontend/src/services/config/endpoints.config.ts
+++ b/frontend/src/services/config/endpoints.config.ts
@@ -1,11 +1,5 @@
import { environment } from "config/environment.config";
-/**
- * Exports all endpoints, already set up by current env
- */
-
-console.log(environment);
-
export const endpoint = environment.API_URL ?? "http://localhost:8000/";
export default endpoint;
diff --git a/frontend/src/services/config/localForage.config.ts b/frontend/src/services/config/localForage.config.ts
deleted file mode 100644
index 407a8b3e..00000000
--- a/frontend/src/services/config/localForage.config.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import localForage from "localforage";
-
-localForage.config({
- name: "Domino",
- storeName: "domino_data", // Should be alphanumeric, with underscores.
- description: "Domino database",
-});
-
-export default localForage;
diff --git a/frontend/src/utils/getDefinition.ts b/frontend/src/utils/getDefinition.ts
index fd57183f..8a3532a7 100644
--- a/frontend/src/utils/getDefinition.ts
+++ b/frontend/src/utils/getDefinition.ts
@@ -1,5 +1,5 @@
export function getDefinition(
- schema: InputSchemaProperty | SimpleInputSchemaProperty | EnumDefinition,
+ schema: Property | SimpleProperty | EnumDefinition,
definitions: Definitions,
) {
if ("items" in schema && "$ref" in schema.items) {
diff --git a/frontend/src/utils/isEmpty.ts b/frontend/src/utils/isEmpty.ts
index 82547728..4da0fffe 100644
--- a/frontend/src/utils/isEmpty.ts
+++ b/frontend/src/utils/isEmpty.ts
@@ -1,3 +1,3 @@
export const isEmpty = (obj: Record | any[]) => {
- return Object.keys(obj).length === 0 && obj.constructor === Object;
+ return obj && Object.keys(obj).length === 0 && obj.constructor === Object;
};
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index f660d6db..cd18756e 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -20,10 +20,12 @@
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
- "jsx": "react-jsx"
+ "jsx": "react-jsx",
+ "sourceMap": true
},
"include": [
- "src"
+ "src",
+ "./vite.config.js"
],
"exclude": [
"node_modules"
diff --git a/frontend/vite.config.js b/frontend/vite.config.js
index 24c7903f..aec926d2 100644
--- a/frontend/vite.config.js
+++ b/frontend/vite.config.js
@@ -1,22 +1,22 @@
-import { defineConfig } from "vite";
-import react from "@vitejs/plugin-react";
-import viteTsconfigPaths from "vite-tsconfig-paths";
import importMetaEnv from "@import-meta-env/unplugin";
+import react from "@vitejs/plugin-react";
+import { defineConfig } from "vite";
import svgrPlugin from "vite-plugin-svgr";
+import viteTsconfigPaths from "vite-tsconfig-paths";
// https://vitejs.dev/config/
export default defineConfig({
server: {
- host: '0.0.0.0',
+ host: "0.0.0.0",
port: 3000,
},
plugins: [
react(),
viteTsconfigPaths(),
svgrPlugin(),
- importMetaEnv.vite({ example: ".env.production" })
+ importMetaEnv.vite({ example: ".env.production" }),
],
build: {
outDir: "build",
- }
+ },
});
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
deleted file mode 100644
index 5dacaeee..00000000
--- a/frontend/yarn.lock
+++ /dev/null
@@ -1,7486 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@aashutoshrathi/word-wrap@^1.2.3":
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
- integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
-
-"@ampproject/remapping@^2.2.0":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
- integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
- integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
- dependencies:
- "@babel/highlight" "^7.23.4"
- chalk "^2.4.2"
-
-"@babel/compat-data@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98"
- integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
-
-"@babel/core@^7.19.6", "@babel/core@^7.23.5":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4"
- integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==
- dependencies:
- "@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.6"
- "@babel/helper-compilation-targets" "^7.23.6"
- "@babel/helper-module-transforms" "^7.23.3"
- "@babel/helpers" "^7.23.6"
- "@babel/parser" "^7.23.6"
- "@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.6"
- "@babel/types" "^7.23.6"
- convert-source-map "^2.0.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.2.3"
- semver "^6.3.1"
-
-"@babel/generator@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e"
- integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==
- dependencies:
- "@babel/types" "^7.23.6"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
- jsesc "^2.5.1"
-
-"@babel/helper-compilation-targets@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991"
- integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
- dependencies:
- "@babel/compat-data" "^7.23.5"
- "@babel/helper-validator-option" "^7.23.5"
- browserslist "^4.22.2"
- lru-cache "^5.1.1"
- semver "^6.3.1"
-
-"@babel/helper-environment-visitor@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
- integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
-
-"@babel/helper-function-name@^7.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
- integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
- dependencies:
- "@babel/template" "^7.22.15"
- "@babel/types" "^7.23.0"
-
-"@babel/helper-hoist-variables@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
- integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
- integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
- dependencies:
- "@babel/types" "^7.22.15"
-
-"@babel/helper-module-transforms@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1"
- integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
- dependencies:
- "@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-plugin-utils@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
- integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
-
-"@babel/helper-simple-access@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
- integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-split-export-declaration@^7.22.6":
- version "7.22.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
- integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-string-parser@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
- integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
-
-"@babel/helper-validator-identifier@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
- integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-
-"@babel/helper-validator-option@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
- integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
-
-"@babel/helpers@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a"
- integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==
- dependencies:
- "@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.6"
- "@babel/types" "^7.23.6"
-
-"@babel/highlight@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
- integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
- dependencies:
- "@babel/helper-validator-identifier" "^7.22.20"
- chalk "^2.4.2"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b"
- integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==
-
-"@babel/plugin-transform-react-jsx-self@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9"
- integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-react-jsx-source@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e"
- integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d"
- integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==
- dependencies:
- regenerator-runtime "^0.14.0"
-
-"@babel/template@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
- integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
- dependencies:
- "@babel/code-frame" "^7.22.13"
- "@babel/parser" "^7.22.15"
- "@babel/types" "^7.22.15"
-
-"@babel/traverse@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5"
- integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==
- dependencies:
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.6"
- "@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.6"
- "@babel/types" "^7.23.6"
- debug "^4.3.1"
- globals "^11.1.0"
-
-"@babel/types@^7.0.0", "@babel/types@^7.20.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd"
- integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==
- dependencies:
- "@babel/helper-string-parser" "^7.23.4"
- "@babel/helper-validator-identifier" "^7.22.20"
- to-fast-properties "^2.0.0"
-
-"@choojs/findup@^0.2.0":
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/@choojs/findup/-/findup-0.2.1.tgz#ac13c59ae7be6e1da64de0779a0a7f03d75615a3"
- integrity sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==
- dependencies:
- commander "^2.15.1"
-
-"@cush/relative@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@cush/relative/-/relative-1.0.0.tgz#8cd1769bf9bde3bb27dac356b1bc94af40f6cc16"
- integrity sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==
-
-"@emotion/babel-plugin@^11.11.0":
- version "11.11.0"
- resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c"
- integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==
- dependencies:
- "@babel/helper-module-imports" "^7.16.7"
- "@babel/runtime" "^7.18.3"
- "@emotion/hash" "^0.9.1"
- "@emotion/memoize" "^0.8.1"
- "@emotion/serialize" "^1.1.2"
- babel-plugin-macros "^3.1.0"
- convert-source-map "^1.5.0"
- escape-string-regexp "^4.0.0"
- find-root "^1.1.0"
- source-map "^0.5.7"
- stylis "4.2.0"
-
-"@emotion/cache@^11.11.0":
- version "11.11.0"
- resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff"
- integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==
- dependencies:
- "@emotion/memoize" "^0.8.1"
- "@emotion/sheet" "^1.2.2"
- "@emotion/utils" "^1.2.1"
- "@emotion/weak-memoize" "^0.3.1"
- stylis "4.2.0"
-
-"@emotion/hash@^0.9.1":
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43"
- integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==
-
-"@emotion/is-prop-valid@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc"
- integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==
- dependencies:
- "@emotion/memoize" "^0.8.1"
-
-"@emotion/memoize@^0.8.1":
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17"
- integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==
-
-"@emotion/react@^11.11.1":
- version "11.11.1"
- resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157"
- integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==
- dependencies:
- "@babel/runtime" "^7.18.3"
- "@emotion/babel-plugin" "^11.11.0"
- "@emotion/cache" "^11.11.0"
- "@emotion/serialize" "^1.1.2"
- "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1"
- "@emotion/utils" "^1.2.1"
- "@emotion/weak-memoize" "^0.3.1"
- hoist-non-react-statics "^3.3.1"
-
-"@emotion/serialize@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.2.tgz#017a6e4c9b8a803bd576ff3d52a0ea6fa5a62b51"
- integrity sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==
- dependencies:
- "@emotion/hash" "^0.9.1"
- "@emotion/memoize" "^0.8.1"
- "@emotion/unitless" "^0.8.1"
- "@emotion/utils" "^1.2.1"
- csstype "^3.0.2"
-
-"@emotion/sheet@^1.2.2":
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec"
- integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==
-
-"@emotion/styled@^11.11.0":
- version "11.11.0"
- resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346"
- integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==
- dependencies:
- "@babel/runtime" "^7.18.3"
- "@emotion/babel-plugin" "^11.11.0"
- "@emotion/is-prop-valid" "^1.2.1"
- "@emotion/serialize" "^1.1.2"
- "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1"
- "@emotion/utils" "^1.2.1"
-
-"@emotion/unitless@^0.8.1":
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3"
- integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==
-
-"@emotion/use-insertion-effect-with-fallbacks@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963"
- integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==
-
-"@emotion/utils@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4"
- integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==
-
-"@emotion/weak-memoize@^0.3.1":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6"
- integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==
-
-"@esbuild/android-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
- integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
-
-"@esbuild/android-arm@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
- integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
-
-"@esbuild/android-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
- integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
-
-"@esbuild/darwin-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
- integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
-
-"@esbuild/darwin-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
- integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
-
-"@esbuild/freebsd-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
- integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
-
-"@esbuild/freebsd-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
- integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
-
-"@esbuild/linux-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
- integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
-
-"@esbuild/linux-arm@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
- integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
-
-"@esbuild/linux-ia32@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
- integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
-
-"@esbuild/linux-loong64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
- integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
-
-"@esbuild/linux-mips64el@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
- integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
-
-"@esbuild/linux-ppc64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
- integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
-
-"@esbuild/linux-riscv64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
- integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
-
-"@esbuild/linux-s390x@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
- integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
-
-"@esbuild/linux-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
- integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
-
-"@esbuild/netbsd-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
- integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
-
-"@esbuild/openbsd-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
- integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
-
-"@esbuild/sunos-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
- integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
-
-"@esbuild/win32-arm64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
- integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
-
-"@esbuild/win32-ia32@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
- integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
-
-"@esbuild/win32-x64@0.18.20":
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
- integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
-
-"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
- integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
- dependencies:
- eslint-visitor-keys "^3.3.0"
-
-"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1":
- version "4.10.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
- integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
-
-"@eslint/eslintrc@^2.1.4":
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad"
- integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
- dependencies:
- ajv "^6.12.4"
- debug "^4.3.2"
- espree "^9.6.0"
- globals "^13.19.0"
- ignore "^5.2.0"
- import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
- strip-json-comments "^3.1.1"
-
-"@eslint/js@8.55.0":
- version "8.55.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6"
- integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==
-
-"@floating-ui/core@^1.4.2":
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.2.tgz#53a0f7a98c550e63134d504f26804f6b83dbc071"
- integrity sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==
- dependencies:
- "@floating-ui/utils" "^0.1.3"
-
-"@floating-ui/dom@^1.5.1":
- version "1.5.3"
- resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.3.tgz#54e50efcb432c06c23cd33de2b575102005436fa"
- integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==
- dependencies:
- "@floating-ui/core" "^1.4.2"
- "@floating-ui/utils" "^0.1.3"
-
-"@floating-ui/react-dom@^2.0.4":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.4.tgz#b076fafbdfeb881e1d86ae748b7ff95150e9f3ec"
- integrity sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==
- dependencies:
- "@floating-ui/dom" "^1.5.1"
-
-"@floating-ui/utils@^0.1.3":
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.6.tgz#22958c042e10b67463997bd6ea7115fe28cbcaf9"
- integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==
-
-"@humanwhocodes/config-array@^0.11.13":
- version "0.11.13"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297"
- integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==
- dependencies:
- "@humanwhocodes/object-schema" "^2.0.1"
- debug "^4.1.1"
- minimatch "^3.0.5"
-
-"@humanwhocodes/module-importer@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
- integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
-
-"@humanwhocodes/object-schema@^2.0.1":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044"
- integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==
-
-"@iconify/react@^4.1.1":
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/@iconify/react/-/react-4.1.1.tgz#da1bf03cdca9427f07cf22cf5b63fa8f02db4722"
- integrity sha512-jed14EjvKjee8mc0eoscGxlg7mSQRkwQG3iX3cPBCO7UlOjz0DtlvTqxqEcHUJGh+z1VJ31Yhu5B9PxfO0zbdg==
- dependencies:
- "@iconify/types" "^2.0.0"
-
-"@iconify/types@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57"
- integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==
-
-"@import-meta-env/cli@^0.6.6":
- version "0.6.8"
- resolved "https://registry.yarnpkg.com/@import-meta-env/cli/-/cli-0.6.8.tgz#85e932ba53f85755aafb18a906525be834965593"
- integrity sha512-Lunsmlj02yVtI5drlhNwIUFAQ0wsIUYIrz0Nm5jbvmYvyEUsxC8Qotnf3gXTfvM9Yuutvuc2+dx4uXpa3DajTg==
- dependencies:
- commander "11.1.0"
- glob "10.3.10"
- picocolors "1.0.0"
- serialize-javascript "6.0.1"
-
-"@import-meta-env/unplugin@^0.4.10":
- version "0.4.10"
- resolved "https://registry.yarnpkg.com/@import-meta-env/unplugin/-/unplugin-0.4.10.tgz#f01e9ddd497b0ee9dad8d96921009705869eb812"
- integrity sha512-KA/JjnhHp2vrPA27J+IFj/XVDMJz7+jUmyukDAmMoF2uW5q8F3pJySrfl/vySLV1SVxa2b4zg2kuAe5CTIs+Bg==
- dependencies:
- magic-string "^0.30.0"
- object-hash "^3.0.0"
- picocolors "^1.0.0"
- unplugin "^1.5.0"
-
-"@isaacs/cliui@^8.0.2":
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
- integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
- dependencies:
- string-width "^5.1.2"
- string-width-cjs "npm:string-width@^4.2.0"
- strip-ansi "^7.0.1"
- strip-ansi-cjs "npm:strip-ansi@^6.0.1"
- wrap-ansi "^8.1.0"
- wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
-
-"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
- integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
- dependencies:
- "@jridgewell/set-array" "^1.0.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/resolve-uri@^3.1.0":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
- integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
-
-"@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
- version "1.4.15"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
- integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-
-"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.20"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f"
- integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
- dependencies:
- "@jridgewell/resolve-uri" "^3.1.0"
- "@jridgewell/sourcemap-codec" "^1.4.14"
-
-"@mapbox/geojson-rewind@^0.5.0":
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz#591a5d71a9cd1da1a0bf3420b3bea31b0fc7946a"
- integrity sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==
- dependencies:
- get-stream "^6.0.1"
- minimist "^1.2.6"
-
-"@mapbox/geojson-types@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz#9aecf642cb00eab1080a57c4f949a65b4a5846d6"
- integrity sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==
-
-"@mapbox/jsonlint-lines-primitives@^2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234"
- integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==
-
-"@mapbox/mapbox-gl-supported@^1.5.0":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz#f60b6a55a5d8e5ee908347d2ce4250b15103dc8e"
- integrity sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==
-
-"@mapbox/node-pre-gyp@^1.0.0":
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa"
- integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==
- dependencies:
- detect-libc "^2.0.0"
- https-proxy-agent "^5.0.0"
- make-dir "^3.1.0"
- node-fetch "^2.6.7"
- nopt "^5.0.0"
- npmlog "^5.0.1"
- rimraf "^3.0.2"
- semver "^7.3.5"
- tar "^6.1.11"
-
-"@mapbox/point-geometry@0.1.0", "@mapbox/point-geometry@^0.1.0", "@mapbox/point-geometry@~0.1.0":
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz#8a83f9335c7860effa2eeeca254332aa0aeed8f2"
- integrity sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==
-
-"@mapbox/tiny-sdf@^1.1.1":
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz#424c620a96442b20402552be70a7f62a8407cc59"
- integrity sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==
-
-"@mapbox/unitbezier@^0.0.0":
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz#15651bd553a67b8581fb398810c98ad86a34524e"
- integrity sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==
-
-"@mapbox/vector-tile@^1.3.1":
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz#d3a74c90402d06e89ec66de49ec817ff53409666"
- integrity sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==
- dependencies:
- "@mapbox/point-geometry" "~0.1.0"
-
-"@mapbox/whoots-js@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz#497c67a1cef50d1a2459ba60f315e448d2ad87fe"
- integrity sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==
-
-"@mui/base@5.0.0-beta.27", "@mui/base@^5.0.0-beta.22":
- version "5.0.0-beta.27"
- resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.27.tgz#21a9c7d954a5f88f6706dfee630154c651ee73af"
- integrity sha512-duL37qxihT1N0pW/gyXVezP7SttLkF+cLAs/y6g6ubEFmVadjbnZ45SeF12/vAiKzqwf5M0uFH1cczIPXFZygA==
- dependencies:
- "@babel/runtime" "^7.23.5"
- "@floating-ui/react-dom" "^2.0.4"
- "@mui/types" "^7.2.11"
- "@mui/utils" "^5.15.0"
- "@popperjs/core" "^2.11.8"
- clsx "^2.0.0"
- prop-types "^15.8.1"
-
-"@mui/core-downloads-tracker@^5.15.0":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.0.tgz#6b45d5bff38f305402d24d3bf86075b56c578909"
- integrity sha512-NpGtlHwuyLfJtdrlERXb8qRqd279O0VnuGaZAor1ehdNhUJOD1bSxHDeXKZkbqNpvi50hasFj7lsbTpluworTQ==
-
-"@mui/icons-material@^5.11.0":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.0.tgz#fdc93611ca77ce3b79128be02fb6c1ae79b972b8"
- integrity sha512-zHY6fOkaK7VfhWeyxO8MjO3IAjEYpYMXuqUhX7TkUZJ9+TSH/9dn4ClG4K2j6hdgBU5Yrq2Z/89Bo6BHHp7AdQ==
- dependencies:
- "@babel/runtime" "^7.23.5"
-
-"@mui/lab@^5.0.0-alpha.155":
- version "5.0.0-alpha.156"
- resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.156.tgz#9fee3a408ded367ab4fe84275789155b65dee7e7"
- integrity sha512-OUAckFeqlAG6aIBG1Ud1fDCBqnU1wltWZYHsA7YCGzRBykNzQC/W/dYddp+RJLu0BgYpMiXwPXq2Hg0ERVtaog==
- dependencies:
- "@babel/runtime" "^7.23.5"
- "@mui/base" "5.0.0-beta.27"
- "@mui/system" "^5.15.0"
- "@mui/types" "^7.2.11"
- "@mui/utils" "^5.15.0"
- clsx "^2.0.0"
- prop-types "^15.8.1"
-
-"@mui/material@^5.14.20":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.0.tgz#f801cf56d505cc52dca225438360ab9c62057285"
- integrity sha512-60CDI/hQNwJv9a3vEZtFG7zz0USdQhVwpBd3fZqrzhuXSdiMdYMaZcCXeX/KMuNq0ZxQEAZd74Pv+gOb408QVA==
- dependencies:
- "@babel/runtime" "^7.23.5"
- "@mui/base" "5.0.0-beta.27"
- "@mui/core-downloads-tracker" "^5.15.0"
- "@mui/system" "^5.15.0"
- "@mui/types" "^7.2.11"
- "@mui/utils" "^5.15.0"
- "@types/react-transition-group" "^4.4.9"
- clsx "^2.0.0"
- csstype "^3.1.2"
- prop-types "^15.8.1"
- react-is "^18.2.0"
- react-transition-group "^4.4.5"
-
-"@mui/private-theming@^5.15.0":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.0.tgz#96de66ce097ba417e1b6b769cd67cbf516bd8876"
- integrity sha512-7WxtIhXxNek0JjtsYy+ut2LtFSLpsUW5JSDehQO+jF7itJ8ehy7Bd9bSt2yIllbwGjCFowLfYpPk2Ykgvqm1tA==
- dependencies:
- "@babel/runtime" "^7.23.5"
- "@mui/utils" "^5.15.0"
- prop-types "^15.8.1"
-
-"@mui/styled-engine@^5.15.0":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.0.tgz#44e068dbb855699053b9e6e4e6d3ed5efe98b7d9"
- integrity sha512-6NysIsHkuUS2lF+Lzv1jiK3UjBJk854/vKVcJQVGKlPiqNEVZJNlwaSpsaU5xYXxWEZYfbVFSAomLOS/LV/ovQ==
- dependencies:
- "@babel/runtime" "^7.23.5"
- "@emotion/cache" "^11.11.0"
- csstype "^3.1.2"
- prop-types "^15.8.1"
-
-"@mui/system@^5.15.0":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.0.tgz#d4f6fd65ad8e404d4d7c7b56d755d2a63b0edddb"
- integrity sha512-8TPjfTlYBNB7/zBJRL4QOD9kImwdZObbiYNh0+hxvhXr2koezGx8USwPXj8y/JynbzGCkIybkUztCdWlMZe6OQ==
- dependencies:
- "@babel/runtime" "^7.23.5"
- "@mui/private-theming" "^5.15.0"
- "@mui/styled-engine" "^5.15.0"
- "@mui/types" "^7.2.11"
- "@mui/utils" "^5.15.0"
- clsx "^2.0.0"
- csstype "^3.1.2"
- prop-types "^15.8.1"
-
-"@mui/types@^7.2.11":
- version "7.2.11"
- resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.11.tgz#36b99a88f8010dc716128e568dc05681a69dc7ae"
- integrity sha512-KWe/QTEsFFlFSH+qRYf3zoFEj3z67s+qAuSnMMg+gFwbxG7P96Hm6g300inQL1Wy///gSRb8juX7Wafvp93m3w==
-
-"@mui/utils@^5.14.16", "@mui/utils@^5.15.0":
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.0.tgz#87b4db92dd2ddf3e2676377427f50662124013b4"
- integrity sha512-XSmTKStpKYamewxyJ256+srwEnsT3/6eNo6G7+WC1tj2Iq9GfUJ/6yUoB7YXjOD2jTZ3XobToZm4pVz1LBt6GA==
- dependencies:
- "@babel/runtime" "^7.23.5"
- "@types/prop-types" "^15.7.11"
- prop-types "^15.8.1"
- react-is "^18.2.0"
-
-"@mui/x-data-grid@^6.15.0":
- version "6.18.5"
- resolved "https://registry.yarnpkg.com/@mui/x-data-grid/-/x-data-grid-6.18.5.tgz#b8d866cb9eebb379148b90f4acea7b4095573ae7"
- integrity sha512-EEVJfQGXNmfLMVgj30ZpUSwx9Q8CZ/qGAYzLoARpLFOvrkGtbG8q5t4/WClkQ8MoDi7kO7TWOQ0AZz1C9/sh5g==
- dependencies:
- "@babel/runtime" "^7.23.2"
- "@mui/utils" "^5.14.16"
- clsx "^2.0.0"
- prop-types "^15.8.1"
- reselect "^4.1.8"
-
-"@mui/x-date-pickers@^6.5.0":
- version "6.18.5"
- resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-6.18.5.tgz#a2a70ce2926f0acb8ee414b546ba1f7daf399c21"
- integrity sha512-3jImYIWP2Xgi608yzm/Sz1v0MTjQQYdZSQOEIi3dWBfSAU9B06KXDpqlXfRSpTV+rtsnfYIIyiWlz6Ltk7sUWw==
- dependencies:
- "@babel/runtime" "^7.23.2"
- "@mui/base" "^5.0.0-beta.22"
- "@mui/utils" "^5.14.16"
- "@types/react-transition-group" "^4.4.8"
- clsx "^2.0.0"
- prop-types "^15.8.1"
- react-transition-group "^4.4.5"
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
-
-"@pkgjs/parseargs@^0.11.0":
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
- integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
-
-"@pkgr/utils@^2.4.2":
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc"
- integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==
- dependencies:
- cross-spawn "^7.0.3"
- fast-glob "^3.3.0"
- is-glob "^4.0.3"
- open "^9.1.0"
- picocolors "^1.0.0"
- tslib "^2.6.0"
-
-"@plotly/d3-sankey-circular@0.33.1":
- version "0.33.1"
- resolved "https://registry.yarnpkg.com/@plotly/d3-sankey-circular/-/d3-sankey-circular-0.33.1.tgz#15d1e0337e0e4b1135bdf0e2195c88adacace1a7"
- integrity sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==
- dependencies:
- d3-array "^1.2.1"
- d3-collection "^1.0.4"
- d3-shape "^1.2.0"
- elementary-circuits-directed-graph "^1.0.4"
-
-"@plotly/d3-sankey@0.7.2":
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz#ddd5290d3b02c60037ced018a162644a2ccef33b"
- integrity sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==
- dependencies:
- d3-array "1"
- d3-collection "1"
- d3-shape "^1.2.0"
-
-"@plotly/d3@3.8.1":
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/@plotly/d3/-/d3-3.8.1.tgz#674bf19809ffcc359e0ab388a1051f2dac5e6877"
- integrity sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==
-
-"@plotly/point-cluster@^3.1.9":
- version "3.1.9"
- resolved "https://registry.yarnpkg.com/@plotly/point-cluster/-/point-cluster-3.1.9.tgz#8ffec77fbf5041bf15401079e4fdf298220291c1"
- integrity sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==
- dependencies:
- array-bounds "^1.0.1"
- binary-search-bounds "^2.0.4"
- clamp "^1.0.1"
- defined "^1.0.0"
- dtype "^2.0.0"
- flatten-vertex-data "^1.0.2"
- is-obj "^1.0.1"
- math-log2 "^1.0.1"
- parse-rect "^1.2.0"
- pick-by-alias "^1.2.0"
-
-"@popperjs/core@^2.11.8":
- version "2.11.8"
- resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
- integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
-
-"@reactflow/background@11.3.6":
- version "11.3.6"
- resolved "https://registry.yarnpkg.com/@reactflow/background/-/background-11.3.6.tgz#10f51a8915903cf5cf4a447963e5a01831498f79"
- integrity sha512-06FPlSUOOMALEEs+2PqPAbpqmL7WDjrkbG2UsDr2d6mbcDDhHiV4tu9FYoz44SQvXo7ma9VRotlsaR4OiRcYsg==
- dependencies:
- "@reactflow/core" "11.10.1"
- classcat "^5.0.3"
- zustand "^4.4.1"
-
-"@reactflow/controls@11.2.6":
- version "11.2.6"
- resolved "https://registry.yarnpkg.com/@reactflow/controls/-/controls-11.2.6.tgz#20ef4f14550b43cceec39350132dbdd3f849bb6c"
- integrity sha512-4QHT92/ACVlZkvV+Hq44bAPV8WbMhkJl+/J0EbXcqQ1+an7cWJsF84eeelJw7R5J76RoaSSpKdsWsL2v7HAVlw==
- dependencies:
- "@reactflow/core" "11.10.1"
- classcat "^5.0.3"
- zustand "^4.4.1"
-
-"@reactflow/core@11.10.1":
- version "11.10.1"
- resolved "https://registry.yarnpkg.com/@reactflow/core/-/core-11.10.1.tgz#c2b46cb166a883562d2f751e1d3e9f867a7b0424"
- integrity sha512-GIh3usY1W3eVobx//OO9+Cwm+5evQBBdPGxDaeXwm25UqPMWRI240nXQA5F/5gL5Mwpf0DUC7DR2EmrKNQy+Rw==
- dependencies:
- "@types/d3" "^7.4.0"
- "@types/d3-drag" "^3.0.1"
- "@types/d3-selection" "^3.0.3"
- "@types/d3-zoom" "^3.0.1"
- classcat "^5.0.3"
- d3-drag "^3.0.0"
- d3-selection "^3.0.0"
- d3-zoom "^3.0.0"
- zustand "^4.4.1"
-
-"@reactflow/minimap@11.7.6":
- version "11.7.6"
- resolved "https://registry.yarnpkg.com/@reactflow/minimap/-/minimap-11.7.6.tgz#99c6dc511252e0dd2afa8db62f1594a6d30da935"
- integrity sha512-kJEtyeQkTZYViLGebVWHVUJROMAGcvejvT+iX4DqKnFb5yK8E8LWlXQpRx2FrL9gDy80mJJaciy7IxnnQKE1bg==
- dependencies:
- "@reactflow/core" "11.10.1"
- "@types/d3-selection" "^3.0.3"
- "@types/d3-zoom" "^3.0.1"
- classcat "^5.0.3"
- d3-selection "^3.0.0"
- d3-zoom "^3.0.0"
- zustand "^4.4.1"
-
-"@reactflow/node-resizer@2.2.6":
- version "2.2.6"
- resolved "https://registry.yarnpkg.com/@reactflow/node-resizer/-/node-resizer-2.2.6.tgz#7cc23c2774980a76e488621453076e9a35b7e37a"
- integrity sha512-1Xb6q97uP7hRBLpog9sRCNfnsHdDgFRGEiU+lQqGgPEAeYwl4nRjWa/sXwH6ajniKxBhGEvrdzOgEFn6CRMcpQ==
- dependencies:
- "@reactflow/core" "11.10.1"
- classcat "^5.0.4"
- d3-drag "^3.0.0"
- d3-selection "^3.0.0"
- zustand "^4.4.1"
-
-"@reactflow/node-toolbar@1.3.6":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@reactflow/node-toolbar/-/node-toolbar-1.3.6.tgz#ec9f5cb89575d58c2f1a5b610022159d2fcf6dfe"
- integrity sha512-JXDEuZ0wKjZ8z7qK2bIst0eZPzNyVEsiHL0e93EyuqT4fA9icoyE0fLq2ryNOOp7MXgId1h7LusnH6ta45F0yQ==
- dependencies:
- "@reactflow/core" "11.10.1"
- classcat "^5.0.3"
- zustand "^4.4.1"
-
-"@remix-run/router@1.14.0":
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.14.0.tgz#9bc39a5a3a71b81bdb310eba6def5bc3966695b7"
- integrity sha512-WOHih+ClN7N8oHk9N4JUiMxQJmRVaOxcg8w7F/oHUXzJt920ekASLI/7cYX8XkntDWRhLZtsk6LbGrkgOAvi5A==
-
-"@rollup/pluginutils@^5.0.2":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0"
- integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==
- dependencies:
- "@types/estree" "^1.0.0"
- estree-walker "^2.0.2"
- picomatch "^2.3.1"
-
-"@svgr/babel-plugin-add-jsx-attribute@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba"
- integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==
-
-"@svgr/babel-plugin-remove-jsx-attribute@*":
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186"
- integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==
-
-"@svgr/babel-plugin-remove-jsx-empty-expression@*":
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44"
- integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==
-
-"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60"
- integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==
-
-"@svgr/babel-plugin-svg-dynamic-title@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4"
- integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==
-
-"@svgr/babel-plugin-svg-em-dimensions@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217"
- integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==
-
-"@svgr/babel-plugin-transform-react-native-svg@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305"
- integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==
-
-"@svgr/babel-plugin-transform-svg-component@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250"
- integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==
-
-"@svgr/babel-preset@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828"
- integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==
- dependencies:
- "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1"
- "@svgr/babel-plugin-remove-jsx-attribute" "*"
- "@svgr/babel-plugin-remove-jsx-empty-expression" "*"
- "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1"
- "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1"
- "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1"
- "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1"
- "@svgr/babel-plugin-transform-svg-component" "^6.5.1"
-
-"@svgr/core@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a"
- integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==
- dependencies:
- "@babel/core" "^7.19.6"
- "@svgr/babel-preset" "^6.5.1"
- "@svgr/plugin-jsx" "^6.5.1"
- camelcase "^6.2.0"
- cosmiconfig "^7.0.1"
-
-"@svgr/hast-util-to-babel-ast@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2"
- integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==
- dependencies:
- "@babel/types" "^7.20.0"
- entities "^4.4.0"
-
-"@svgr/plugin-jsx@^6.5.1":
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072"
- integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==
- dependencies:
- "@babel/core" "^7.19.6"
- "@svgr/babel-preset" "^6.5.1"
- "@svgr/hast-util-to-babel-ast" "^6.5.1"
- svg-parser "^2.0.4"
-
-"@turf/area@^6.4.0":
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/@turf/area/-/area-6.5.0.tgz#1d0d7aee01d8a4a3d4c91663ed35cc615f36ad56"
- integrity sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==
- dependencies:
- "@turf/helpers" "^6.5.0"
- "@turf/meta" "^6.5.0"
-
-"@turf/bbox@^6.4.0":
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-6.5.0.tgz#bec30a744019eae420dac9ea46fb75caa44d8dc5"
- integrity sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==
- dependencies:
- "@turf/helpers" "^6.5.0"
- "@turf/meta" "^6.5.0"
-
-"@turf/centroid@^6.0.2":
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/@turf/centroid/-/centroid-6.5.0.tgz#ecaa365412e5a4d595bb448e7dcdacfb49eb0009"
- integrity sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==
- dependencies:
- "@turf/helpers" "^6.5.0"
- "@turf/meta" "^6.5.0"
-
-"@turf/helpers@^6.5.0":
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.5.0.tgz#f79af094bd6b8ce7ed2bd3e089a8493ee6cae82e"
- integrity sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==
-
-"@turf/meta@^6.5.0":
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-6.5.0.tgz#b725c3653c9f432133eaa04d3421f7e51e0418ca"
- integrity sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==
- dependencies:
- "@turf/helpers" "^6.5.0"
-
-"@types/babel__core@^7.20.5":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
- integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
- dependencies:
- "@babel/parser" "^7.20.7"
- "@babel/types" "^7.20.7"
- "@types/babel__generator" "*"
- "@types/babel__template" "*"
- "@types/babel__traverse" "*"
-
-"@types/babel__generator@*":
- version "7.6.7"
- resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.7.tgz#a7aebf15c7bc0eb9abd638bdb5c0b8700399c9d0"
- integrity sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@types/babel__template@*":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f"
- integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
- dependencies:
- "@babel/parser" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@types/babel__traverse@*":
- version "7.20.4"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b"
- integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==
- dependencies:
- "@babel/types" "^7.20.7"
-
-"@types/d3-array@*":
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.1.tgz#1f6658e3d2006c4fceac53fde464166859f8b8c5"
- integrity sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==
-
-"@types/d3-axis@*":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-3.0.6.tgz#e760e5765b8188b1defa32bc8bb6062f81e4c795"
- integrity sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==
- dependencies:
- "@types/d3-selection" "*"
-
-"@types/d3-brush@*":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-3.0.6.tgz#c2f4362b045d472e1b186cdbec329ba52bdaee6c"
- integrity sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==
- dependencies:
- "@types/d3-selection" "*"
-
-"@types/d3-chord@*":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-3.0.6.tgz#1706ca40cf7ea59a0add8f4456efff8f8775793d"
- integrity sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==
-
-"@types/d3-color@*":
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2"
- integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==
-
-"@types/d3-contour@*":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@types/d3-contour/-/d3-contour-3.0.6.tgz#9ada3fa9c4d00e3a5093fed0356c7ab929604231"
- integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==
- dependencies:
- "@types/d3-array" "*"
- "@types/geojson" "*"
-
-"@types/d3-delaunay@*":
- version "6.0.4"
- resolved "https://registry.yarnpkg.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz#185c1a80cc807fdda2a3fe960f7c11c4a27952e1"
- integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==
-
-"@types/d3-dispatch@*":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz#096efdf55eb97480e3f5621ff9a8da552f0961e7"
- integrity sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==
-
-"@types/d3-drag@*", "@types/d3-drag@^3.0.1":
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-3.0.7.tgz#b13aba8b2442b4068c9a9e6d1d82f8bcea77fc02"
- integrity sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==
- dependencies:
- "@types/d3-selection" "*"
-
-"@types/d3-dsv@*":
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz#0a351f996dc99b37f4fa58b492c2d1c04e3dac17"
- integrity sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==
-
-"@types/d3-ease@*":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.2.tgz#e28db1bfbfa617076f7770dd1d9a48eaa3b6c51b"
- integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==
-
-"@types/d3-fetch@*":
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz#c04a2b4f23181aa376f30af0283dbc7b3b569980"
- integrity sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==
- dependencies:
- "@types/d3-dsv" "*"
-
-"@types/d3-force@*":
- version "3.0.9"
- resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.9.tgz#dd96ccefba4386fe4ff36b8e4ee4e120c21fcf29"
- integrity sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==
-
-"@types/d3-format@*":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-3.0.4.tgz#b1e4465644ddb3fdf3a263febb240a6cd616de90"
- integrity sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==
-
-"@types/d3-geo@*":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-3.1.0.tgz#b9e56a079449174f0a2c8684a9a4df3f60522440"
- integrity sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==
- dependencies:
- "@types/geojson" "*"
-
-"@types/d3-hierarchy@*":
- version "3.1.6"
- resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.6.tgz#8d3638df273ec90da34b3ac89d8784c59708cb0d"
- integrity sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==
-
-"@types/d3-interpolate@*":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c"
- integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==
- dependencies:
- "@types/d3-color" "*"
-
-"@types/d3-path@*":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.0.2.tgz#4327f4a05d475cf9be46a93fc2e0f8d23380805a"
- integrity sha512-WAIEVlOCdd/NKRYTsqCpOMHQHemKBEINf8YXMYOtXH0GA7SY0dqMB78P3Uhgfy+4X+/Mlw2wDtlETkN6kQUCMA==
-
-"@types/d3-polygon@*":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz#dfae54a6d35d19e76ac9565bcb32a8e54693189c"
- integrity sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==
-
-"@types/d3-quadtree@*":
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz#d4740b0fe35b1c58b66e1488f4e7ed02952f570f"
- integrity sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==
-
-"@types/d3-random@*":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-3.0.3.tgz#ed995c71ecb15e0cd31e22d9d5d23942e3300cfb"
- integrity sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==
-
-"@types/d3-scale-chromatic@*":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz#fc0db9c10e789c351f4c42d96f31f2e4df8f5644"
- integrity sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==
-
-"@types/d3-scale@*":
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.8.tgz#d409b5f9dcf63074464bf8ddfb8ee5a1f95945bb"
- integrity sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==
- dependencies:
- "@types/d3-time" "*"
-
-"@types/d3-selection@*", "@types/d3-selection@^3.0.3":
- version "3.0.10"
- resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-3.0.10.tgz#98cdcf986d0986de6912b5892e7c015a95ca27fe"
- integrity sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==
-
-"@types/d3-shape@*":
- version "3.1.6"
- resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.1.6.tgz#65d40d5a548f0a023821773e39012805e6e31a72"
- integrity sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==
- dependencies:
- "@types/d3-path" "*"
-
-"@types/d3-time-format@*":
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz#d6bc1e6b6a7db69cccfbbdd4c34b70632d9e9db2"
- integrity sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==
-
-"@types/d3-time@*":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.3.tgz#3c186bbd9d12b9d84253b6be6487ca56b54f88be"
- integrity sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==
-
-"@types/d3-timer@*":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.2.tgz#70bbda77dc23aa727413e22e214afa3f0e852f70"
- integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==
-
-"@types/d3-transition@*":
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-3.0.8.tgz#677707f5eed5b24c66a1918cde05963021351a8f"
- integrity sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==
- dependencies:
- "@types/d3-selection" "*"
-
-"@types/d3-zoom@*", "@types/d3-zoom@^3.0.1":
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-3.0.8.tgz#dccb32d1c56b1e1c6e0f1180d994896f038bc40b"
- integrity sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==
- dependencies:
- "@types/d3-interpolate" "*"
- "@types/d3-selection" "*"
-
-"@types/d3@^7.4.0":
- version "7.4.3"
- resolved "https://registry.yarnpkg.com/@types/d3/-/d3-7.4.3.tgz#d4550a85d08f4978faf0a4c36b848c61eaac07e2"
- integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==
- dependencies:
- "@types/d3-array" "*"
- "@types/d3-axis" "*"
- "@types/d3-brush" "*"
- "@types/d3-chord" "*"
- "@types/d3-color" "*"
- "@types/d3-contour" "*"
- "@types/d3-delaunay" "*"
- "@types/d3-dispatch" "*"
- "@types/d3-drag" "*"
- "@types/d3-dsv" "*"
- "@types/d3-ease" "*"
- "@types/d3-fetch" "*"
- "@types/d3-force" "*"
- "@types/d3-format" "*"
- "@types/d3-geo" "*"
- "@types/d3-hierarchy" "*"
- "@types/d3-interpolate" "*"
- "@types/d3-path" "*"
- "@types/d3-polygon" "*"
- "@types/d3-quadtree" "*"
- "@types/d3-random" "*"
- "@types/d3-scale" "*"
- "@types/d3-scale-chromatic" "*"
- "@types/d3-selection" "*"
- "@types/d3-shape" "*"
- "@types/d3-time" "*"
- "@types/d3-time-format" "*"
- "@types/d3-timer" "*"
- "@types/d3-transition" "*"
- "@types/d3-zoom" "*"
-
-"@types/debug@^4.0.0":
- version "4.1.12"
- resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917"
- integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==
- dependencies:
- "@types/ms" "*"
-
-"@types/dompurify@^3.0.5":
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/@types/dompurify/-/dompurify-3.0.5.tgz#02069a2fcb89a163bacf1a788f73cb415dd75cb7"
- integrity sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==
- dependencies:
- "@types/trusted-types" "*"
-
-"@types/estree-jsx@^1.0.0":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.3.tgz#f8aa833ec986d82b8271a294a92ed1565bf2c66a"
- integrity sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==
- dependencies:
- "@types/estree" "*"
-
-"@types/estree@*", "@types/estree@^1.0.0":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
- integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
-
-"@types/geojson@*":
- version "7946.0.13"
- resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.13.tgz#e6e77ea9ecf36564980a861e24e62a095988775e"
- integrity sha512-bmrNrgKMOhM3WsafmbGmC+6dsF2Z308vLFsQ3a/bT8X8Sv5clVYpPars/UPq+sAaJP+5OoLAYgwbkS5QEJdLUQ==
-
-"@types/hast@^2.0.0":
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.8.tgz#4ac5caf38b262b7bd5ca3202dda71f0271635660"
- integrity sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ==
- dependencies:
- "@types/unist" "^2"
-
-"@types/hast@^3.0.0":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.3.tgz#7f75e6b43bc3f90316046a287d9ad3888309f7e1"
- integrity sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==
- dependencies:
- "@types/unist" "*"
-
-"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.9":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
- integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-
-"@types/json5@^0.0.29":
- version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
- integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
-
-"@types/mdast@^4.0.0":
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.3.tgz#1e011ff013566e919a4232d1701ad30d70cab333"
- integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==
- dependencies:
- "@types/unist" "*"
-
-"@types/ms@*":
- version "0.7.34"
- resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433"
- integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==
-
-"@types/parse-json@^4.0.0":
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239"
- integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
-
-"@types/parse5@^6.0.0":
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb"
- integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==
-
-"@types/plotly.js@*":
- version "2.12.31"
- resolved "https://registry.yarnpkg.com/@types/plotly.js/-/plotly.js-2.12.31.tgz#fb4651bdd819baf746bd0a793dd4de35e30d0ccd"
- integrity sha512-FmzZQquzgTnQnywzyg7zlTTD4UFOroJ6/ac2KAueLCMQF7c+dwjZxgRohHB7Qzz0dZpFgic0VSkC2re7j6oluQ==
-
-"@types/prismjs@^1.0.0":
- version "1.26.3"
- resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.3.tgz#47fe8e784c2dee24fe636cab82e090d3da9b7dec"
- integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==
-
-"@types/prop-types@*", "@types/prop-types@^15.7.11":
- version "15.7.11"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563"
- integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==
-
-"@types/react-dom@^18.0.9":
- version "18.2.17"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.17.tgz#375c55fab4ae671bd98448dcfa153268d01d6f64"
- integrity sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==
- dependencies:
- "@types/react" "*"
-
-"@types/react-plotly.js@^2.6.3":
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/@types/react-plotly.js/-/react-plotly.js-2.6.3.tgz#49829a5c4f011345d09f6cab692f7ddbf558cbfb"
- integrity sha512-HBQwyGuu/dGXDsWhnQrhH+xcJSsHvjkwfSRjP+YpOsCCWryIuXF78ZCBjpfgO3sCc0Jo8sYp4NOGtqT7Cn3epQ==
- dependencies:
- "@types/plotly.js" "*"
- "@types/react" "*"
-
-"@types/react-transition-group@^4.4.8", "@types/react-transition-group@^4.4.9":
- version "4.4.10"
- resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac"
- integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==
- dependencies:
- "@types/react" "*"
-
-"@types/react@*", "@types/react@>=18":
- version "18.2.45"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c"
- integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/scheduler@*":
- version "0.16.8"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff"
- integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==
-
-"@types/semver@^7.3.12", "@types/semver@^7.5.0":
- version "7.5.6"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339"
- integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
-
-"@types/trusted-types@*":
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11"
- integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
-
-"@types/unist@*", "@types/unist@^3.0.0":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20"
- integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==
-
-"@types/unist@^2", "@types/unist@^2.0.0":
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc"
- integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==
-
-"@types/uuid@^9.0.0":
- version "9.0.7"
- resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8"
- integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==
-
-"@typescript-eslint/eslint-plugin@^6.4.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz#fc1ab5f23618ba590c87e8226ff07a760be3dd7b"
- integrity sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==
- dependencies:
- "@eslint-community/regexpp" "^4.5.1"
- "@typescript-eslint/scope-manager" "6.14.0"
- "@typescript-eslint/type-utils" "6.14.0"
- "@typescript-eslint/utils" "6.14.0"
- "@typescript-eslint/visitor-keys" "6.14.0"
- debug "^4.3.4"
- graphemer "^1.4.0"
- ignore "^5.2.4"
- natural-compare "^1.4.0"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
-
-"@typescript-eslint/parser@^6.4.0", "@typescript-eslint/parser@^6.5.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.14.0.tgz#a2d6a732e0d2b95c73f6a26ae7362877cc1b4212"
- integrity sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==
- dependencies:
- "@typescript-eslint/scope-manager" "6.14.0"
- "@typescript-eslint/types" "6.14.0"
- "@typescript-eslint/typescript-estree" "6.14.0"
- "@typescript-eslint/visitor-keys" "6.14.0"
- debug "^4.3.4"
-
-"@typescript-eslint/scope-manager@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c"
- integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
- dependencies:
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/visitor-keys" "5.62.0"
-
-"@typescript-eslint/scope-manager@6.14.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz#53d24363fdb5ee0d1d8cda4ed5e5321272ab3d48"
- integrity sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==
- dependencies:
- "@typescript-eslint/types" "6.14.0"
- "@typescript-eslint/visitor-keys" "6.14.0"
-
-"@typescript-eslint/type-utils@6.14.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz#ac9cb5ba0615c837f1a6b172feeb273d36e4f8af"
- integrity sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==
- dependencies:
- "@typescript-eslint/typescript-estree" "6.14.0"
- "@typescript-eslint/utils" "6.14.0"
- debug "^4.3.4"
- ts-api-utils "^1.0.1"
-
-"@typescript-eslint/types@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
- integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
-
-"@typescript-eslint/types@6.14.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.14.0.tgz#935307f7a931016b7a5eb25d494ea3e1f613e929"
- integrity sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==
-
-"@typescript-eslint/typescript-estree@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
- integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
- 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.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/typescript-estree@6.14.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz#90c7ddd45cd22139adf3d4577580d04c9189ac13"
- integrity sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==
- dependencies:
- "@typescript-eslint/types" "6.14.0"
- "@typescript-eslint/visitor-keys" "6.14.0"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
-
-"@typescript-eslint/utils@6.14.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.14.0.tgz#856a9e274367d99ffbd39c48128b93a86c4261e3"
- integrity sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==
- dependencies:
- "@eslint-community/eslint-utils" "^4.4.0"
- "@types/json-schema" "^7.0.12"
- "@types/semver" "^7.5.0"
- "@typescript-eslint/scope-manager" "6.14.0"
- "@typescript-eslint/types" "6.14.0"
- "@typescript-eslint/typescript-estree" "6.14.0"
- semver "^7.5.4"
-
-"@typescript-eslint/utils@^5.58.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86"
- integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==
- dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@types/json-schema" "^7.0.9"
- "@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.62.0"
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/typescript-estree" "5.62.0"
- eslint-scope "^5.1.1"
- semver "^7.3.7"
-
-"@typescript-eslint/visitor-keys@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
- integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
- dependencies:
- "@typescript-eslint/types" "5.62.0"
- eslint-visitor-keys "^3.3.0"
-
-"@typescript-eslint/visitor-keys@6.14.0":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz#1d1d486581819287de824a56c22f32543561138e"
- integrity sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==
- dependencies:
- "@typescript-eslint/types" "6.14.0"
- eslint-visitor-keys "^3.4.1"
-
-"@uiw/react-textarea-code-editor@^2.1.1":
- version "2.1.9"
- resolved "https://registry.yarnpkg.com/@uiw/react-textarea-code-editor/-/react-textarea-code-editor-2.1.9.tgz#228305a2ed5029eb2cafc82589f3fa186cc85693"
- integrity sha512-fby8oencLyF1BMAMDVIe4zErb01Qf97G25vJld6mJmgFAbK5TwFW0XUvkxAuNKaLp+EccKf5pejCVHcS/jZ3eA==
- dependencies:
- "@babel/runtime" "^7.18.6"
- rehype "~12.0.1"
- rehype-prism-plus "1.6.3"
-
-"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
- integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
-
-"@vitejs/plugin-react@^4.1.0":
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz#744d8e4fcb120fc3dbaa471dadd3483f5a304bb9"
- integrity sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==
- dependencies:
- "@babel/core" "^7.23.5"
- "@babel/plugin-transform-react-jsx-self" "^7.23.3"
- "@babel/plugin-transform-react-jsx-source" "^7.23.3"
- "@types/babel__core" "^7.20.5"
- react-refresh "^0.14.0"
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
- integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-
-abs-svg-path@^0.1.1, abs-svg-path@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/abs-svg-path/-/abs-svg-path-0.1.1.tgz#df601c8e8d2ba10d4a76d625e236a9a39c2723bf"
- integrity sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==
-
-acorn-jsx@^5.3.2:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
- integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-
-acorn@^7.1.1:
- version "7.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
- integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-
-acorn@^8.11.2, acorn@^8.9.0:
- version "8.11.2"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
- integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
-
-agent-base@6:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
- integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
- dependencies:
- debug "4"
-
-ajv@^6.12.4:
- version "6.12.6"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-almost-equal@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/almost-equal/-/almost-equal-1.1.0.tgz#f851c631138757994276aa2efbe8dfa3066cccdd"
- integrity sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==
-
-ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-
-ansi-regex@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
- integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
-
-ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-ansi-styles@^6.1.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
- integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
-
-any-promise@^1.0.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
- integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
-
-anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-"aproba@^1.0.3 || ^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
- integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
-
-are-we-there-yet@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c"
- integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^3.6.0"
-
-argparse@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
- integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-
-array-bounds@^1.0.0, array-bounds@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/array-bounds/-/array-bounds-1.0.1.tgz#da11356b4e18e075a4f0c86e1f179a67b7d7ea31"
- integrity sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==
-
-array-buffer-byte-length@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
- integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
- dependencies:
- call-bind "^1.0.2"
- is-array-buffer "^3.0.1"
-
-array-find-index@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
- integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==
-
-array-includes@^3.1.6, array-includes@^3.1.7:
- version "3.1.7"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda"
- integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
- is-string "^1.0.7"
-
-array-normalize@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/array-normalize/-/array-normalize-1.1.4.tgz#d75cec57383358af38efdf6a78071aa36ae4174c"
- integrity sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==
- dependencies:
- array-bounds "^1.0.0"
-
-array-range@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/array-range/-/array-range-1.0.1.tgz#f56e46591843611c6a56f77ef02eda7c50089bfc"
- integrity sha512-shdaI1zT3CVNL2hnx9c0JMc0ZogGaxDs5e85akgHWKYa0yVbIyp06Ind3dVkTj/uuFrzaHBOyqFzo+VV6aXgtA==
-
-array-rearrange@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/array-rearrange/-/array-rearrange-2.2.2.tgz#fa1a2acf8d02e88dd0c9602aa0e06a79158b2283"
- integrity sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==
-
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
-array.prototype.findlastindex@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207"
- integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-shim-unscopables "^1.0.0"
- get-intrinsic "^1.2.1"
-
-array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18"
- integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-shim-unscopables "^1.0.0"
-
-array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527"
- integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-shim-unscopables "^1.0.0"
-
-array.prototype.tosorted@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd"
- integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- es-shim-unscopables "^1.0.0"
- get-intrinsic "^1.2.1"
-
-arraybuffer.prototype.slice@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12"
- integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==
- dependencies:
- array-buffer-byte-length "^1.0.0"
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
- is-array-buffer "^3.0.2"
- is-shared-array-buffer "^1.0.2"
-
-asynciterator.prototype@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62"
- integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==
- dependencies:
- has-symbols "^1.0.3"
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
-
-available-typed-arrays@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
- integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-
-axios-mock-adapter@^1.21.2:
- version "1.22.0"
- resolved "https://registry.yarnpkg.com/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz#0f3e6be0fc9b55baab06f2d49c0b71157e7c053d"
- integrity sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==
- dependencies:
- fast-deep-equal "^3.1.3"
- is-buffer "^2.0.5"
-
-axios@^1.2.1:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2"
- integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
- dependencies:
- follow-redirects "^1.15.0"
- form-data "^4.0.0"
- proxy-from-env "^1.1.0"
-
-babel-plugin-macros@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
- integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
- dependencies:
- "@babel/runtime" "^7.12.5"
- cosmiconfig "^7.0.0"
- resolve "^1.19.0"
-
-bail@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
- integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-big-integer@^1.6.44:
- version "1.6.52"
- resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85"
- integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-binary-search-bounds@^2.0.4:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz#125e5bd399882f71e6660d4bf1186384e989fba7"
- integrity sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==
-
-bit-twiddle@^1.0.0, bit-twiddle@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bit-twiddle/-/bit-twiddle-1.0.2.tgz#0c6c1fabe2b23d17173d9a61b7b7093eb9e1769e"
- integrity sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==
-
-bitmap-sdf@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz#e87b8b1d84ee846567cfbb29d60eedd34bca5b6f"
- integrity sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==
-
-bl@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5"
- integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==
- dependencies:
- readable-stream "^2.3.5"
- safe-buffer "^5.1.1"
-
-bplist-parser@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e"
- integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==
- dependencies:
- big-integer "^1.6.44"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-brace-expansion@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
- integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
- dependencies:
- balanced-match "^1.0.0"
-
-braces@^3.0.2, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-browserslist@^4.22.2:
- version "4.22.2"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b"
- integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
- dependencies:
- caniuse-lite "^1.0.30001565"
- electron-to-chromium "^1.4.601"
- node-releases "^2.0.14"
- update-browserslist-db "^1.0.13"
-
-buffer-from@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-builtin-modules@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
- integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
-
-builtins@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9"
- integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==
- dependencies:
- semver "^7.0.0"
-
-bundle-name@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a"
- integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==
- dependencies:
- run-applescript "^5.0.0"
-
-call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513"
- 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.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase@^6.2.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
- integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-
-caniuse-lite@^1.0.30001565:
- version "1.0.30001570"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca"
- integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==
-
-canvas-fit@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/canvas-fit/-/canvas-fit-1.5.0.tgz#ae13be66ade42f5be0e487e345fce30a5e5b5e5f"
- integrity sha512-onIcjRpz69/Hx5bB5HGbYKUF2uC6QT6Gp+pfpGm3A7mPfcluSLV5v4Zu+oflDUwLdUw0rLIBhUbi0v8hM4FJQQ==
- dependencies:
- element-size "^1.1.1"
-
-canvas@^2.11.2:
- version "2.11.2"
- resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.11.2.tgz#553d87b1e0228c7ac0fc72887c3adbac4abbd860"
- integrity sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==
- dependencies:
- "@mapbox/node-pre-gyp" "^1.0.0"
- nan "^2.17.0"
- simple-get "^3.0.3"
-
-ccount@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
- integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
-
-chalk@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^4.0.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-character-entities-html4@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
- integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
-
-character-entities-legacy@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
- integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
-
-character-entities@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
- integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
-
-character-reference-invalid@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
- integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
-
-chokidar@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-chownr@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
- integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
-
-clamp@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634"
- integrity sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==
-
-classcat@^5.0.3, classcat@^5.0.4:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/classcat/-/classcat-5.0.4.tgz#e12d1dfe6df6427f260f03b80dc63571a5107ba6"
- integrity sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==
-
-client-only@^0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
- integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
-
-clsx@^1.1.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
- integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-
-clsx@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b"
- integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==
-
-color-alpha@1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/color-alpha/-/color-alpha-1.0.4.tgz#c141dc926e95fc3db647d0e14e5bc3651c29e040"
- integrity sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==
- dependencies:
- color-parse "^1.3.8"
-
-color-alpha@^1.0.4:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-alpha/-/color-alpha-1.1.3.tgz#71250189e9f02bba8261a94d5e7d5f5606d1749a"
- integrity sha512-krPYBO1RSO5LH4AGb/b6z70O1Ip2o0F0+0cVFN5FN99jfQtZFT08rQyg+9oOBNJYAn3SRwJIFC8jUEOKz7PisA==
- dependencies:
- color-parse "^1.4.1"
-
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-id@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/color-id/-/color-id-1.1.0.tgz#5e9159b99a73ac98f74820cb98a15fde3d7e034c"
- integrity sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==
- dependencies:
- clamp "^1.0.1"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-
-color-name@^1.0.0, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-normalize@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/color-normalize/-/color-normalize-1.5.0.tgz#ee610af9acb15daf73e77a945a847b18e40772da"
- integrity sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==
- dependencies:
- clamp "^1.0.1"
- color-rgba "^2.1.1"
- dtype "^2.0.0"
-
-color-normalize@^1.5.0:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/color-normalize/-/color-normalize-1.5.2.tgz#d6c8beb02966849548f91a6ac0274c6f19924509"
- integrity sha512-yYMIoyFJmUoKbCK6sBShljBWfkt8DXVfaZJn9/zvRJkF9eQJDbZhcYC6LdOVy40p4tfVwYYb9cXl8oqpu7pzBw==
- dependencies:
- color-rgba "^2.2.0"
- dtype "^2.0.0"
-
-color-parse@1.3.8:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/color-parse/-/color-parse-1.3.8.tgz#eaf54cd385cb34c0681f18c218aca38478082fa3"
- integrity sha512-1Y79qFv0n1xair3lNMTNeoFvmc3nirMVBij24zbs1f13+7fPpQClMg5b4AuKXLt3szj7BRlHMCXHplkce6XlmA==
- dependencies:
- color-name "^1.0.0"
- defined "^1.0.0"
- is-plain-obj "^1.1.0"
-
-color-parse@^1.3.8, color-parse@^1.4.1, color-parse@^1.4.2:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/color-parse/-/color-parse-1.4.3.tgz#6dadfb49128c554c60c49d63f3d025f2c5a7ff22"
- integrity sha512-BADfVl/FHkQkyo8sRBwMYBqemqsgnu7JZAwUgvBvuwwuNUZAhSvLTbsEErS5bQXzOjDR0dWzJ4vXN2Q+QoPx0A==
- dependencies:
- color-name "^1.0.0"
-
-color-rgba@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/color-rgba/-/color-rgba-2.1.1.tgz#4633b83817c7406c90b3d7bf4d1acfa48dde5c83"
- integrity sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==
- dependencies:
- clamp "^1.0.1"
- color-parse "^1.3.8"
- color-space "^1.14.6"
-
-color-rgba@^2.1.1, color-rgba@^2.2.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/color-rgba/-/color-rgba-2.4.0.tgz#ae85819c530262c29fc2da129fc7c8f9efc57015"
- integrity sha512-Nti4qbzr/z2LbUWySr7H9dk3Rl7gZt7ihHAxlgT4Ho90EXWkjtkL1avTleu9yeGuqrt/chxTB6GKK8nZZ6V0+Q==
- dependencies:
- color-parse "^1.4.2"
- color-space "^2.0.0"
-
-color-space@^1.14.6:
- version "1.16.0"
- resolved "https://registry.yarnpkg.com/color-space/-/color-space-1.16.0.tgz#611781bca41cd8582a1466fd9e28a7d3d89772a2"
- integrity sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==
- dependencies:
- hsluv "^0.0.3"
- mumath "^3.3.4"
-
-color-space@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-space/-/color-space-2.0.1.tgz#da39871175baf4a5785ba519397df04b8d67e0fa"
- integrity sha512-nKqUYlo0vZATVOFHY810BSYjmCARrG7e5R3UE3CQlyjJTvv5kSSmPG1kzm/oDyyqjehM+lW1RnEt9It9GNa5JA==
-
-color-support@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
- integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
-
-combined-stream@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-comma-separated-tokens@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
- integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
-
-commander@11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906"
- integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==
-
-commander@2, commander@^2.15.1:
- version "2.20.3"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-commander@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
- integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-concat-stream@^1.5.2:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-console-control-strings@^1.0.0, console-control-strings@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
- integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
-
-convert-source-map@^1.5.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
- integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
-
-convert-source-map@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
- integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-
-core-util-is@~1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
- integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
-
-cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6"
- integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
- dependencies:
- "@types/parse-json" "^4.0.0"
- import-fresh "^3.2.1"
- parse-json "^5.0.0"
- path-type "^4.0.0"
- yaml "^1.10.0"
-
-country-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/country-regex/-/country-regex-1.1.0.tgz#51c333dcdf12927b7e5eeb9c10ac8112a6120896"
- integrity sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==
-
-cross-env@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
- integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
- dependencies:
- cross-spawn "^7.0.1"
-
-cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-css-font-size-keywords@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz#854875ace9aca6a8d2ee0d345a44aae9bb6db6cb"
- integrity sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==
-
-css-font-stretch-keywords@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz#50cee9b9ba031fb5c952d4723139f1e107b54b10"
- integrity sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==
-
-css-font-style-keywords@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz#5c3532813f63b4a1de954d13cea86ab4333409e4"
- integrity sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==
-
-css-font-weight-keywords@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz#9bc04671ac85bc724b574ef5d3ac96b0d604fd97"
- integrity sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==
-
-css-font@^1.0.0, css-font@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/css-font/-/css-font-1.2.0.tgz#e73cbdc11fd87c8e6c928ad7098a9771c8c2b6e3"
- integrity sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==
- dependencies:
- css-font-size-keywords "^1.0.0"
- css-font-stretch-keywords "^1.0.1"
- css-font-style-keywords "^1.0.1"
- css-font-weight-keywords "^1.0.0"
- css-global-keywords "^1.0.1"
- css-system-font-keywords "^1.0.0"
- pick-by-alias "^1.2.0"
- string-split-by "^1.0.0"
- unquote "^1.1.0"
-
-css-global-keywords@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/css-global-keywords/-/css-global-keywords-1.0.1.tgz#72a9aea72796d019b1d2a3252de4e5aaa37e4a69"
- integrity sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==
-
-css-system-font-keywords@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz#85c6f086aba4eb32c571a3086affc434b84823ed"
- integrity sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==
-
-csscolorparser@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b"
- integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==
-
-csstype@^3.0.2, csstype@^3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
- integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
-
-d3-array@1, d3-array@^1.2.1:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
- integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
-
-d3-collection@1, d3-collection@^1.0.4:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
- integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
-
-"d3-color@1 - 3":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2"
- integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==
-
-d3-dispatch@1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.6.tgz#00d37bcee4dd8cd97729dd893a0ac29caaba5d58"
- integrity sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==
-
-"d3-dispatch@1 - 3":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e"
- integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==
-
-"d3-drag@2 - 3", d3-drag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba"
- integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==
- dependencies:
- d3-dispatch "1 - 3"
- d3-selection "3"
-
-"d3-ease@1 - 3":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4"
- integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
-
-d3-force@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b"
- integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==
- dependencies:
- d3-collection "1"
- d3-dispatch "1"
- d3-quadtree "1"
- d3-timer "1"
-
-d3-format@^1.4.5:
- version "1.4.5"
- resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.5.tgz#374f2ba1320e3717eb74a9356c67daee17a7edb4"
- integrity sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==
-
-d3-geo-projection@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/d3-geo-projection/-/d3-geo-projection-2.9.0.tgz#826db62f748e8ecd67cd00aced4c26a236ec030c"
- integrity sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==
- dependencies:
- commander "2"
- d3-array "1"
- d3-geo "^1.12.0"
- resolve "^1.1.10"
-
-d3-geo@^1.12.0, d3-geo@^1.12.1:
- version "1.12.1"
- resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.12.1.tgz#7fc2ab7414b72e59fbcbd603e80d9adc029b035f"
- integrity sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==
- dependencies:
- d3-array "1"
-
-d3-hierarchy@^1.1.9:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83"
- integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==
-
-"d3-interpolate@1 - 3", d3-interpolate@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d"
- integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
- dependencies:
- d3-color "1 - 3"
-
-d3-path@1:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf"
- integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==
-
-d3-quadtree@1:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.7.tgz#ca8b84df7bb53763fe3c2f24bd435137f4e53135"
- integrity sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==
-
-"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31"
- integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==
-
-d3-shape@^1.2.0:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7"
- integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==
- dependencies:
- d3-path "1"
-
-d3-time-format@^2.2.3:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.3.0.tgz#107bdc028667788a8924ba040faf1fbccd5a7850"
- integrity sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==
- dependencies:
- d3-time "1"
-
-d3-time@1, d3-time@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1"
- integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==
-
-d3-timer@1:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5"
- integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==
-
-"d3-timer@1 - 3":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0"
- integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
-
-"d3-transition@2 - 3":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f"
- integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==
- dependencies:
- d3-color "1 - 3"
- d3-dispatch "1 - 3"
- d3-ease "1 - 3"
- d3-interpolate "1 - 3"
- d3-timer "1 - 3"
-
-d3-zoom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3"
- integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==
- dependencies:
- d3-dispatch "1 - 3"
- d3-drag "2 - 3"
- d3-interpolate "1 - 3"
- d3-selection "2 - 3"
- d3-transition "2 - 3"
-
-d@1, d@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
- integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
- dependencies:
- es5-ext "^0.10.50"
- type "^1.0.1"
-
-dayjs@^1.11.7:
- version "1.11.10"
- resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0"
- integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
-
-debug@2:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
-debug@^3.2.6, debug@^3.2.7:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
- integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
- dependencies:
- ms "^2.1.1"
-
-decode-named-character-reference@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e"
- integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==
- dependencies:
- character-entities "^2.0.0"
-
-decompress-response@^4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
- integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
- dependencies:
- mimic-response "^2.0.0"
-
-deep-is@^0.1.3, deep-is@~0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
- integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-
-default-browser-id@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c"
- integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==
- dependencies:
- bplist-parser "^0.2.0"
- untildify "^4.0.0"
-
-default-browser@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da"
- integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==
- dependencies:
- bundle-name "^3.0.0"
- default-browser-id "^3.0.0"
- execa "^7.1.1"
- titleize "^3.0.0"
-
-define-data-property@^1.0.1, define-data-property@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
- integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==
- dependencies:
- get-intrinsic "^1.2.1"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
-
-define-lazy-prop@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f"
- integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==
-
-define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
- integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
- dependencies:
- define-data-property "^1.0.1"
- has-property-descriptors "^1.0.0"
- object-keys "^1.1.1"
-
-defined@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf"
- integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
- integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
-
-dequal@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
- integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
-
-detect-kerning@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/detect-kerning/-/detect-kerning-2.1.2.tgz#4ecd548e4a5a3fc880fe2a50609312d000fa9fc2"
- integrity sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==
-
-detect-libc@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d"
- integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==
-
-devlop@^1.0.0, devlop@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018"
- integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==
- dependencies:
- dequal "^2.0.0"
-
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
-doctrine@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
- integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
- dependencies:
- esutils "^2.0.2"
-
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
-dom-helpers@^5.0.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
- integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
- dependencies:
- "@babel/runtime" "^7.8.7"
- csstype "^3.0.2"
-
-dotenv@^16.3.1:
- version "16.3.1"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
- integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
-
-draw-svg-path@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/draw-svg-path/-/draw-svg-path-1.0.0.tgz#6f116d962dd314b99ea534d6f58dd66cdbd69379"
- integrity sha512-P8j3IHxcgRMcY6sDzr0QvJDLzBnJJqpTG33UZ2Pvp8rw0apCHhJCWqYprqrXjrgHnJ6tuhP1iTJSAodPDHxwkg==
- dependencies:
- abs-svg-path "~0.1.1"
- normalize-svg-path "~0.1.0"
-
-dtype@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/dtype/-/dtype-2.0.0.tgz#cd052323ce061444ecd2e8f5748f69a29be28434"
- integrity sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==
-
-dup@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/dup/-/dup-1.0.0.tgz#51fc5ac685f8196469df0b905e934b20af5b4029"
- integrity sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==
-
-duplexify@^3.4.5:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
- integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
- dependencies:
- end-of-stream "^1.0.0"
- inherits "^2.0.1"
- readable-stream "^2.0.0"
- stream-shift "^1.0.0"
-
-earcut@^2.1.5, earcut@^2.2.2:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a"
- integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==
-
-eastasianwidth@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
- integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
-
-electron-to-chromium@^1.4.601:
- version "1.4.613"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.613.tgz#529e4fc65576ecfd055d7d4619fade4fac446af2"
- integrity sha512-r4x5+FowKG6q+/Wj0W9nidx7QO31BJwmR2uEo+Qh3YLGQ8SbBAFuDFpTxzly/I2gsbrFwBuIjrMp423L3O5U3w==
-
-element-size@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/element-size/-/element-size-1.1.1.tgz#64e5f159d97121631845bcbaecaf279c39b5e34e"
- integrity sha512-eaN+GMOq/Q+BIWy0ybsgpcYImjGIdNLyjLFJU4XsLHXYQao5jCNb36GyN6C2qwmDDYSfIBmKpPpr4VnBdLCsPQ==
-
-elementary-circuits-directed-graph@^1.0.4:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/elementary-circuits-directed-graph/-/elementary-circuits-directed-graph-1.3.1.tgz#31c5a1c69517de833127247e5460472168e9e1c1"
- integrity sha512-ZEiB5qkn2adYmpXGnJKkxT8uJHlW/mxmBpmeqawEHzPxh9HkLD4/1mFYX5l0On+f6rcPIt8/EWlRU2Vo3fX6dQ==
- dependencies:
- strongly-connected-components "^1.0.1"
-
-elkjs@^0.8.2:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.8.2.tgz#c37763c5a3e24e042e318455e0147c912a7c248e"
- integrity sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-emoji-regex@^9.2.2:
- version "9.2.2"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
- integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
-
-end-of-stream@^1.0.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-enhanced-resolve@^5.12.0:
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35"
- integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==
- dependencies:
- graceful-fs "^4.2.4"
- tapable "^2.2.0"
-
-entities@^4.4.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
- integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
-
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-es-abstract@^1.22.1:
- version "1.22.3"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32"
- integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==
- 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.2"
- get-symbol-description "^1.0.0"
- globalthis "^1.0.3"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
- hasown "^2.0.0"
- 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"
-
-es-iterator-helpers@^1.0.12:
- version "1.0.15"
- resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40"
- integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==
- dependencies:
- asynciterator.prototype "^1.0.0"
- call-bind "^1.0.2"
- define-properties "^1.2.1"
- es-abstract "^1.22.1"
- es-set-tostringtag "^2.0.1"
- function-bind "^1.1.1"
- 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"
-
-es-set-tostringtag@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9"
- integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==
- dependencies:
- get-intrinsic "^1.2.2"
- has-tostringtag "^1.0.0"
- hasown "^2.0.0"
-
-es-shim-unscopables@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763"
- integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==
- dependencies:
- hasown "^2.0.0"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50:
- version "0.10.62"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5"
- integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==
- dependencies:
- es6-iterator "^2.0.3"
- es6-symbol "^3.1.3"
- next-tick "^1.1.0"
-
-es6-iterator@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
- integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==
- dependencies:
- d "1"
- es5-ext "^0.10.35"
- es6-symbol "^3.1.1"
-
-es6-symbol@^3.1.1, es6-symbol@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
- integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
- dependencies:
- d "^1.0.1"
- ext "^1.1.2"
-
-es6-weak-map@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
- integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
- dependencies:
- d "1"
- es5-ext "^0.10.46"
- es6-iterator "^2.0.3"
- es6-symbol "^3.1.1"
-
-esbuild@^0.18.10:
- version "0.18.20"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
- integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
- 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:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-escape-string-regexp@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-
-escape-string-regexp@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
- integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
-
-escodegen@^1.11.1:
- version "1.14.3"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
- integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
- dependencies:
- esprima "^4.0.1"
- estraverse "^4.2.0"
- esutils "^2.0.2"
- optionator "^0.8.1"
- optionalDependencies:
- source-map "~0.6.1"
-
-eslint-compat-utils@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz#f45e3b5ced4c746c127cf724fb074cd4e730d653"
- integrity sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==
-
-eslint-config-prettier@^9.0.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f"
- integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==
-
-eslint-config-standard-with-typescript@^39.0.0:
- version "39.1.1"
- resolved "https://registry.yarnpkg.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-39.1.1.tgz#d682bd1fc8f1ee996940f85c9b0a833d7cfa5fee"
- integrity sha512-t6B5Ep8E4I18uuoYeYxINyqcXb2UbC0SOOTxRtBSt2JUs+EzeXbfe2oaiPs71AIdnoWhXDO2fYOHz8df3kV84A==
- dependencies:
- "@typescript-eslint/parser" "^6.4.0"
- eslint-config-standard "17.1.0"
-
-eslint-config-standard@17.1.0:
- version "17.1.0"
- resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#40ffb8595d47a6b242e07cbfd49dc211ed128975"
- integrity sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==
-
-eslint-import-resolver-node@^0.3.9:
- version "0.3.9"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac"
- integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==
- dependencies:
- debug "^3.2.7"
- is-core-module "^2.13.0"
- resolve "^1.22.4"
-
-eslint-import-resolver-typescript@^3.6.0:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz#7b983680edd3f1c5bce1a5829ae0bc2d57fe9efa"
- integrity sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==
- dependencies:
- debug "^4.3.4"
- enhanced-resolve "^5.12.0"
- eslint-module-utils "^2.7.4"
- fast-glob "^3.3.1"
- get-tsconfig "^4.5.0"
- is-core-module "^2.11.0"
- is-glob "^4.0.3"
-
-eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
- integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
- dependencies:
- debug "^3.2.7"
-
-eslint-plugin-es-x@^7.5.0:
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz#d08d9cd155383e35156c48f736eb06561d07ba92"
- integrity sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==
- dependencies:
- "@eslint-community/eslint-utils" "^4.1.2"
- "@eslint-community/regexpp" "^4.6.0"
- eslint-compat-utils "^0.1.2"
-
-eslint-plugin-import@^2.25.2:
- version "2.29.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643"
- integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==
- dependencies:
- 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-import-resolver-node "^0.3.9"
- eslint-module-utils "^2.8.0"
- hasown "^2.0.0"
- is-core-module "^2.13.1"
- 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.15.0"
-
-"eslint-plugin-n@^15.0.0 || ^16.0.0 ":
- version "16.4.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.4.0.tgz#02ff70d2b164319b6d566672969a9c24688a43df"
- integrity sha512-IkqJjGoWYGskVaJA7WQuN8PINIxc0N/Pk/jLeYT4ees6Fo5lAhpwGsYek6gS9tCUxgDC4zJ+OwY2bY/6/9OMKQ==
- dependencies:
- "@eslint-community/eslint-utils" "^4.4.0"
- builtins "^5.0.1"
- eslint-plugin-es-x "^7.5.0"
- get-tsconfig "^4.7.0"
- ignore "^5.2.4"
- is-builtin-module "^3.2.1"
- is-core-module "^2.12.1"
- minimatch "^3.1.2"
- resolve "^1.22.2"
- semver "^7.5.3"
-
-eslint-plugin-prettier@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz#a3b399f04378f79f066379f544e42d6b73f11515"
- integrity sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==
- dependencies:
- prettier-linter-helpers "^1.0.0"
- synckit "^0.8.5"
-
-eslint-plugin-promise@^6.0.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816"
- integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==
-
-eslint-plugin-react-hooks@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
- integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-
-eslint-plugin-react@^7.33.2:
- version "7.33.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608"
- integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==
- dependencies:
- array-includes "^3.1.6"
- array.prototype.flatmap "^1.3.1"
- array.prototype.tosorted "^1.1.1"
- doctrine "^2.1.0"
- es-iterator-helpers "^1.0.12"
- estraverse "^5.3.0"
- jsx-ast-utils "^2.4.1 || ^3.0.0"
- minimatch "^3.1.2"
- object.entries "^1.1.6"
- object.fromentries "^2.0.6"
- object.hasown "^1.1.2"
- object.values "^1.1.6"
- prop-types "^15.8.1"
- resolve "^2.0.0-next.4"
- semver "^6.3.1"
- string.prototype.matchall "^4.0.8"
-
-eslint-plugin-testing-library@^6.0.1:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.2.0.tgz#af3340b783c881eb19ec5ac6b3a4bfe8ab4a1f74"
- integrity sha512-+LCYJU81WF2yQ+Xu4A135CgK8IszcFcyMF4sWkbiu6Oj+Nel0TrkZq/HvDw0/1WuO3dhDQsZA/OpEMGd0NfcUw==
- dependencies:
- "@typescript-eslint/utils" "^5.58.0"
-
-eslint-scope@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
-eslint-scope@^7.2.2:
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
- integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^5.2.0"
-
-eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
- version "3.4.3"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
- integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
-
-eslint@^8.0.1:
- version "8.55.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.55.0.tgz#078cb7b847d66f2c254ea1794fa395bf8e7e03f8"
- integrity sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==
- dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@eslint-community/regexpp" "^4.6.1"
- "@eslint/eslintrc" "^2.1.4"
- "@eslint/js" "8.55.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.4"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- 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.4.2"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
- find-up "^5.0.0"
- glob-parent "^6.0.2"
- globals "^13.19.0"
- graphemer "^1.4.0"
- ignore "^5.2.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- 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"
-
-espree@^9.6.0, espree@^9.6.1:
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
- integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
- dependencies:
- acorn "^8.9.0"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.4.1"
-
-esprima@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esquery@^1.4.2:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
- integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^4.1.1, estraverse@^4.2.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
-estree-util-is-identifier-name@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd"
- integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==
-
-estree-walker@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
- integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-events@^3.2.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
- integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-
-execa@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
- dependencies:
- cross-spawn "^7.0.3"
- get-stream "^6.0.0"
- human-signals "^2.1.0"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.1"
- onetime "^5.1.2"
- signal-exit "^3.0.3"
- strip-final-newline "^2.0.0"
-
-execa@^7.1.1:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9"
- integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==
- dependencies:
- cross-spawn "^7.0.3"
- get-stream "^6.0.1"
- human-signals "^4.3.0"
- 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"
-
-ext@^1.1.2:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f"
- integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
- dependencies:
- type "^2.7.2"
-
-extend@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-falafel@^2.1.0:
- version "2.2.5"
- resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.2.5.tgz#3ccb4970a09b094e9e54fead2deee64b4a589d56"
- integrity sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==
- dependencies:
- acorn "^7.1.1"
- isarray "^2.0.1"
-
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-diff@^1.1.2:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
- integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
-
-fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.1:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
- integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.2"
- merge2 "^1.3.0"
- micromatch "^4.0.4"
-
-fast-isnumeric@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz#e165786ff471c439e9ace2b8c8e66cceb47e2ea4"
- integrity sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==
- dependencies:
- is-string-blank "^1.0.1"
-
-fast-json-stable-stringify@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
- integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
-
-fastq@^1.6.0:
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
- integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
- dependencies:
- reusify "^1.0.4"
-
-file-entry-cache@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
- integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
- dependencies:
- flat-cache "^3.0.4"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-find-root@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
- integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
-
-find-up@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
- integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
- dependencies:
- locate-path "^6.0.0"
- path-exists "^4.0.0"
-
-flat-cache@^3.0.4:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
- integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
- dependencies:
- flatted "^3.2.9"
- keyv "^4.5.3"
- rimraf "^3.0.2"
-
-flatted@^3.2.9:
- version "3.2.9"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf"
- integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
-
-flatten-vertex-data@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz#889fd60bea506006ca33955ee1105175fb620219"
- integrity sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==
- dependencies:
- dtype "^2.0.0"
-
-follow-redirects@^1.15.0:
- version "1.15.3"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
- integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
-
-font-atlas@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/font-atlas/-/font-atlas-2.1.0.tgz#aa2d6dcf656a6c871d66abbd3dfbea2f77178348"
- integrity sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==
- dependencies:
- css-font "^1.0.0"
-
-font-measure@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/font-measure/-/font-measure-1.2.2.tgz#41dbdac5d230dbf4db08865f54da28a475e83026"
- integrity sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==
- dependencies:
- css-font "^1.2.0"
-
-for-each@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
- integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
- dependencies:
- is-callable "^1.1.3"
-
-foreground-child@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
- integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==
- dependencies:
- cross-spawn "^7.0.0"
- signal-exit "^4.0.1"
-
-form-data@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
- integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.8"
- mime-types "^2.1.12"
-
-from2@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
- integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==
- dependencies:
- inherits "^2.0.1"
- readable-stream "^2.0.0"
-
-fs-minipass@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
- integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
- dependencies:
- minipass "^3.0.0"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
-function-bind@^1.1.1, function-bind@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
- integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
-
-function.prototype.name@^1.1.5, function.prototype.name@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd"
- integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- functions-have-names "^1.2.3"
-
-functions-have-names@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
- integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-
-gauge@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395"
- integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
- dependencies:
- aproba "^1.0.3 || ^2.0.0"
- color-support "^1.1.2"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.1"
- object-assign "^4.1.1"
- signal-exit "^3.0.0"
- string-width "^4.2.3"
- strip-ansi "^6.0.1"
- wide-align "^1.1.2"
-
-gensync@^1.0.0-beta.2:
- version "1.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
- integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
-geojson-vt@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/geojson-vt/-/geojson-vt-3.2.1.tgz#f8adb614d2c1d3f6ee7c4265cad4bbf3ad60c8b7"
- integrity sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==
-
-get-canvas-context@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/get-canvas-context/-/get-canvas-context-1.0.2.tgz#d6e7b50bc4e4c86357cd39f22647a84b73601e93"
- integrity sha512-LnpfLf/TNzr9zVOGiIY6aKCz8EKuXmlYNV7CM2pUjBa/B+c2I15tS7KLySep75+FuerJdmArvJLcsAXWEy2H0A==
-
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b"
- integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==
- dependencies:
- function-bind "^1.1.2"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
- hasown "^2.0.0"
-
-get-stream@^6.0.0, get-stream@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
- integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-
-get-symbol-description@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
- integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
-
-get-tsconfig@^4.5.0, get-tsconfig@^4.7.0:
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz#0dcd6fb330391d46332f4c6c1bf89a6514c2ddce"
- integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==
- dependencies:
- resolve-pkg-maps "^1.0.0"
-
-gl-mat4@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/gl-mat4/-/gl-mat4-1.2.0.tgz#49d8a7636b70aa00819216635f4a3fd3f4669b26"
- integrity sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==
-
-gl-matrix@^3.2.1:
- version "3.4.3"
- resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9"
- integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==
-
-gl-text@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/gl-text/-/gl-text-1.3.1.tgz#f36594464101b5b053178d6d219c3d08fb9144c8"
- integrity sha512-/f5gcEMiZd+UTBJLTl3D+CkCB/0UFGTx3nflH8ZmyWcLkZhsZ1+Xx5YYkw2rgWAzgPeE35xCqBuHSoMKQVsR+w==
- dependencies:
- bit-twiddle "^1.0.2"
- color-normalize "^1.5.0"
- css-font "^1.2.0"
- detect-kerning "^2.1.2"
- es6-weak-map "^2.0.3"
- flatten-vertex-data "^1.0.2"
- font-atlas "^2.1.0"
- font-measure "^1.2.2"
- gl-util "^3.1.2"
- is-plain-obj "^1.1.0"
- object-assign "^4.1.1"
- parse-rect "^1.2.0"
- parse-unit "^1.0.1"
- pick-by-alias "^1.2.0"
- regl "^2.0.0"
- to-px "^1.0.1"
- typedarray-pool "^1.1.0"
-
-gl-util@^3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/gl-util/-/gl-util-3.1.3.tgz#1e9a724f844b802597c6e30565d4c1e928546861"
- integrity sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==
- dependencies:
- is-browser "^2.0.1"
- is-firefox "^1.0.3"
- is-plain-obj "^1.1.0"
- number-is-integer "^1.0.1"
- object-assign "^4.1.0"
- pick-by-alias "^1.2.0"
- weak-map "^1.0.5"
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob-parent@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
- integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
- dependencies:
- is-glob "^4.0.3"
-
-glob-regex@^0.3.0:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/glob-regex/-/glob-regex-0.3.2.tgz#27348f2f60648ec32a4a53137090b9fb934f3425"
- integrity sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==
-
-glob@10.3.10:
- version "10.3.10"
- resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b"
- integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==
- dependencies:
- foreground-child "^3.1.0"
- jackspeak "^2.3.5"
- minimatch "^9.0.1"
- minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
- path-scurry "^1.10.1"
-
-glob@7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.1.3:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-globals@^13.19.0:
- version "13.24.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
- integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
- dependencies:
- type-fest "^0.20.2"
-
-globalthis@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
- integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
- dependencies:
- define-properties "^1.1.3"
-
-globby@^11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
- integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.2.9"
- ignore "^5.2.0"
- merge2 "^1.4.1"
- slash "^3.0.0"
-
-globrex@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098"
- integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==
-
-glsl-inject-defines@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz#dd1aacc2c17fcb2bd3fc32411c6633d0d7b60fd4"
- integrity sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==
- dependencies:
- glsl-token-inject-block "^1.0.0"
- glsl-token-string "^1.0.1"
- glsl-tokenizer "^2.0.2"
-
-glsl-resolve@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/glsl-resolve/-/glsl-resolve-0.0.1.tgz#894bef73910d792c81b5143180035d0a78af76d3"
- integrity sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==
- dependencies:
- resolve "^0.6.1"
- xtend "^2.1.2"
-
-glsl-token-assignments@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz#a5d82ab78499c2e8a6b83cb69495e6e665ce019f"
- integrity sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==
-
-glsl-token-defines@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz#cb892aa959936231728470d4f74032489697fa9d"
- integrity sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==
- dependencies:
- glsl-tokenizer "^2.0.0"
-
-glsl-token-depth@^1.1.0, glsl-token-depth@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz#23c5e30ee2bd255884b4a28bc850b8f791e95d84"
- integrity sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==
-
-glsl-token-descope@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz#0fc90ab326186b82f597b2e77dc9e21efcd32076"
- integrity sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==
- dependencies:
- glsl-token-assignments "^2.0.0"
- glsl-token-depth "^1.1.0"
- glsl-token-properties "^1.0.0"
- glsl-token-scope "^1.1.0"
-
-glsl-token-inject-block@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz#e1015f5980c1091824adaa2625f1dfde8bd00034"
- integrity sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==
-
-glsl-token-properties@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz#483dc3d839f0d4b5c6171d1591f249be53c28a9e"
- integrity sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==
-
-glsl-token-scope@^1.1.0, glsl-token-scope@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz#a1728e78df24444f9cb93fd18ef0f75503a643b1"
- integrity sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==
-
-glsl-token-string@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/glsl-token-string/-/glsl-token-string-1.0.1.tgz#59441d2f857de7c3449c945666021ece358e48ec"
- integrity sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==
-
-glsl-token-whitespace-trim@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz#46d1dfe98c75bd7d504c05d7d11b1b3e9cc93b10"
- integrity sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==
-
-glsl-tokenizer@^2.0.0, glsl-tokenizer@^2.0.2:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz#1c2e78c16589933c274ba278d0a63b370c5fee1a"
- integrity sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==
- dependencies:
- through2 "^0.6.3"
-
-glslify-bundle@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/glslify-bundle/-/glslify-bundle-5.1.1.tgz#30d2ddf2e6b935bf44d1299321e3b729782c409a"
- integrity sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==
- dependencies:
- glsl-inject-defines "^1.0.1"
- glsl-token-defines "^1.0.0"
- glsl-token-depth "^1.1.1"
- glsl-token-descope "^1.0.2"
- glsl-token-scope "^1.1.1"
- glsl-token-string "^1.0.1"
- glsl-token-whitespace-trim "^1.0.0"
- glsl-tokenizer "^2.0.2"
- murmurhash-js "^1.0.0"
- shallow-copy "0.0.1"
-
-glslify-deps@^1.2.5:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/glslify-deps/-/glslify-deps-1.3.2.tgz#c09ee945352bfc07ac2d8a1cc9e3de776328c72b"
- integrity sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==
- dependencies:
- "@choojs/findup" "^0.2.0"
- events "^3.2.0"
- glsl-resolve "0.0.1"
- glsl-tokenizer "^2.0.0"
- graceful-fs "^4.1.2"
- inherits "^2.0.1"
- map-limit "0.0.1"
- resolve "^1.0.0"
-
-glslify@^7.0.0, glslify@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/glslify/-/glslify-7.1.1.tgz#454d9172b410cb49864029c86d5613947fefd30b"
- integrity sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==
- dependencies:
- bl "^2.2.1"
- concat-stream "^1.5.2"
- duplexify "^3.4.5"
- falafel "^2.1.0"
- from2 "^2.3.0"
- glsl-resolve "0.0.1"
- glsl-token-whitespace-trim "^1.0.0"
- glslify-bundle "^5.0.0"
- glslify-deps "^1.2.5"
- minimist "^1.2.5"
- resolve "^1.1.5"
- stack-trace "0.0.9"
- static-eval "^2.0.5"
- through2 "^2.0.1"
- xtend "^4.0.0"
-
-gopd@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
- integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
- dependencies:
- get-intrinsic "^1.1.3"
-
-graceful-fs@^4.1.2, graceful-fs@^4.2.4:
- version "4.2.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
- integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-
-graphemer@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
- integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
-
-grid-index@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/grid-index/-/grid-index-1.1.0.tgz#97f8221edec1026c8377b86446a7c71e79522ea7"
- integrity sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==
-
-has-bigints@^1.0.1, has-bigints@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
- integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-hover@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-hover/-/has-hover-1.0.1.tgz#3d97437aeb199c62b8ac08acbdc53d3bc52c17f7"
- integrity sha512-0G6w7LnlcpyDzpeGUTuT0CEw05+QlMuGVk1IHNAlHrGJITGodjZu3x8BNDUMfKJSZXNB2ZAclqc1bvrd+uUpfg==
- dependencies:
- is-browser "^2.0.1"
-
-has-passive-events@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-passive-events/-/has-passive-events-1.0.0.tgz#75fc3dc6dada182c58f24ebbdc018276d1ea3515"
- integrity sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==
- dependencies:
- is-browser "^2.0.1"
-
-has-property-descriptors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340"
- integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==
- dependencies:
- get-intrinsic "^1.2.2"
-
-has-proto@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
- integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
-
-has-symbols@^1.0.2, has-symbols@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
- integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-
-has-tostringtag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
- integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
- dependencies:
- has-symbols "^1.0.2"
-
-has-unicode@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
- integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
-
-hasown@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
- integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
- dependencies:
- function-bind "^1.1.2"
-
-hast-util-from-parse5@^7.0.0:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0"
- integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/unist" "^2.0.0"
- hastscript "^7.0.0"
- property-information "^6.0.0"
- vfile "^5.0.0"
- vfile-location "^4.0.0"
- web-namespaces "^2.0.0"
-
-hast-util-parse-selector@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2"
- integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==
- dependencies:
- "@types/hast" "^2.0.0"
-
-hast-util-raw@^7.0.0:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99"
- integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/parse5" "^6.0.0"
- hast-util-from-parse5 "^7.0.0"
- hast-util-to-parse5 "^7.0.0"
- html-void-elements "^2.0.0"
- parse5 "^6.0.0"
- unist-util-position "^4.0.0"
- unist-util-visit "^4.0.0"
- vfile "^5.0.0"
- web-namespaces "^2.0.0"
- zwitch "^2.0.0"
-
-hast-util-to-html@^8.0.0:
- version "8.0.4"
- resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz#0269ef33fa3f6599b260a8dc94f733b8e39e41fc"
- integrity sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/unist" "^2.0.0"
- ccount "^2.0.0"
- comma-separated-tokens "^2.0.0"
- hast-util-raw "^7.0.0"
- hast-util-whitespace "^2.0.0"
- html-void-elements "^2.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
- stringify-entities "^4.0.0"
- zwitch "^2.0.4"
-
-hast-util-to-jsx-runtime@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz#3ed27caf8dc175080117706bf7269404a0aa4f7c"
- integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==
- dependencies:
- "@types/estree" "^1.0.0"
- "@types/hast" "^3.0.0"
- "@types/unist" "^3.0.0"
- comma-separated-tokens "^2.0.0"
- devlop "^1.0.0"
- estree-util-is-identifier-name "^3.0.0"
- hast-util-whitespace "^3.0.0"
- mdast-util-mdx-expression "^2.0.0"
- mdast-util-mdx-jsx "^3.0.0"
- mdast-util-mdxjs-esm "^2.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
- style-to-object "^1.0.0"
- unist-util-position "^5.0.0"
- vfile-message "^4.0.0"
-
-hast-util-to-parse5@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3"
- integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==
- dependencies:
- "@types/hast" "^2.0.0"
- comma-separated-tokens "^2.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
- web-namespaces "^2.0.0"
- zwitch "^2.0.0"
-
-hast-util-to-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz#b008b0a4ea472bf34dd390b7eea1018726ae152a"
- integrity sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==
- dependencies:
- "@types/hast" "^2.0.0"
-
-hast-util-whitespace@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557"
- integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==
-
-hast-util-whitespace@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621"
- integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==
- dependencies:
- "@types/hast" "^3.0.0"
-
-hastscript@^7.0.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b"
- integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==
- dependencies:
- "@types/hast" "^2.0.0"
- comma-separated-tokens "^2.0.0"
- hast-util-parse-selector "^3.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
-
-hoist-non-react-statics@^3.3.1:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
- integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
- dependencies:
- react-is "^16.7.0"
-
-hsluv@^0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/hsluv/-/hsluv-0.0.3.tgz#829107dafb4a9f8b52a1809ed02e091eade6754c"
- integrity sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ==
-
-html-url-attributes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/html-url-attributes/-/html-url-attributes-3.0.0.tgz#fc4abf0c3fb437e2329c678b80abb3c62cff6f08"
- integrity sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==
-
-html-void-elements@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f"
- integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==
-
-https-proxy-agent@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
- integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
- dependencies:
- agent-base "6"
- debug "4"
-
-human-signals@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
- integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-
-human-signals@^4.3.0:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2"
- integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==
-
-iconv-lite@^0.4.4:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-ieee754@^1.1.12:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-ignore@^5.2.0, ignore@^5.2.4:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
- integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==
-
-immediate@~3.0.5:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
- integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
-
-import-fresh@^3.2.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
- integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inline-style-parser@0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.2.tgz#d498b4e6de0373458fc610ff793f6b14ebf45633"
- integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==
-
-internal-slot@^1.0.5:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930"
- integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==
- dependencies:
- get-intrinsic "^1.2.2"
- hasown "^2.0.0"
- side-channel "^1.0.4"
-
-is-alphabetical@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
- integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
-
-is-alphanumerical@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
- integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==
- dependencies:
- is-alphabetical "^2.0.0"
- is-decimal "^2.0.0"
-
-is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
- integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.0"
- is-typed-array "^1.1.10"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
-
-is-async-function@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646"
- integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-bigint@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
- integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
- dependencies:
- has-bigints "^1.0.1"
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-boolean-object@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
- integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-browser@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-browser/-/is-browser-2.1.0.tgz#fc084d59a5fced307d6708c59356bad7007371a9"
- integrity sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==
-
-is-buffer@^2.0.0, is-buffer@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
- integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
-
-is-builtin-module@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169"
- integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==
- dependencies:
- builtin-modules "^3.3.0"
-
-is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
- integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-
-is-core-module@^2.11.0, is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.13.1:
- version "2.13.1"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
- integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
- dependencies:
- hasown "^2.0.0"
-
-is-date-object@^1.0.1, is-date-object@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
- integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-decimal@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
- integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==
-
-is-docker@^2.0.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
- integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
-
-is-docker@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200"
- integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-finalizationregistry@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6"
- integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==
- dependencies:
- call-bind "^1.0.2"
-
-is-finite@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
- integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
-
-is-firefox@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-firefox/-/is-firefox-1.0.3.tgz#2a2a1567783a417f6e158323108f3861b0918562"
- integrity sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-generator-function@^1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
- integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-hexadecimal@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
- integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==
-
-is-iexplorer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-iexplorer/-/is-iexplorer-1.0.0.tgz#1d72bc66d3fe22eaf6170dda8cf10943248cfc76"
- integrity sha512-YeLzceuwg3K6O0MLM3UyUUjKAlyULetwryFp1mHy1I5PfArK0AEqlfa+MR4gkJjcbuJXoDJCvXbyqZVf5CR2Sg==
-
-is-inside-container@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4"
- integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==
- dependencies:
- is-docker "^3.0.0"
-
-is-map@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
- integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
-
-is-mobile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-4.0.0.tgz#bba396eb9656e2739afde3053d7191da310fc758"
- integrity sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==
-
-is-negative-zero@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
- integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
-
-is-number-object@^1.0.4:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
- integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
- integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
-
-is-path-inside@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
- integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
-
-is-plain-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
- integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
-
-is-plain-obj@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
- integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
-
-is-regex@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
- integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-set@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
- integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
-
-is-shared-array-buffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
- integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
- dependencies:
- call-bind "^1.0.2"
-
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-is-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
- integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
-
-is-string-blank@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-string-blank/-/is-string-blank-1.0.1.tgz#866dca066d41d2894ebdfd2d8fe93e586e583a03"
- integrity sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==
-
-is-string@^1.0.5, is-string@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
- integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-svg-path@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-svg-path/-/is-svg-path-1.0.2.tgz#77ab590c12b3d20348e5c7a13d0040c87784dda0"
- integrity sha512-Lj4vePmqpPR1ZnRctHv8ltSh1OrSxHkhUkd7wi+VQdcdP15/KvQFyk7LhNuM7ZW0EVbJz8kZLVmL9quLrfq4Kg==
-
-is-symbol@^1.0.2, is-symbol@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
- integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
- dependencies:
- has-symbols "^1.0.2"
-
-is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9:
- version "1.1.12"
- resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a"
- integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==
- dependencies:
- which-typed-array "^1.1.11"
-
-is-weakmap@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2"
- integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
-
-is-weakref@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
- integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
- dependencies:
- call-bind "^1.0.2"
-
-is-weakset@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d"
- integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
-
-is-wsl@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
- integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
-
-isarray@^2.0.1, isarray@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
- integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-
-isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-iterator.prototype@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0"
- 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"
-
-jackspeak@^2.3.5:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8"
- integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==
- dependencies:
- "@isaacs/cliui" "^8.0.2"
- optionalDependencies:
- "@pkgjs/parseargs" "^0.11.0"
-
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
- dependencies:
- argparse "^2.0.1"
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-json-buffer@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
- integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
-
-json-parse-even-better-errors@^2.3.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
- integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-
-json5@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
- integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
- dependencies:
- minimist "^1.2.0"
-
-json5@^2.2.2, json5@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
- integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-
-"jsx-ast-utils@^2.4.1 || ^3.0.0":
- version "3.3.5"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a"
- integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==
- dependencies:
- array-includes "^3.1.6"
- array.prototype.flat "^1.3.1"
- object.assign "^4.1.4"
- object.values "^1.1.6"
-
-kdbush@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-3.0.0.tgz#f8484794d47004cc2d85ed3a79353dbe0abc2bf0"
- integrity sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==
-
-keyv@^4.5.3:
- version "4.5.4"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
- integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
- dependencies:
- json-buffer "3.0.1"
-
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
-levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
-lie@3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
- integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==
- dependencies:
- immediate "~3.0.5"
-
-lines-and-columns@^1.1.6:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
- integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-
-localforage@^1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4"
- integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==
- dependencies:
- lie "3.1.1"
-
-locate-path@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
- integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
- dependencies:
- p-locate "^5.0.0"
-
-lodash.merge@^4.6.2:
- version "4.6.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
- integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-
-longest-streak@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4"
- integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==
-
-loose-envify@^1.1.0, loose-envify@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-lru-cache@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
- integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
- dependencies:
- yallist "^4.0.0"
-
-"lru-cache@^9.1.1 || ^10.0.0":
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484"
- integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==
-
-magic-string@^0.30.0:
- version "0.30.5"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9"
- integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==
- dependencies:
- "@jridgewell/sourcemap-codec" "^1.4.15"
-
-make-cancellable-promise@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz#993c8c8b79cff13c74fa93de0bd8a17fe66685c1"
- integrity sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==
-
-make-dir@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-make-event-props@^1.6.0:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/make-event-props/-/make-event-props-1.6.2.tgz#c8e0e48eb28b9b808730de38359f6341de7ec5a2"
- integrity sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==
-
-map-limit@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/map-limit/-/map-limit-0.0.1.tgz#eb7961031c0f0e8d001bf2d56fab685d58822f38"
- integrity sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==
- dependencies:
- once "~1.3.0"
-
-mapbox-gl@1.10.1:
- version "1.10.1"
- resolved "https://registry.yarnpkg.com/mapbox-gl/-/mapbox-gl-1.10.1.tgz#7dbd53bdf2f78e45e125c1115e94dea286ef663c"
- integrity sha512-0aHt+lFUpYfvh0kMIqXqNXqoYMuhuAsMlw87TbhWrw78Tx2zfuPI0Lx31/YPUgJ+Ire0tzQ4JnuBL7acDNXmMg==
- dependencies:
- "@mapbox/geojson-rewind" "^0.5.0"
- "@mapbox/geojson-types" "^1.0.2"
- "@mapbox/jsonlint-lines-primitives" "^2.0.2"
- "@mapbox/mapbox-gl-supported" "^1.5.0"
- "@mapbox/point-geometry" "^0.1.0"
- "@mapbox/tiny-sdf" "^1.1.1"
- "@mapbox/unitbezier" "^0.0.0"
- "@mapbox/vector-tile" "^1.3.1"
- "@mapbox/whoots-js" "^3.1.0"
- csscolorparser "~1.0.3"
- earcut "^2.2.2"
- geojson-vt "^3.2.1"
- gl-matrix "^3.2.1"
- grid-index "^1.1.0"
- minimist "^1.2.5"
- murmurhash-js "^1.0.0"
- pbf "^3.2.1"
- potpack "^1.0.1"
- quickselect "^2.0.0"
- rw "^1.3.3"
- supercluster "^7.0.0"
- tinyqueue "^2.0.3"
- vt-pbf "^3.1.1"
-
-markdown-table@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd"
- integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==
-
-math-log2@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/math-log2/-/math-log2-1.0.1.tgz#fb8941be5f5ebe8979e718e6273b178e58694565"
- integrity sha512-9W0yGtkaMAkf74XGYVy4Dqw3YUMnTNB2eeiw9aQbUl4A3KmuCEHTt2DgAB07ENzOYAjsYSAYufkAq0Zd+jU7zA==
-
-mdast-util-find-and-replace@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz#a6fc7b62f0994e973490e45262e4bc07607b04e0"
- integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==
- dependencies:
- "@types/mdast" "^4.0.0"
- escape-string-regexp "^5.0.0"
- unist-util-is "^6.0.0"
- unist-util-visit-parents "^6.0.0"
-
-mdast-util-from-markdown@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88"
- integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==
- dependencies:
- "@types/mdast" "^4.0.0"
- "@types/unist" "^3.0.0"
- decode-named-character-reference "^1.0.0"
- devlop "^1.0.0"
- mdast-util-to-string "^4.0.0"
- micromark "^4.0.0"
- micromark-util-decode-numeric-character-reference "^2.0.0"
- micromark-util-decode-string "^2.0.0"
- micromark-util-normalize-identifier "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
- unist-util-stringify-position "^4.0.0"
-
-mdast-util-gfm-autolink-literal@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz#5baf35407421310a08e68c15e5d8821e8898ba2a"
- integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==
- dependencies:
- "@types/mdast" "^4.0.0"
- ccount "^2.0.0"
- devlop "^1.0.0"
- mdast-util-find-and-replace "^3.0.0"
- micromark-util-character "^2.0.0"
-
-mdast-util-gfm-footnote@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz#25a1753c7d16db8bfd53cd84fe50562bd1e6d6a9"
- integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==
- dependencies:
- "@types/mdast" "^4.0.0"
- devlop "^1.1.0"
- mdast-util-from-markdown "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
- micromark-util-normalize-identifier "^2.0.0"
-
-mdast-util-gfm-strikethrough@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16"
- integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==
- dependencies:
- "@types/mdast" "^4.0.0"
- mdast-util-from-markdown "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
-
-mdast-util-gfm-table@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38"
- integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==
- dependencies:
- "@types/mdast" "^4.0.0"
- devlop "^1.0.0"
- markdown-table "^3.0.0"
- mdast-util-from-markdown "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
-
-mdast-util-gfm-task-list-item@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936"
- integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==
- dependencies:
- "@types/mdast" "^4.0.0"
- devlop "^1.0.0"
- mdast-util-from-markdown "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
-
-mdast-util-gfm@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz#3f2aecc879785c3cb6a81ff3a243dc11eca61095"
- integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==
- dependencies:
- mdast-util-from-markdown "^2.0.0"
- mdast-util-gfm-autolink-literal "^2.0.0"
- mdast-util-gfm-footnote "^2.0.0"
- mdast-util-gfm-strikethrough "^2.0.0"
- mdast-util-gfm-table "^2.0.0"
- mdast-util-gfm-task-list-item "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
-
-mdast-util-mdx-expression@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz#4968b73724d320a379110d853e943a501bfd9d87"
- integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==
- dependencies:
- "@types/estree-jsx" "^1.0.0"
- "@types/hast" "^3.0.0"
- "@types/mdast" "^4.0.0"
- devlop "^1.0.0"
- mdast-util-from-markdown "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
-
-mdast-util-mdx-jsx@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz#f73631fa5bb7a36712ff1e9cedec0cafed03401c"
- integrity sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==
- dependencies:
- "@types/estree-jsx" "^1.0.0"
- "@types/hast" "^3.0.0"
- "@types/mdast" "^4.0.0"
- "@types/unist" "^3.0.0"
- ccount "^2.0.0"
- devlop "^1.1.0"
- mdast-util-from-markdown "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
- parse-entities "^4.0.0"
- stringify-entities "^4.0.0"
- unist-util-remove-position "^5.0.0"
- unist-util-stringify-position "^4.0.0"
- vfile-message "^4.0.0"
-
-mdast-util-mdxjs-esm@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97"
- integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==
- dependencies:
- "@types/estree-jsx" "^1.0.0"
- "@types/hast" "^3.0.0"
- "@types/mdast" "^4.0.0"
- devlop "^1.0.0"
- mdast-util-from-markdown "^2.0.0"
- mdast-util-to-markdown "^2.0.0"
-
-mdast-util-phrasing@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz#468cbbb277375523de807248b8ad969feb02a5c7"
- integrity sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==
- dependencies:
- "@types/mdast" "^4.0.0"
- unist-util-is "^6.0.0"
-
-mdast-util-to-hast@^13.0.0:
- version "13.0.2"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz#74c0a9f014bb2340cae6118f6fccd75467792be7"
- integrity sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==
- dependencies:
- "@types/hast" "^3.0.0"
- "@types/mdast" "^4.0.0"
- "@ungap/structured-clone" "^1.0.0"
- devlop "^1.0.0"
- micromark-util-sanitize-uri "^2.0.0"
- trim-lines "^3.0.0"
- unist-util-position "^5.0.0"
- unist-util-visit "^5.0.0"
-
-mdast-util-to-markdown@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz#9813f1d6e0cdaac7c244ec8c6dabfdb2102ea2b4"
- integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==
- dependencies:
- "@types/mdast" "^4.0.0"
- "@types/unist" "^3.0.0"
- longest-streak "^3.0.0"
- mdast-util-phrasing "^4.0.0"
- mdast-util-to-string "^4.0.0"
- micromark-util-decode-string "^2.0.0"
- unist-util-visit "^5.0.0"
- zwitch "^2.0.0"
-
-mdast-util-to-string@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814"
- integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==
- dependencies:
- "@types/mdast" "^4.0.0"
-
-merge-refs@^1.2.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/merge-refs/-/merge-refs-1.2.2.tgz#6142633398dd0d10a37626cae77ddeb1db26db0c"
- integrity sha512-RwcT7GsQR3KbuLw1rRuodq4Nt547BKEBkliZ0qqsrpyNne9bGTFtsFIsIpx82huWhcl3kOlOlH4H0xkPk/DqVw==
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.3.0, merge2@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-micromark-core-commonmark@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz#50740201f0ee78c12a675bf3e68ffebc0bf931a3"
- integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==
- dependencies:
- decode-named-character-reference "^1.0.0"
- devlop "^1.0.0"
- micromark-factory-destination "^2.0.0"
- micromark-factory-label "^2.0.0"
- micromark-factory-space "^2.0.0"
- micromark-factory-title "^2.0.0"
- micromark-factory-whitespace "^2.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-chunked "^2.0.0"
- micromark-util-classify-character "^2.0.0"
- micromark-util-html-tag-name "^2.0.0"
- micromark-util-normalize-identifier "^2.0.0"
- micromark-util-resolve-all "^2.0.0"
- micromark-util-subtokenize "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-extension-gfm-autolink-literal@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz#f1e50b42e67d441528f39a67133eddde2bbabfd9"
- integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==
- dependencies:
- micromark-util-character "^2.0.0"
- micromark-util-sanitize-uri "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-extension-gfm-footnote@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz#91afad310065a94b636ab1e9dab2c60d1aab953c"
- integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==
- dependencies:
- devlop "^1.0.0"
- micromark-core-commonmark "^2.0.0"
- micromark-factory-space "^2.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-normalize-identifier "^2.0.0"
- micromark-util-sanitize-uri "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-extension-gfm-strikethrough@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz#6917db8e320da70e39ffbf97abdbff83e6783e61"
- integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==
- dependencies:
- devlop "^1.0.0"
- micromark-util-chunked "^2.0.0"
- micromark-util-classify-character "^2.0.0"
- micromark-util-resolve-all "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-extension-gfm-table@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz#2cf3fe352d9e089b7ef5fff003bdfe0da29649b7"
- integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==
- dependencies:
- devlop "^1.0.0"
- micromark-factory-space "^2.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-extension-gfm-tagfilter@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57"
- integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==
- dependencies:
- micromark-util-types "^2.0.0"
-
-micromark-extension-gfm-task-list-item@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz#ee8b208f1ced1eb9fb11c19a23666e59d86d4838"
- integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==
- dependencies:
- devlop "^1.0.0"
- micromark-factory-space "^2.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-extension-gfm@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b"
- integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==
- dependencies:
- micromark-extension-gfm-autolink-literal "^2.0.0"
- micromark-extension-gfm-footnote "^2.0.0"
- micromark-extension-gfm-strikethrough "^2.0.0"
- micromark-extension-gfm-table "^2.0.0"
- micromark-extension-gfm-tagfilter "^2.0.0"
- micromark-extension-gfm-task-list-item "^2.0.0"
- micromark-util-combine-extensions "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-factory-destination@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz#857c94debd2c873cba34e0445ab26b74f6a6ec07"
- integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==
- dependencies:
- micromark-util-character "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-factory-label@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz#17c5c2e66ce39ad6f4fc4cbf40d972f9096f726a"
- integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==
- dependencies:
- devlop "^1.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-factory-space@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz#5e7afd5929c23b96566d0e1ae018ae4fcf81d030"
- integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==
- dependencies:
- micromark-util-character "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-factory-title@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz#726140fc77892af524705d689e1cf06c8a83ea95"
- integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==
- dependencies:
- micromark-factory-space "^2.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-factory-whitespace@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz#9e92eb0f5468083381f923d9653632b3cfb5f763"
- integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==
- dependencies:
- micromark-factory-space "^2.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-util-character@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.0.1.tgz#52b824c2e2633b6fb33399d2ec78ee2a90d6b298"
- integrity sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==
- dependencies:
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-util-chunked@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz#e51f4db85fb203a79dbfef23fd41b2f03dc2ef89"
- integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==
- dependencies:
- micromark-util-symbol "^2.0.0"
-
-micromark-util-classify-character@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz#8c7537c20d0750b12df31f86e976d1d951165f34"
- integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==
- dependencies:
- micromark-util-character "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-util-combine-extensions@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz#75d6ab65c58b7403616db8d6b31315013bfb7ee5"
- integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==
- dependencies:
- micromark-util-chunked "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-util-decode-numeric-character-reference@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz#2698bbb38f2a9ba6310e359f99fcb2b35a0d2bd5"
- integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==
- dependencies:
- micromark-util-symbol "^2.0.0"
-
-micromark-util-decode-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz#7dfa3a63c45aecaa17824e656bcdb01f9737154a"
- integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==
- dependencies:
- decode-named-character-reference "^1.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-decode-numeric-character-reference "^2.0.0"
- micromark-util-symbol "^2.0.0"
-
-micromark-util-encode@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1"
- integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==
-
-micromark-util-html-tag-name@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz#ae34b01cbe063363847670284c6255bb12138ec4"
- integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==
-
-micromark-util-normalize-identifier@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz#91f9a4e65fe66cc80c53b35b0254ad67aa431d8b"
- integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==
- dependencies:
- micromark-util-symbol "^2.0.0"
-
-micromark-util-resolve-all@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz#189656e7e1a53d0c86a38a652b284a252389f364"
- integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==
- dependencies:
- micromark-util-types "^2.0.0"
-
-micromark-util-sanitize-uri@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de"
- integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==
- dependencies:
- micromark-util-character "^2.0.0"
- micromark-util-encode "^2.0.0"
- micromark-util-symbol "^2.0.0"
-
-micromark-util-subtokenize@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz#9f412442d77e0c5789ffdf42377fa8a2bcbdf581"
- integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==
- dependencies:
- devlop "^1.0.0"
- micromark-util-chunked "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromark-util-symbol@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044"
- integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==
-
-micromark-util-types@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e"
- integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==
-
-micromark@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.0.tgz#84746a249ebd904d9658cfabc1e8e5f32cbc6249"
- integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==
- dependencies:
- "@types/debug" "^4.0.0"
- debug "^4.0.0"
- decode-named-character-reference "^1.0.0"
- devlop "^1.0.0"
- micromark-core-commonmark "^2.0.0"
- micromark-factory-space "^2.0.0"
- micromark-util-character "^2.0.0"
- micromark-util-chunked "^2.0.0"
- micromark-util-combine-extensions "^2.0.0"
- micromark-util-decode-numeric-character-reference "^2.0.0"
- micromark-util-encode "^2.0.0"
- micromark-util-normalize-identifier "^2.0.0"
- micromark-util-resolve-all "^2.0.0"
- micromark-util-sanitize-uri "^2.0.0"
- micromark-util-subtokenize "^2.0.0"
- micromark-util-symbol "^2.0.0"
- micromark-util-types "^2.0.0"
-
-micromatch@^4.0.4:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
- integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
- dependencies:
- braces "^3.0.2"
- picomatch "^2.3.1"
-
-mime-db@1.52.0:
- version "1.52.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
- integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-
-mime-types@^2.1.12:
- version "2.1.35"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
- integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
- dependencies:
- mime-db "1.52.0"
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-mimic-fn@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
- integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
-
-mimic-response@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
- integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
-
-minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^9.0.1:
- version "9.0.3"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
- integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
- dependencies:
- brace-expansion "^2.0.1"
-
-minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
- integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
-
-minipass@^3.0.0:
- version "3.3.6"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
- integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
- dependencies:
- yallist "^4.0.0"
-
-minipass@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
- integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
-
-"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
- version "7.0.4"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c"
- integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
-
-minizlib@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
- integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
- dependencies:
- minipass "^3.0.0"
- yallist "^4.0.0"
-
-mkdirp@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-mouse-change@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/mouse-change/-/mouse-change-1.4.0.tgz#c2b77e5bfa34a43ce1445c8157a4e4dc9895c14f"
- integrity sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==
- dependencies:
- mouse-event "^1.0.0"
-
-mouse-event-offset@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz#dfd86a6e248c6ba8cad53b905d5037a2063e9984"
- integrity sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==
-
-mouse-event@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/mouse-event/-/mouse-event-1.0.5.tgz#b3789edb7109997d5a932d1d01daa1543a501732"
- integrity sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==
-
-mouse-wheel@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mouse-wheel/-/mouse-wheel-1.2.0.tgz#6d2903b1ea8fb48e61f1b53b9036773f042cdb5c"
- integrity sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==
- dependencies:
- right-now "^1.0.0"
- signum "^1.0.0"
- to-px "^1.0.1"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@^2.1.1:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-mumath@^3.3.4:
- version "3.3.4"
- resolved "https://registry.yarnpkg.com/mumath/-/mumath-3.3.4.tgz#48d4a0f0fd8cad4e7b32096ee89b161a63d30bbf"
- integrity sha512-VAFIOG6rsxoc7q/IaY3jdjmrsuX9f15KlRLYTHmixASBZkZEKC1IFqE2BC5CdhXmK6WLM1Re33z//AGmeRI6FA==
- dependencies:
- almost-equal "^1.1.0"
-
-murmurhash-js@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51"
- integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==
-
-mz@^2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
- integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
- dependencies:
- any-promise "^1.0.0"
- object-assign "^4.0.1"
- thenify-all "^1.0.0"
-
-nan@^2.17.0:
- version "2.18.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
- integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
-
-nanoid@^3.3.7:
- version "3.3.7"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
- integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
-
-native-promise-only@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11"
- integrity sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-
-needle@^2.5.2:
- version "2.9.1"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684"
- integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==
- dependencies:
- debug "^3.2.6"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
-next-tick@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
- integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
-
-node-fetch@^2.6.7:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
- integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
- dependencies:
- whatwg-url "^5.0.0"
-
-node-releases@^2.0.14:
- version "2.0.14"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
- integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
-
-nopt@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
- integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
- dependencies:
- abbrev "1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-svg-path@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz#0e614eca23c39f0cffe821d6be6cd17e569a766c"
- integrity sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==
- dependencies:
- svg-arc-to-cubic-bezier "^3.0.0"
-
-normalize-svg-path@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/normalize-svg-path/-/normalize-svg-path-0.1.0.tgz#456360e60ece75fbef7b5d7e160480e7ffd16fe5"
- integrity sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA==
-
-npm-run-path@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
-npm-run-path@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00"
- integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==
- dependencies:
- path-key "^4.0.0"
-
-npmlog@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
- integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
- dependencies:
- are-we-there-yet "^2.0.0"
- console-control-strings "^1.1.0"
- gauge "^3.0.0"
- set-blocking "^2.0.0"
-
-number-is-integer@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-integer/-/number-is-integer-1.0.1.tgz#e59bca172ffed27318e79c7ceb6cb72c095b2152"
- integrity sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==
- dependencies:
- is-finite "^1.0.1"
-
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
-
-object-hash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
- integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
-
-object-inspect@^1.13.1, object-inspect@^1.9.0:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
- integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
-
-object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object.assign@^4.1.4:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0"
- integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==
- dependencies:
- call-bind "^1.0.5"
- define-properties "^1.2.1"
- has-symbols "^1.0.3"
- object-keys "^1.1.1"
-
-object.entries@^1.1.6:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131"
- integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-object.fromentries@^2.0.6, object.fromentries@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616"
- integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-object.groupby@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee"
- integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
-
-object.hasown@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae"
- integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==
- dependencies:
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-object.values@^1.1.6, object.values@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a"
- integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
-once@~1.3.0:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
- integrity sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==
- dependencies:
- wrappy "1"
-
-onetime@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-onetime@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
- integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
- dependencies:
- mimic-fn "^4.0.0"
-
-open@^9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6"
- integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==
- dependencies:
- default-browser "^4.0.0"
- define-lazy-prop "^3.0.0"
- is-inside-container "^1.0.0"
- is-wsl "^2.2.0"
-
-optionator@^0.8.1:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
- integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
- dependencies:
- deep-is "~0.1.3"
- fast-levenshtein "~2.0.6"
- levn "~0.3.0"
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
- word-wrap "~1.2.3"
-
-optionator@^0.9.3:
- version "0.9.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
- integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
- dependencies:
- "@aashutoshrathi/word-wrap" "^1.2.3"
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.0"
-
-p-limit@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-locate@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
- integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
- dependencies:
- p-limit "^3.0.2"
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parenthesis@^3.1.5:
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/parenthesis/-/parenthesis-3.1.8.tgz#3457fccb8f05db27572b841dad9d2630b912f125"
- integrity sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==
-
-parse-entities@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e"
- integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==
- dependencies:
- "@types/unist" "^2.0.0"
- character-entities "^2.0.0"
- character-entities-legacy "^3.0.0"
- character-reference-invalid "^2.0.0"
- decode-named-character-reference "^1.0.0"
- is-alphanumerical "^2.0.0"
- is-decimal "^2.0.0"
- is-hexadecimal "^2.0.0"
-
-parse-json@^5.0.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
- integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-even-better-errors "^2.3.0"
- lines-and-columns "^1.1.6"
-
-parse-numeric-range@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3"
- integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==
-
-parse-rect@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/parse-rect/-/parse-rect-1.2.0.tgz#e0a5b0dbaaaee637a0a1eb9779969e19399d8dec"
- integrity sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==
- dependencies:
- pick-by-alias "^1.2.0"
-
-parse-svg-path@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/parse-svg-path/-/parse-svg-path-0.1.2.tgz#7a7ec0d1eb06fa5325c7d3e009b859a09b5d49eb"
- integrity sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==
-
-parse-unit@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parse-unit/-/parse-unit-1.0.1.tgz#7e1bb6d5bef3874c28e392526a2541170291eecf"
- integrity sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==
-
-parse5@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
- integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-key@^3.0.0, path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-key@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
- integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-path-scurry@^1.10.1:
- version "1.10.1"
- resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698"
- integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==
- dependencies:
- lru-cache "^9.1.1 || ^10.0.0"
- minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-path2d-polyfill@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz#24c554a738f42700d6961992bf5f1049672f2391"
- integrity sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==
-
-pbf@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.2.1.tgz#b4c1b9e72af966cd82c6531691115cc0409ffe2a"
- integrity sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==
- dependencies:
- ieee754 "^1.1.12"
- resolve-protobuf-schema "^2.1.0"
-
-pdfjs-dist@3.11.174:
- version "3.11.174"
- resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-3.11.174.tgz#5ff47b80f2d58c8dd0d74f615e7c6a7e7e704c4b"
- integrity sha512-TdTZPf1trZ8/UFu5Cx/GXB7GZM30LT+wWUNfsi6Bq8ePLnb+woNKtDymI2mxZYBpMbonNFqKmiz684DIfnd8dA==
- optionalDependencies:
- canvas "^2.11.2"
- path2d-polyfill "^2.0.1"
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
-
-pick-by-alias@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/pick-by-alias/-/pick-by-alias-1.2.0.tgz#5f7cb2b1f21a6e1e884a0c87855aa4a37361107b"
- integrity sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==
-
-picocolors@1.0.0, picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-pirates@^4.0.1:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
- integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
-
-plotly.js@^2.27.1:
- version "2.27.1"
- resolved "https://registry.yarnpkg.com/plotly.js/-/plotly.js-2.27.1.tgz#064d80d17ad8f9cde400d6f7df45926f520dac06"
- integrity sha512-XeE0zTJWTxURYrUJqzf73l8lTb+HnyRvvhHkoSIEvWf58ins4saopo9l25kCm+xHAGz8E/2EOncE4DyXsJ34kA==
- dependencies:
- "@plotly/d3" "3.8.1"
- "@plotly/d3-sankey" "0.7.2"
- "@plotly/d3-sankey-circular" "0.33.1"
- "@turf/area" "^6.4.0"
- "@turf/bbox" "^6.4.0"
- "@turf/centroid" "^6.0.2"
- canvas-fit "^1.5.0"
- color-alpha "1.0.4"
- color-normalize "1.5.0"
- color-parse "1.3.8"
- color-rgba "2.1.1"
- country-regex "^1.1.0"
- d3-force "^1.2.1"
- d3-format "^1.4.5"
- d3-geo "^1.12.1"
- d3-geo-projection "^2.9.0"
- d3-hierarchy "^1.1.9"
- d3-interpolate "^3.0.1"
- d3-time "^1.1.0"
- d3-time-format "^2.2.3"
- fast-isnumeric "^1.1.4"
- gl-mat4 "^1.2.0"
- gl-text "^1.3.1"
- glslify "^7.1.1"
- has-hover "^1.0.1"
- has-passive-events "^1.0.0"
- is-mobile "^4.0.0"
- mapbox-gl "1.10.1"
- mouse-change "^1.4.0"
- mouse-event-offset "^3.0.2"
- mouse-wheel "^1.2.0"
- native-promise-only "^0.8.1"
- parse-svg-path "^0.1.2"
- point-in-polygon "^1.1.0"
- polybooljs "^1.2.0"
- probe-image-size "^7.2.3"
- regl "npm:@plotly/regl@^2.1.2"
- regl-error2d "^2.0.12"
- regl-line2d "^3.1.2"
- regl-scatter2d "^3.2.9"
- regl-splom "^1.0.14"
- strongly-connected-components "^1.0.1"
- superscript-text "^1.0.0"
- svg-path-sdf "^1.1.3"
- tinycolor2 "^1.4.2"
- to-px "1.0.1"
- topojson-client "^3.1.0"
- webgl-context "^2.2.0"
- world-calendars "^1.0.3"
-
-point-in-polygon@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz#b0af2616c01bdee341cbf2894df643387ca03357"
- integrity sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==
-
-polybooljs@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/polybooljs/-/polybooljs-1.2.0.tgz#b4390c2e079d4c262d3b2504c6288d95ba7a4758"
- integrity sha512-mKjR5nolISvF+q2BtC1fi/llpxBPTQ3wLWN8+ldzdw2Hocpc8C72ZqnamCM4Z6z+68GVVjkeM01WJegQmZ8MEQ==
-
-postcss@^8.4.27:
- version "8.4.32"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9"
- integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==
- dependencies:
- nanoid "^3.3.7"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-potpack@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/potpack/-/potpack-1.0.2.tgz#23b99e64eb74f5741ffe7656b5b5c4ddce8dfc14"
- integrity sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==
-
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
- integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
-
-prettier-linter-helpers@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
- integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
- dependencies:
- fast-diff "^1.1.2"
-
-prettier@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848"
- integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==
-
-probe-image-size@^7.2.3:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/probe-image-size/-/probe-image-size-7.2.3.tgz#d49c64be540ec8edea538f6f585f65a9b3ab4309"
- integrity sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==
- dependencies:
- lodash.merge "^4.6.2"
- needle "^2.5.2"
- stream-parser "~0.3.1"
-
-process-nextick-args@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-prop-types@^15.6.2, prop-types@^15.8.1:
- version "15.8.1"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
- integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
- dependencies:
- loose-envify "^1.4.0"
- object-assign "^4.1.1"
- react-is "^16.13.1"
-
-property-expr@^2.0.5:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8"
- integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==
-
-property-information@^6.0.0:
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.4.0.tgz#6bc4c618b0c2d68b3bb8b552cbb97f8e300a0f82"
- integrity sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==
-
-protocol-buffers-schema@^3.3.1:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03"
- integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==
-
-proxy-from-env@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
- integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
-
-punycode@^2.1.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
- integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-quickselect@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
- integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
-
-raf@^3.4.1:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
- integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
- dependencies:
- performance-now "^2.1.0"
-
-randombytes@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-react-dom@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
- integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
- dependencies:
- loose-envify "^1.1.0"
- scheduler "^0.23.0"
-
-react-draggable@^4.4.5:
- version "4.4.6"
- resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.6.tgz#63343ee945770881ca1256a5b6fa5c9f5983fe1e"
- integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==
- dependencies:
- clsx "^1.1.1"
- prop-types "^15.8.1"
-
-react-hook-form@^7.45.1:
- version "7.49.2"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.49.2.tgz#6fb2742e1308020f26cb1915c7012b6c07b11ade"
- integrity sha512-TZcnSc17+LPPVpMRIDNVITY6w20deMdNi6iehTFLV1x8SqThXGwu93HjlUVU09pzFgZH7qZOvLMM7UYf2ShAHA==
-
-react-is@^16.13.1, react-is@^16.7.0:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-is@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
- integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-
-react-markdown@9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-9.0.0.tgz#7a41bde9e1b0b1d6911f6f9f8c3cdb4a3e9f9328"
- integrity sha512-v6yNf3AB8GfJ8lCpUvzxAXKxgsHpdmWPlcVRQ6Nocsezp255E/IDrF31kLQsPJeB/cKto/geUwjU36wH784FCA==
- dependencies:
- "@types/hast" "^3.0.0"
- devlop "^1.0.0"
- hast-util-to-jsx-runtime "^2.0.0"
- html-url-attributes "^3.0.0"
- mdast-util-to-hast "^13.0.0"
- micromark-util-sanitize-uri "^2.0.0"
- remark-parse "^11.0.0"
- remark-rehype "^11.0.0"
- unified "^11.0.0"
- unist-util-visit "^5.0.0"
- vfile "^6.0.0"
-
-react-pdf@^7.6.0:
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/react-pdf/-/react-pdf-7.6.0.tgz#e77ad78c02602149f199ad7cfbc411e8ddb10a60"
- integrity sha512-b2/8V6xhe5pn4Y01ELKTQZ+RhdZl1KpSAMGbN+HCZ/kwhYTIc4Pn5ctz1wRQUu1gOJbIEG4CcjMD9vTCzNdwjw==
- dependencies:
- clsx "^2.0.0"
- make-cancellable-promise "^1.3.1"
- make-event-props "^1.6.0"
- merge-refs "^1.2.1"
- pdfjs-dist "3.11.174"
- prop-types "^15.6.2"
- tiny-invariant "^1.0.0"
- tiny-warning "^1.0.0"
-
-react-plotly.js@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/react-plotly.js/-/react-plotly.js-2.6.0.tgz#ad6b68ee64f1b5cfa142ee92c59687f9c2c09209"
- integrity sha512-g93xcyhAVCSt9kV1svqG1clAEdL6k3U+jjuSzfTV7owaSU9Go6Ph8bl25J+jKfKvIGAEYpe4qj++WHJuc9IaeA==
- dependencies:
- prop-types "^15.8.1"
-
-react-refresh@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
- integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
-
-react-router-dom@^6.6.0:
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.21.0.tgz#aa4c6bc046a8e8723095bc09b3c0ab2254532712"
- integrity sha512-1dUdVj3cwc1npzJaf23gulB562ESNvxf7E4x8upNJycqyUm5BRRZ6dd3LrlzhtLaMrwOCO8R0zoiYxdaJx4LlQ==
- dependencies:
- "@remix-run/router" "1.14.0"
- react-router "6.21.0"
-
-react-router@6.21.0:
- version "6.21.0"
- resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.21.0.tgz#6fe3e59877aca3dccceec1801d26991ddf42d12b"
- integrity sha512-hGZ0HXbwz3zw52pLZV3j3+ec+m/PQ9cTpBvqjFQmy2XVUWGn5MD+31oXHb6dVTxYzmAeaiUBYjkoNz66n3RGCg==
- dependencies:
- "@remix-run/router" "1.14.0"
-
-react-to-print@^2.14.15:
- version "2.14.15"
- resolved "https://registry.yarnpkg.com/react-to-print/-/react-to-print-2.14.15.tgz#edb4ce8a92205cf37fd8c3d57de829034aa5c911"
- integrity sha512-SKnwOzU2cJ8eaAkoJO7+gNhvfEDmm+Y34IdcHsjtHioUevUPhprqbVtvNJlZ2JkGJ8ExK2QNWM9pXECTDR5D8w==
-
-react-toastify@^9.1.1:
- version "9.1.3"
- resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-9.1.3.tgz#1e798d260d606f50e0fab5ee31daaae1d628c5ff"
- integrity sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==
- dependencies:
- clsx "^1.1.1"
-
-react-transition-group@^4.4.5:
- version "4.4.5"
- resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
- integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
- dependencies:
- "@babel/runtime" "^7.5.5"
- dom-helpers "^5.0.1"
- loose-envify "^1.4.0"
- prop-types "^15.6.2"
-
-react@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
- integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
- dependencies:
- loose-envify "^1.1.0"
-
-reactflow@^11.4.0:
- version "11.10.1"
- resolved "https://registry.yarnpkg.com/reactflow/-/reactflow-11.10.1.tgz#8f8c75a7c7d07f44eeb8c0dcb3a757c5f4e95b03"
- integrity sha512-Q616fElAc5/N37tMwjuRkkgm/VgmnLLTNNCj61z5mvJxae+/VXZQMfot1K6a5LLz9G3SVKqU97PMb9Ga1PRXew==
- dependencies:
- "@reactflow/background" "11.3.6"
- "@reactflow/controls" "11.2.6"
- "@reactflow/core" "11.10.1"
- "@reactflow/minimap" "11.7.6"
- "@reactflow/node-resizer" "2.2.6"
- "@reactflow/node-toolbar" "1.3.6"
-
-"readable-stream@>=1.0.33-1 <1.1.0-0":
- version "1.0.34"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
- integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
-readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@~2.3.6:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
- integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~2.0.0"
- safe-buffer "~5.1.1"
- string_decoder "~1.1.1"
- util-deprecate "~1.0.1"
-
-readable-stream@^3.6.0:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
- integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-recrawl-sync@^2.0.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/recrawl-sync/-/recrawl-sync-2.2.3.tgz#757adcdaae4799466dde5b8ee52122ff9636dfb1"
- integrity sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==
- dependencies:
- "@cush/relative" "^1.0.0"
- glob-regex "^0.3.0"
- slash "^3.0.0"
- sucrase "^3.20.3"
- tslib "^1.9.3"
-
-reflect.getprototypeof@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3"
- integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
- globalthis "^1.0.3"
- which-builtin-type "^1.1.3"
-
-refractor@^4.8.0:
- version "4.8.1"
- resolved "https://registry.yarnpkg.com/refractor/-/refractor-4.8.1.tgz#fbdd889333a3d86c9c864479622855c9b38e9d42"
- integrity sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/prismjs" "^1.0.0"
- hastscript "^7.0.0"
- parse-entities "^4.0.0"
-
-regenerator-runtime@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
- integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
-
-regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e"
- integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- set-function-name "^2.0.0"
-
-regl-error2d@^2.0.12:
- version "2.0.12"
- resolved "https://registry.yarnpkg.com/regl-error2d/-/regl-error2d-2.0.12.tgz#3b976e13fe641d5242a154fcacc80aecfa0a9881"
- integrity sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==
- dependencies:
- array-bounds "^1.0.1"
- color-normalize "^1.5.0"
- flatten-vertex-data "^1.0.2"
- object-assign "^4.1.1"
- pick-by-alias "^1.2.0"
- to-float32 "^1.1.0"
- update-diff "^1.1.0"
-
-regl-line2d@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/regl-line2d/-/regl-line2d-3.1.2.tgz#2bedef7f44c1f7fae75c90f9918258723ca84c1c"
- integrity sha512-nmT7WWS/WxmXAQMkgaMKWXaVmwJ65KCrjbqHGOUjjqQi6shfT96YbBOvelXwO9hG7/hjvbzjtQ2UO0L3e7YaXQ==
- dependencies:
- array-bounds "^1.0.1"
- array-find-index "^1.0.2"
- array-normalize "^1.1.4"
- color-normalize "^1.5.0"
- earcut "^2.1.5"
- es6-weak-map "^2.0.3"
- flatten-vertex-data "^1.0.2"
- glslify "^7.0.0"
- object-assign "^4.1.1"
- parse-rect "^1.2.0"
- pick-by-alias "^1.2.0"
- to-float32 "^1.1.0"
-
-regl-scatter2d@^3.2.3, regl-scatter2d@^3.2.9:
- version "3.2.9"
- resolved "https://registry.yarnpkg.com/regl-scatter2d/-/regl-scatter2d-3.2.9.tgz#cd27b014c355e80d96fb2f273b563fd8f1b094f0"
- integrity sha512-PNrXs+xaCClKpiB2b3HZ2j3qXQXhC5kcTh/Nfgx9rLO0EpEhab0BSQDqAsbdbpdf+pSHSJvbgitB7ulbGeQ+Fg==
- dependencies:
- "@plotly/point-cluster" "^3.1.9"
- array-range "^1.0.1"
- array-rearrange "^2.2.2"
- clamp "^1.0.1"
- color-id "^1.1.0"
- color-normalize "^1.5.0"
- color-rgba "^2.1.1"
- flatten-vertex-data "^1.0.2"
- glslify "^7.0.0"
- is-iexplorer "^1.0.0"
- object-assign "^4.1.1"
- parse-rect "^1.2.0"
- pick-by-alias "^1.2.0"
- to-float32 "^1.1.0"
- update-diff "^1.1.0"
-
-regl-splom@^1.0.14:
- version "1.0.14"
- resolved "https://registry.yarnpkg.com/regl-splom/-/regl-splom-1.0.14.tgz#58800b7bbd7576aa323499a1966868a6c9ea1456"
- integrity sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==
- dependencies:
- array-bounds "^1.0.1"
- array-range "^1.0.1"
- color-alpha "^1.0.4"
- flatten-vertex-data "^1.0.2"
- parse-rect "^1.2.0"
- pick-by-alias "^1.2.0"
- raf "^3.4.1"
- regl-scatter2d "^3.2.3"
-
-regl@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/regl/-/regl-2.1.0.tgz#7dae71e9ff20f29c4f42f510c70cd92ebb6b657c"
- integrity sha512-oWUce/aVoEvW5l2V0LK7O5KJMzUSKeiOwFuJehzpSFd43dO5spP9r+sSUfhKtsky4u6MCqWJaRL+abzExynfTg==
-
-"regl@npm:@plotly/regl@^2.1.2":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@plotly/regl/-/regl-2.1.2.tgz#fd31e3e820ed8824d59a67ab5e766bb101b810b6"
- integrity sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==
-
-rehype-parse@^8.0.0, rehype-parse@^8.0.2:
- version "8.0.5"
- resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.5.tgz#ccffc21e08e288c7846614f8dc1dc23d603a4a80"
- integrity sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==
- dependencies:
- "@types/hast" "^2.0.0"
- hast-util-from-parse5 "^7.0.0"
- parse5 "^6.0.0"
- unified "^10.0.0"
-
-rehype-prism-plus@1.6.3:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/rehype-prism-plus/-/rehype-prism-plus-1.6.3.tgz#8bf23a4cfc3419349770bb9064a91bdab04fae86"
- integrity sha512-F6tn376zimnvy+xW0bSnryul+rvVL7NhDIkavc9kAuzDx5zIZW04A6jdXPkcFBhojcqZB8b6pHt6CLqiUx+Tbw==
- dependencies:
- hast-util-to-string "^2.0.0"
- parse-numeric-range "^1.3.0"
- refractor "^4.8.0"
- rehype-parse "^8.0.2"
- unist-util-filter "^4.0.0"
- unist-util-visit "^4.0.0"
-
-rehype-stringify@^9.0.0:
- version "9.0.4"
- resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-9.0.4.tgz#31dbb9de6f5034c6964760a1b1083218059c4343"
- integrity sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==
- dependencies:
- "@types/hast" "^2.0.0"
- hast-util-to-html "^8.0.0"
- unified "^10.0.0"
-
-rehype@~12.0.1:
- version "12.0.1"
- resolved "https://registry.yarnpkg.com/rehype/-/rehype-12.0.1.tgz#68a317662576dcaa2565a3952e149d6900096bf6"
- integrity sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==
- dependencies:
- "@types/hast" "^2.0.0"
- rehype-parse "^8.0.0"
- rehype-stringify "^9.0.0"
- unified "^10.0.0"
-
-remark-gfm@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.0.tgz#aea777f0744701aa288b67d28c43565c7e8c35de"
- integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==
- dependencies:
- "@types/mdast" "^4.0.0"
- mdast-util-gfm "^3.0.0"
- micromark-extension-gfm "^3.0.0"
- remark-parse "^11.0.0"
- remark-stringify "^11.0.0"
- unified "^11.0.0"
-
-remark-parse@^11.0.0:
- version "11.0.0"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1"
- integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==
- dependencies:
- "@types/mdast" "^4.0.0"
- mdast-util-from-markdown "^2.0.0"
- micromark-util-types "^2.0.0"
- unified "^11.0.0"
-
-remark-rehype@^11.0.0:
- version "11.0.0"
- resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.0.0.tgz#7f21c08738bde024be5f16e4a8b13e5d7a04cf6b"
- integrity sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==
- dependencies:
- "@types/hast" "^3.0.0"
- "@types/mdast" "^4.0.0"
- mdast-util-to-hast "^13.0.0"
- unified "^11.0.0"
- vfile "^6.0.0"
-
-remark-stringify@^11.0.0:
- version "11.0.0"
- resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3"
- integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==
- dependencies:
- "@types/mdast" "^4.0.0"
- mdast-util-to-markdown "^2.0.0"
- unified "^11.0.0"
-
-reselect@^4.1.8:
- version "4.1.8"
- resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524"
- integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-resolve-pkg-maps@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
- integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
-
-resolve-protobuf-schema@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758"
- integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==
- dependencies:
- protocol-buffers-schema "^3.3.1"
-
-resolve@^0.6.1:
- version "0.6.3"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.6.3.tgz#dd957982e7e736debdf53b58a4dd91754575dd46"
- integrity sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==
-
-resolve@^1.0.0, resolve@^1.1.10, resolve@^1.1.5, resolve@^1.19.0, resolve@^1.22.2, resolve@^1.22.4:
- version "1.22.8"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
- integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
- dependencies:
- is-core-module "^2.13.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-resolve@^2.0.0-next.4:
- version "2.0.0-next.5"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c"
- integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==
- dependencies:
- is-core-module "^2.13.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-right-now@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/right-now/-/right-now-1.0.0.tgz#6e89609deebd7dcdaf8daecc9aea39cf585a0918"
- integrity sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==
-
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-rollup@^3.27.1:
- version "3.29.4"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981"
- integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==
- optionalDependencies:
- fsevents "~2.3.2"
-
-run-applescript@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c"
- integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==
- dependencies:
- execa "^5.0.0"
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-rw@^1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
- integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==
-
-safe-array-concat@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c"
- integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.1"
- has-symbols "^1.0.3"
- isarray "^2.0.5"
-
-safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-regex-test@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
- integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.3"
- is-regex "^1.1.4"
-
-"safer-buffer@>= 2.1.2 < 3":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sax@^1.2.4:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0"
- integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==
-
-scheduler@^0.23.0:
- version "0.23.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
- integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
- dependencies:
- loose-envify "^1.1.0"
-
-semver@^6.0.0, semver@^6.3.1:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
- integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-semver@^7.0.0, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4:
- version "7.5.4"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-serialize-javascript@6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c"
- integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==
- dependencies:
- randombytes "^2.1.0"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-
-set-function-length@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed"
- integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==
- 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.0, set-function-name@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a"
- integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==
- dependencies:
- define-data-property "^1.0.1"
- functions-have-names "^1.2.3"
- has-property-descriptors "^1.0.0"
-
-shallow-copy@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170"
- integrity sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-side-channel@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
- integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
- dependencies:
- call-bind "^1.0.0"
- get-intrinsic "^1.0.2"
- object-inspect "^1.9.0"
-
-signal-exit@^3.0.0, signal-exit@^3.0.3, signal-exit@^3.0.7:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
- integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-
-signal-exit@^4.0.1:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
- integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
-
-signum@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/signum/-/signum-1.0.0.tgz#74a7d2bf2a20b40eba16a92b152124f1d559fa77"
- integrity sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==
-
-simple-concat@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
- integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
-
-simple-get@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55"
- integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==
- dependencies:
- decompress-response "^4.2.0"
- once "^1.3.1"
- simple-concat "^1.0.0"
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map@^0.5.7:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
-
-source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-space-separated-tokens@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"
- integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
-
-stack-trace@0.0.9:
- version "0.0.9"
- resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.9.tgz#a8f6eaeca90674c333e7c43953f275b451510695"
- integrity sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==
-
-static-eval@^2.0.5:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.1.0.tgz#a16dbe54522d7fa5ef1389129d813fd47b148014"
- integrity sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==
- dependencies:
- escodegen "^1.11.1"
-
-stream-parser@~0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773"
- integrity sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==
- dependencies:
- debug "2"
-
-stream-shift@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
- integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-
-string-split-by@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/string-split-by/-/string-split-by-1.0.0.tgz#53895fb3397ebc60adab1f1e3a131f5372586812"
- integrity sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==
- dependencies:
- parenthesis "^3.1.5"
-
-"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.3:
- name string-width-cjs
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
-string-width@^5.0.1, string-width@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
- integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
- dependencies:
- eastasianwidth "^0.2.0"
- emoji-regex "^9.2.2"
- strip-ansi "^7.0.1"
-
-string.prototype.matchall@^4.0.8:
- version "4.0.10"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100"
- integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
- has-symbols "^1.0.3"
- internal-slot "^1.0.5"
- regexp.prototype.flags "^1.5.0"
- set-function-name "^2.0.0"
- side-channel "^1.0.4"
-
-string.prototype.trim@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd"
- integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-string.prototype.trimend@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e"
- integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-string.prototype.trimstart@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298"
- integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
-
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
- integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
-stringify-entities@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8"
- integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==
- dependencies:
- character-entities-html4 "^2.0.0"
- character-entities-legacy "^3.0.0"
-
-"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- name strip-ansi-cjs
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-ansi@^7.0.1:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
- integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
- dependencies:
- ansi-regex "^6.0.1"
-
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
- integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
-
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-strip-final-newline@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
- integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
-
-strip-json-comments@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-strongly-connected-components@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz#0920e2b4df67c8eaee96c6b6234fe29e873dba99"
- integrity sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==
-
-style-to-object@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.5.tgz#5e918349bc3a39eee3a804497d97fcbbf2f0d7c0"
- integrity sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==
- dependencies:
- inline-style-parser "0.2.2"
-
-stylis@4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51"
- integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==
-
-sucrase@^3.20.3:
- version "3.34.0"
- resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f"
- integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.2"
- commander "^4.0.0"
- glob "7.1.6"
- lines-and-columns "^1.1.6"
- mz "^2.7.0"
- pirates "^4.0.1"
- ts-interface-checker "^0.1.9"
-
-supercluster@^7.0.0:
- version "7.1.5"
- resolved "https://registry.yarnpkg.com/supercluster/-/supercluster-7.1.5.tgz#65a6ce4a037a972767740614c19051b64b8be5a3"
- integrity sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==
- dependencies:
- kdbush "^3.0.0"
-
-superscript-text@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/superscript-text/-/superscript-text-1.0.0.tgz#e7cb2752567360df50beb0610ce8df3d71d8dfd8"
- integrity sha512-gwu8l5MtRZ6koO0icVTlmN5pm7Dhh1+Xpe9O4x6ObMAsW+3jPbW14d1DsBq1F4wiI+WOFjXF35pslgec/G8yCQ==
-
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-svg-arc-to-cubic-bezier@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz#390c450035ae1c4a0104d90650304c3bc814abe6"
- integrity sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==
-
-svg-parser@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
- integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
-
-svg-path-bounds@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/svg-path-bounds/-/svg-path-bounds-1.0.2.tgz#00312f672b08afc432a66ddfbd06db40cec8d0d0"
- integrity sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ==
- dependencies:
- abs-svg-path "^0.1.1"
- is-svg-path "^1.0.1"
- normalize-svg-path "^1.0.0"
- parse-svg-path "^0.1.2"
-
-svg-path-sdf@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/svg-path-sdf/-/svg-path-sdf-1.1.3.tgz#92957a31784c0eaf68945472c8dc6bf9e6d126fc"
- integrity sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==
- dependencies:
- bitmap-sdf "^1.0.0"
- draw-svg-path "^1.0.0"
- is-svg-path "^1.0.1"
- parse-svg-path "^0.1.2"
- svg-path-bounds "^1.0.1"
-
-swr@^2.0.0:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/swr/-/swr-2.2.4.tgz#03ec4c56019902fbdc904d78544bd7a9a6fa3f07"
- integrity sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==
- dependencies:
- client-only "^0.0.1"
- use-sync-external-store "^1.2.0"
-
-synckit@^0.8.5:
- version "0.8.6"
- resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.6.tgz#b69b7fbce3917c2673cbdc0d87fb324db4a5b409"
- integrity sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==
- dependencies:
- "@pkgr/utils" "^2.4.2"
- tslib "^2.6.2"
-
-tapable@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
- integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-
-tar@^6.1.11:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73"
- integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==
- dependencies:
- chownr "^2.0.0"
- fs-minipass "^2.0.0"
- minipass "^5.0.0"
- minizlib "^2.1.1"
- mkdirp "^1.0.3"
- yallist "^4.0.0"
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-
-thenify-all@^1.0.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
- integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
- dependencies:
- thenify ">= 3.1.0 < 4"
-
-"thenify@>= 3.1.0 < 4":
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
- integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
- dependencies:
- any-promise "^1.0.0"
-
-through2@^0.6.3:
- version "0.6.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
- integrity sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==
- dependencies:
- readable-stream ">=1.0.33-1 <1.1.0-0"
- xtend ">=4.0.0 <4.1.0-0"
-
-through2@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
-
-tiny-case@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-case/-/tiny-case-1.0.3.tgz#d980d66bc72b5d5a9ca86fb7c9ffdb9c898ddd03"
- integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==
-
-tiny-invariant@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642"
- integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==
-
-tiny-warning@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
-tinycolor2@^1.4.2:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e"
- integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==
-
-tinyqueue@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-2.0.3.tgz#64d8492ebf39e7801d7bd34062e29b45b2035f08"
- integrity sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==
-
-titleize@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53"
- integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
-to-float32@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/to-float32/-/to-float32-1.1.0.tgz#39bd3b11eadccd490c08f5f9171da5127b6f3946"
- integrity sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==
-
-to-px@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/to-px/-/to-px-1.0.1.tgz#5bbaed5e5d4f76445bcc903c293a2307dd324646"
- integrity sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==
- dependencies:
- parse-unit "^1.0.1"
-
-to-px@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/to-px/-/to-px-1.1.0.tgz#b6b269ed5db0cc9aefc15272a4c8bcb2ca1e99ca"
- integrity sha512-bfg3GLYrGoEzrGoE05TAL/Uw+H/qrf2ptr9V3W7U0lkjjyYnIfgxmVLUfhQ1hZpIQwin81uxhDjvUkDYsC0xWw==
- dependencies:
- parse-unit "^1.0.1"
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-topojson-client@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-3.1.0.tgz#22e8b1ed08a2b922feeb4af6f53b6ef09a467b99"
- integrity sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==
- dependencies:
- commander "2"
-
-toposort@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
- integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==
-
-tr46@~0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
- integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
-trim-lines@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
- integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
-
-trough@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
- integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
-
-ts-api-utils@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331"
- integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==
-
-ts-interface-checker@^0.1.9:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
- integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
-
-tsconfig-paths@^3.15.0:
- version "3.15.0"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4"
- integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==
- dependencies:
- "@types/json5" "^0.0.29"
- json5 "^1.0.2"
- minimist "^1.2.6"
- strip-bom "^3.0.0"
-
-tsconfig-paths@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c"
- integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==
- dependencies:
- json5 "^2.2.2"
- minimist "^1.2.6"
- strip-bom "^3.0.0"
-
-tslib@^1.8.1, tslib@^1.9.3:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
- integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-
-tslib@^2.6.0, tslib@^2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
- integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
-
-tsutils@^3.21.0:
- version "3.21.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
- integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
- dependencies:
- tslib "^1.8.1"
-
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==
- dependencies:
- prelude-ls "~1.1.2"
-
-type-fest@^0.20.2:
- version "0.20.2"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
- integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-
-type-fest@^2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
- integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
-
-type@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
- integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
-
-type@^2.7.2:
- version "2.7.2"
- resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0"
- integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==
-
-typed-array-buffer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60"
- integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.1"
- is-typed-array "^1.1.10"
-
-typed-array-byte-length@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0"
- integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
- dependencies:
- call-bind "^1.0.2"
- for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
-
-typed-array-byte-offset@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b"
- integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
- for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
-
-typed-array-length@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
- integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
- dependencies:
- call-bind "^1.0.2"
- for-each "^0.3.3"
- is-typed-array "^1.1.9"
-
-typedarray-pool@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/typedarray-pool/-/typedarray-pool-1.2.0.tgz#e7e90720144ba02b9ed660438af6f3aacfe33ac3"
- integrity sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==
- dependencies:
- bit-twiddle "^1.0.0"
- dup "^1.0.0"
-
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
- integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-
-typescript@*:
- version "5.3.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37"
- integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==
-
-unbox-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
- integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
- dependencies:
- call-bind "^1.0.2"
- has-bigints "^1.0.2"
- has-symbols "^1.0.3"
- which-boxed-primitive "^1.0.2"
-
-unified@^10.0.0:
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
- integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
- dependencies:
- "@types/unist" "^2.0.0"
- bail "^2.0.0"
- extend "^3.0.0"
- is-buffer "^2.0.0"
- is-plain-obj "^4.0.0"
- trough "^2.0.0"
- vfile "^5.0.0"
-
-unified@^11.0.0:
- version "11.0.4"
- resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.4.tgz#f4be0ac0fe4c88cb873687c07c64c49ed5969015"
- integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==
- dependencies:
- "@types/unist" "^3.0.0"
- bail "^2.0.0"
- devlop "^1.0.0"
- extend "^3.0.0"
- is-plain-obj "^4.0.0"
- trough "^2.0.0"
- vfile "^6.0.0"
-
-unist-util-filter@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-filter/-/unist-util-filter-4.0.1.tgz#fd885dd48adaad345de5f5dc706ec4ff44a8d074"
- integrity sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.0.0"
-
-unist-util-is@^5.0.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9"
- integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-is@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424"
- integrity sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==
- dependencies:
- "@types/unist" "^3.0.0"
-
-unist-util-position@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037"
- integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-position@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4"
- integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==
- dependencies:
- "@types/unist" "^3.0.0"
-
-unist-util-remove-position@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163"
- integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==
- dependencies:
- "@types/unist" "^3.0.0"
- unist-util-visit "^5.0.0"
-
-unist-util-stringify-position@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d"
- integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-stringify-position@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2"
- integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==
- dependencies:
- "@types/unist" "^3.0.0"
-
-unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb"
- integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
-
-unist-util-visit-parents@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815"
- integrity sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==
- dependencies:
- "@types/unist" "^3.0.0"
- unist-util-is "^6.0.0"
-
-unist-util-visit@^4.0.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2"
- integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.1.1"
-
-unist-util-visit@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6"
- integrity sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==
- dependencies:
- "@types/unist" "^3.0.0"
- unist-util-is "^6.0.0"
- unist-util-visit-parents "^6.0.0"
-
-unplugin@^1.5.0:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.5.1.tgz#806688376fa3dcca4d2fa2c5d27cf6cd0370fbef"
- integrity sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==
- dependencies:
- acorn "^8.11.2"
- chokidar "^3.5.3"
- webpack-sources "^3.2.3"
- webpack-virtual-modules "^0.6.0"
-
-unquote@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
- integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==
-
-untildify@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
- integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
-
-update-browserslist-db@^1.0.13:
- version "1.0.13"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
- integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
-update-diff@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/update-diff/-/update-diff-1.1.0.tgz#f510182d81ee819fb82c3a6b22b62bbdeda7808f"
- integrity sha512-rCiBPiHxZwT4+sBhEbChzpO5hYHjm91kScWgdHf4Qeafs6Ba7MBl+d9GlGv72bcTZQO0sLmtQS1pHSWoCLtN/A==
-
-uri-js@^4.2.2:
- version "4.4.1"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
- integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
- dependencies:
- punycode "^2.1.0"
-
-use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
- integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
-
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-uuid@^9.0.0:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
- integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
-
-vfile-location@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0"
- integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==
- dependencies:
- "@types/unist" "^2.0.0"
- vfile "^5.0.0"
-
-vfile-message@^3.0.0:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea"
- integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-stringify-position "^3.0.0"
-
-vfile-message@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181"
- integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==
- dependencies:
- "@types/unist" "^3.0.0"
- unist-util-stringify-position "^4.0.0"
-
-vfile@^5.0.0:
- version "5.3.7"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7"
- integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==
- dependencies:
- "@types/unist" "^2.0.0"
- is-buffer "^2.0.0"
- unist-util-stringify-position "^3.0.0"
- vfile-message "^3.0.0"
-
-vfile@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536"
- integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==
- dependencies:
- "@types/unist" "^3.0.0"
- unist-util-stringify-position "^4.0.0"
- vfile-message "^4.0.0"
-
-vite-plugin-svgr@^2.2.1:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/vite-plugin-svgr/-/vite-plugin-svgr-2.4.0.tgz#9b14953955e79893ea7718089b9777a494e38fc6"
- integrity sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA==
- dependencies:
- "@rollup/pluginutils" "^5.0.2"
- "@svgr/core" "^6.5.1"
-
-vite-tsconfig-paths@^3.5.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-3.6.0.tgz#9e6363051b2caaf7c7cec6f9f85ad71feee77920"
- integrity sha512-UfsPYonxLqPD633X8cWcPFVuYzx/CMNHAjZTasYwX69sXpa4gNmQkR0XCjj82h7zhLGdTWagMjC1qfb9S+zv0A==
- dependencies:
- debug "^4.1.1"
- globrex "^0.1.2"
- recrawl-sync "^2.0.3"
- tsconfig-paths "^4.0.0"
-
-vite@^4.4.11:
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.1.tgz#3370986e1ed5dbabbf35a6c2e1fb1e18555b968a"
- integrity sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==
- dependencies:
- esbuild "^0.18.10"
- postcss "^8.4.27"
- rollup "^3.27.1"
- optionalDependencies:
- fsevents "~2.3.2"
-
-vt-pbf@^3.1.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/vt-pbf/-/vt-pbf-3.1.3.tgz#68fd150756465e2edae1cc5c048e063916dcfaac"
- integrity sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==
- dependencies:
- "@mapbox/point-geometry" "0.1.0"
- "@mapbox/vector-tile" "^1.3.1"
- pbf "^3.2.1"
-
-weak-map@^1.0.5:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.8.tgz#394c18a9e8262e790544ed8b55c6a4ddad1cb1a3"
- integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==
-
-web-namespaces@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692"
- integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
-
-web-worker@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da"
- integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==
-
-webgl-context@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/webgl-context/-/webgl-context-2.2.0.tgz#8f37d7257cf6df1cd0a49e6a7b1b721b94cc86a0"
- integrity sha512-q/fGIivtqTT7PEoF07axFIlHNk/XCPaYpq64btnepopSWvKNFkoORlQYgqDigBIuGA1ExnFd/GnSUnBNEPQY7Q==
- dependencies:
- get-canvas-context "^1.0.1"
-
-webidl-conversions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
- integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-
-webpack-sources@^3.2.3:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
- integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-
-webpack-virtual-modules@^0.6.0:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz#ac6fdb9c5adb8caecd82ec241c9631b7a3681b6f"
- integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==
-
-whatwg-url@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
- integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
- dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
-
-which-boxed-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
- integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
- dependencies:
- is-bigint "^1.0.1"
- is-boolean-object "^1.1.0"
- is-number-object "^1.0.4"
- is-string "^1.0.5"
- is-symbol "^1.0.3"
-
-which-builtin-type@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b"
- integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==
- dependencies:
- function.prototype.name "^1.1.5"
- 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.9"
-
-which-collection@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906"
- integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
- dependencies:
- is-map "^2.0.1"
- is-set "^2.0.1"
- is-weakmap "^2.0.1"
- is-weakset "^2.0.1"
-
-which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.9:
- version "1.1.13"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36"
- integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.4"
- for-each "^0.3.3"
- gopd "^1.0.1"
- has-tostringtag "^1.0.0"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-wide-align@^1.1.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
- integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
- dependencies:
- string-width "^1.0.2 || 2 || 3 || 4"
-
-word-wrap@~1.2.3:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
- integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
-
-world-calendars@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/world-calendars/-/world-calendars-1.0.3.tgz#b25c5032ba24128ffc41d09faf4a5ec1b9c14335"
- integrity sha512-sAjLZkBnsbHkHWVhrsCU5Sa/EVuf9QqgvrN8zyJ2L/F9FR9Oc6CvVK0674+PGAtmmmYQMH98tCUSO4QLQv3/TQ==
- dependencies:
- object-assign "^4.1.0"
-
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrap-ansi@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
- integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
- dependencies:
- ansi-styles "^6.1.0"
- string-width "^5.0.1"
- strip-ansi "^7.0.1"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
-"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-xtend@^2.1.2:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9"
- integrity sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==
-
-yallist@^3.0.2:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml@^1.10.0:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
- integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
-
-yup@^1.2.0:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/yup/-/yup-1.3.3.tgz#d2f6020ad1679754c5f8178a29243d5447dead04"
- integrity sha512-v8QwZSsHH2K3/G9WSkp6mZKO+hugKT1EmnMqLNUcfu51HU9MDyhlETT/JgtzprnrnQHPWsjc6MUDMBp/l9fNnw==
- dependencies:
- property-expr "^2.0.5"
- tiny-case "^1.0.3"
- toposort "^2.0.2"
- type-fest "^2.19.0"
-
-zustand@^4.4.1:
- version "4.4.7"
- resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.7.tgz#355406be6b11ab335f59a66d2cf9815e8f24038c"
- integrity sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==
- dependencies:
- use-sync-external-store "1.2.0"
-
-zwitch@^2.0.0, zwitch@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7"
- integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==
diff --git a/helm/domino/templates/domino-frontend-deployment.yml b/helm/domino/templates/domino-frontend-deployment.yml
index b4158b1a..7b4909f9 100644
--- a/helm/domino/templates/domino-frontend-deployment.yml
+++ b/helm/domino/templates/domino-frontend-deployment.yml
@@ -25,7 +25,7 @@ spec:
command:
{{ toYaml .Values.frontend.entrypointCommand | indent 12 }}
args:
- ["-c","yarn start"]
+ ["-c","pnpm start"]
{{- end }}
env:
- name: DOMINO_DEPLOY_MODE
diff --git a/media/brand/main_logo.png b/media/brand/main_logo.png
new file mode 100644
index 00000000..46f9ded7
Binary files /dev/null and b/media/brand/main_logo.png differ
diff --git a/media/diagram/diagram b/media/diagram/diagram
new file mode 100644
index 00000000..e69de29b
diff --git a/media/diagram/domino-diagrams b/media/diagram/domino-diagrams
new file mode 100644
index 00000000..03029625
--- /dev/null
+++ b/media/diagram/domino-diagrams
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/media/logo.png b/media/logo.png
deleted file mode 100644
index 53ada586..00000000
Binary files a/media/logo.png and /dev/null differ
diff --git a/rest/routers/workflow_router.py b/rest/routers/workflow_router.py
index 04ddf78f..e8625987 100644
--- a/rest/routers/workflow_router.py
+++ b/rest/routers/workflow_router.py
@@ -216,7 +216,7 @@ def list_run_tasks(
)
except (BaseException, ForbiddenException, ResourceNotFoundException) as e:
raise HTTPException(status_code=e.status_code, detail=e.message)
-
+
@router.get(
"/{workflow_id}/runs/{workflow_run_id}/tasks/report",
status_code=200,
diff --git a/rest/services/auth_service.py b/rest/services/auth_service.py
index 7ac095c2..9aa6c261 100644
--- a/rest/services/auth_service.py
+++ b/rest/services/auth_service.py
@@ -4,7 +4,7 @@
from passlib.context import CryptContext
import jwt
from schemas.errors.base import ForbiddenError, ResourceNotFoundError
-from core.settings import settings
+from core.settings import settings
from schemas.context.auth_context import AuthorizationContextData, WorkspaceAuthorizerData
from repository.user_repository import UserRepository
from repository.workspace_repository import WorkspaceRepository
@@ -102,7 +102,7 @@ def wrapper(*args, **kwargs):
workspace_associative_data = cls.workspace_repository.find_by_id_and_user_id(id=repository.workspace_id, user_id=auth_context.user_id)
if not workspace_associative_data:
raise HTTPException(status_code=ResourceNotFoundError().status_code, detail=ResourceNotFoundError().message)
-
+
if workspace_associative_data and not workspace_associative_data.permission:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
@@ -118,7 +118,7 @@ def wrapper(*args, **kwargs):
@classmethod
def workspace_access_authorizer(
- cls,
+ cls,
workspace_id: Optional[int],
auth: HTTPAuthorizationCredentials = Security(security),
):
@@ -126,12 +126,12 @@ def workspace_access_authorizer(
if not workspace_id:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
workspace_associative_data = cls.workspace_repository.find_by_id_and_user_id(
- id=workspace_id,
+ id=workspace_id,
user_id=auth_context.user_id
)
if not workspace_associative_data:
raise HTTPException(
- status_code=ResourceNotFoundError().status_code,
+ status_code=ResourceNotFoundError().status_code,
detail=ResourceNotFoundError(message='Workspace not found').message
)
if workspace_associative_data and not workspace_associative_data.permission:
@@ -148,7 +148,7 @@ def workspace_access_authorizer(
user_permission=workspace_associative_data.permission
)
return auth_context
-
+
@classmethod
def workspace_owner_access_authorizer_body(
cls,
@@ -157,7 +157,7 @@ def workspace_owner_access_authorizer_body(
):
workspace_id = body.get('workspace_id')
return cls.workspace_owner_access_authorizer(workspace_id=workspace_id, auth=auth)
-
+
@classmethod
def workspace_owner_access_authorizer(
@@ -169,12 +169,12 @@ def workspace_owner_access_authorizer(
if not workspace_id:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
workspace_associative_data = cls.workspace_repository.find_by_id_and_user_id(
- id=workspace_id,
+ id=workspace_id,
user_id=auth_context.user_id
)
if not workspace_associative_data:
raise HTTPException(status_code=ResourceNotFoundError().status_code, detail=ResourceNotFoundError().message)
-
+
if workspace_associative_data and not workspace_associative_data.permission:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
@@ -213,7 +213,7 @@ def piece_repository_workspace_owner_access_authorizer(
if workspace_associative_data and not workspace_associative_data.permission:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
-
+
if workspace_associative_data and workspace_associative_data.status != UserWorkspaceStatus.accepted.value:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
@@ -233,7 +233,7 @@ def wrapper(*args, **kwargs):
workspace_associative_data = cls.workspace_repository.find_by_id_and_user_id(id=workspace_id, user_id=auth_context.user_id)
if not workspace_associative_data:
raise HTTPException(status_code=ResourceNotFoundError().status_code, detail=ResourceNotFoundError().message)
-
+
if workspace_associative_data and not workspace_associative_data.permission:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
@@ -262,7 +262,7 @@ def wrapper(*args, **kwargs):
if workspace_associative_data.permission != Permission.owner.value:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
-
+
if workspace_associative_data and workspace_associative_data.status != UserWorkspaceStatus.accepted.value:
raise HTTPException(status_code=ForbiddenError().status_code, detail=ForbiddenError().message)
return func(*args, **kwargs)
diff --git a/rest/services/piece_repository_service.py b/rest/services/piece_repository_service.py
index c16b0775..8dd5f5c6 100644
--- a/rest/services/piece_repository_service.py
+++ b/rest/services/piece_repository_service.py
@@ -66,7 +66,7 @@ def get_pieces_repositories(
workspace_id=workspace_id,
page=page,
page_size=page_size,
- filters=filters.dict(exclude_none=True)
+ filters=filters.model_dump(exclude_none=True)
)
data = []
for piece_repository in pieces_repositories:
diff --git a/rest/services/secret_service.py b/rest/services/secret_service.py
index 957926c0..accc21bf 100644
--- a/rest/services/secret_service.py
+++ b/rest/services/secret_service.py
@@ -66,7 +66,7 @@ def update_repository_secret(
self.logger.info(f"Updating secret {secret_id} for repository {piece_repository_id}")
secret = self.secret_repository.find_by_id(id=secret_id)
if not secret:
- raise ResourceNotFoundException()
+ raise ResourceNotFoundException("Secret not found.")
if not body.value:
secret.value = None
diff --git a/rest/tests/conftest.py b/rest/tests/conftest.py
index 8e45f8bf..a5137d6e 100644
--- a/rest/tests/conftest.py
+++ b/rest/tests/conftest.py
@@ -55,7 +55,7 @@ def piece_repository():
id=1,
source="github",
path="Tauffer-Consulting/default_domino_pieces_tests",
- version="0.0.3",
+ version="0.0.4",
workspace_id=1,
url='https://github.com/Tauffer-Consulting/default_domino_pieces_tests'
)
diff --git a/rest/tests/piece/fixtures.py b/rest/tests/piece/fixtures.py
index 405cd93b..3f2914e8 100644
--- a/rest/tests/piece/fixtures.py
+++ b/rest/tests/piece/fixtures.py
@@ -47,7 +47,7 @@ def get_pieces_mock_response(piece_repository: PieceRepository):
},
repository_url='https://github.com/Tauffer-Consulting/default_domino_pieces_tests',
source_url='https://github.com/Tauffer-Consulting/default_domino_pieces_tests/tree/main/pieces/SimpleLogPiece',
- source_image = "ghcr.io/tauffer-consulting/default_domino_pieces_tests:0.0.3-group0",
+ source_image = "ghcr.io/tauffer-consulting/default_domino_pieces_tests:0.0.4-group0",
input_schema = {
"title": "SimpleLogPiece",
"description": "Example Operator",
diff --git a/rest/tests/workflow/create_workflow_request_model.py b/rest/tests/workflow/create_workflow_request_model.py
index 07e7755a..99f36ffa 100644
--- a/rest/tests/workflow/create_workflow_request_model.py
+++ b/rest/tests/workflow/create_workflow_request_model.py
@@ -393,7 +393,7 @@
"task_id": "SimpleLogP_0298c1669d404e08b631ebe1490e1c45",
"piece": {
"name": "SimpleLogPiece",
- "source_image": "ghcr.io/tauffer-consulting/default_domino_pieces_tests:0.0.3-group0"
+ "source_image": "ghcr.io/tauffer-consulting/default_domino_pieces_tests:0.0.4-group0"
},
"workflow_shared_storage": {
"source": "None",
diff --git a/rest/tests/workflow/test_workflow_router.py b/rest/tests/workflow/test_workflow_router.py
index fade8639..fa842ba1 100644
--- a/rest/tests/workflow/test_workflow_router.py
+++ b/rest/tests/workflow/test_workflow_router.py
@@ -21,7 +21,7 @@
"tests.workflow.fixtures"
]
@pytest.mark.usefixtures("register", "login", "add_piece_repository", "teardown_piece_repository")
-class TestWorkflowRouter:
+class TestWorkflowRouter:
@staticmethod
def test_create_workflow(patch_piece_secret: Response, create_workflow: Response, piece_repository: PieceRepository, user: User):
mock_response = CreateWorkflowResponse(
@@ -39,7 +39,7 @@ def test_create_workflow(patch_piece_secret: Response, create_workflow: Response
assert response.status_code == 201
assert content.keys() == mock_response_content.keys()
-
+
assert content.get("name") == mock_response_content.get("name")
assert content.get("created_by") == mock_response_content.get("created_by")
@@ -82,4 +82,4 @@ def test_delete_workflow(patch_piece_secret: Response, create_workflow: Response
assert response.status_code == 204
#TODO assert not found with get workflow
-
+
diff --git a/rest/tests/workspace/fixtures.py b/rest/tests/workspace/fixtures.py
index a5128dd4..a444849d 100644
--- a/rest/tests/workspace/fixtures.py
+++ b/rest/tests/workspace/fixtures.py
@@ -90,9 +90,9 @@ def invite_user(client: ApiTestClient, authorization_token: Dict, workspace: Wor
@pytest.fixture(scope='function')
def accept_invite(
- client: ApiTestClient,
+ client: ApiTestClient,
login_user_extra: Response,
- authorization_token_user_extra: Dict,
+ authorization_token_user_extra: Dict,
workspace: Workspace,
):
return client.post(
@@ -103,9 +103,9 @@ def accept_invite(
@pytest.fixture(scope='function')
def reject_invite(
- client: ApiTestClient,
+ client: ApiTestClient,
login_user_extra: Response,
- authorization_token_user_extra: Dict,
+ authorization_token_user_extra: Dict,
workspace: Workspace
):
return client.post(
diff --git a/src/domino/VERSION b/src/domino/VERSION
index fcbb5375..899f24fc 100644
--- a/src/domino/VERSION
+++ b/src/domino/VERSION
@@ -1 +1 @@
-0.8.4
\ No newline at end of file
+0.9.0
\ No newline at end of file
diff --git a/src/domino/base_piece.py b/src/domino/base_piece.py
index 9dcccd6e..ae67771d 100644
--- a/src/domino/base_piece.py
+++ b/src/domino/base_piece.py
@@ -60,6 +60,7 @@ def __init__(
self.logger = get_configured_logger(f"{self.__class__.__name__ }-{self.task_id}")
self.display_result = None
+ self._shared_storage_usage_in_bytes = 0
def start_logger(self):
"""
@@ -75,13 +76,22 @@ def _wait_for_sidecar_paths(self):
break
time.sleep(2)
+ @staticmethod
+ def _get_folder_size(folder_path):
+ total_size = 0
+ for dirpath, _, filenames in os.walk(folder_path):
+ for filename in filenames:
+ file_path = os.path.join(dirpath, filename)
+ total_size += os.path.getsize(file_path)
+ return total_size
+
def generate_paths(self):
"""
Generates paths for shared storage.
"""
# Base path for fetching and storing runs results
- if not Path(self.workflow_shared_storage).is_dir():
- Path(self.workflow_shared_storage).mkdir(parents=True, exist_ok=True)
+ if not Path(self.workflow_shared_storage_path).is_dir():
+ Path(self.workflow_shared_storage_path).mkdir(parents=True, exist_ok=True)
# # Path to store results data
if not Path(self.results_path).is_dir():
@@ -114,8 +124,8 @@ def get_upstream_tasks_data(self):
upstream_tasks_ids = ast.literal_eval(os.getenv("AIRFLOW_UPSTREAM_TASKS_IDS", str(list())))
for tid in upstream_tasks_ids:
self.upstream_tasks_data[tid] = dict()
- self.upstream_tasks_data[tid]["results"] = self.workflow_shared_storage + f"/{tid}/results"
- with open(f"{self.workflow_shared_storage}/{tid}/xcom/return.json") as f:
+ self.upstream_tasks_data[tid]["results"] = self.workflow_shared_storage_path + f"/{tid}/results"
+ with open(f"{self.workflow_shared_storage_path}/{tid}/xcom/return.json") as f:
self.upstream_tasks_data[tid]["xcom"] = json.load(f)
else:
raise NotImplementedError(f"Get upstream XCOM not implemented for deploy_mode=={self.deploy_mode}")
@@ -262,12 +272,12 @@ def run_piece_function(
# Generate paths
workflow_run_subpath = os.environ.get('DOMINO_WORKFLOW_RUN_SUBPATH', '')
- self.workflow_shared_storage = Path("/home/shared_storage")
+ self.workflow_shared_storage_path = Path("/home/shared_storage")
if self.deploy_mode == 'local-compose':
- self.workflow_shared_storage = str(self.workflow_shared_storage / workflow_run_subpath)
- self.results_path = f"{self.workflow_shared_storage}/{self.task_id}/results"
- self.xcom_path = f"{self.workflow_shared_storage}/{self.task_id}/xcom"
- self.report_path = f"{self.workflow_shared_storage}/{self.task_id}/report"
+ self.workflow_shared_storage_path = str(self.workflow_shared_storage_path / workflow_run_subpath)
+ self.results_path = f"{self.workflow_shared_storage_path}/{self.task_id}/results"
+ self.xcom_path = f"{self.workflow_shared_storage_path}/{self.task_id}/xcom"
+ self.report_path = f"{self.workflow_shared_storage_path}/{self.task_id}/report"
shared_storage_source_name = os.environ.get('DOMINO_WORKFLOW_SHARED_STORAGE_SOURCE_NAME', None)
if not shared_storage_source_name or shared_storage_source_name == "none" or self.deploy_mode == "local-compose":
self.generate_paths()
@@ -291,9 +301,14 @@ def run_piece_function(
# Push XCom
xcom_obj = self.format_xcom(output_obj=output_obj)
+ shared_storage_base_path = f"{self.workflow_shared_storage_path}/{self.task_id}"
+ self._shared_storage_usage_in_bytes = self._get_folder_size(shared_storage_base_path)
+ xcom_obj['_shared_storage_usage_in_bytes'] = self._shared_storage_usage_in_bytes
self.push_xcom(xcom_obj=xcom_obj)
+ self.logger.info(f"Piece used {self._shared_storage_usage_in_bytes} bytes of storage.")
self.logger.info("End cut point for logger 48c94577-0225-4c3f-87c0-8add3f4e6d4b")
+
@classmethod
def dry_run(
cls,
diff --git a/src/domino/cli/cli.py b/src/domino/cli/cli.py
index 270b6807..d1fb42a6 100644
--- a/src/domino/cli/cli.py
+++ b/src/domino/cli/cli.py
@@ -302,9 +302,15 @@ def cli_create_piece_repository(name, container_registry):
default="",
help='Overwrite tag for release.'
)
-def cli_organize_pieces_repository(build_images: bool, source_url: str, tag_overwrite: str):
+@click.option(
+ '--dev',
+ is_flag=True,
+ default=False,
+ help="Build pieces images using development base piece image."
+)
+def cli_organize_pieces_repository(build_images: bool, source_url: str, tag_overwrite: str, dev: bool):
"""Organize Pieces repository."""
- pieces_repository.organize_pieces_repository(build_images, source_url, tag_overwrite)
+ pieces_repository.organize_pieces_repository(build_images, source_url, tag_overwrite, dev)
@click.command()
diff --git a/src/domino/cli/utils/pieces_repository.py b/src/domino/cli/utils/pieces_repository.py
index 0b645713..73663c02 100644
--- a/src/domino/cli/utils/pieces_repository.py
+++ b/src/domino/cli/utils/pieces_repository.py
@@ -346,14 +346,14 @@ def create_dependencies_map(save_map_as_file: bool = True) -> None:
json.dump(pieces_images_map, outfile, indent=4, cls=SetEncoder)
-def build_docker_images(tag_overwrite: str | None = None) -> None:
+def build_docker_images(tag_overwrite: str | None = None, dev: bool = False) -> None:
"""
Convenience function to build Docker images from the repository dependencies and publish them to Docker Hub
"""
from domino.scripts.build_docker_images_pieces import build_images_from_pieces_repository
console.print("Building Docker images and generating map file...")
- updated_dependencies_map = build_images_from_pieces_repository(tag_overwrite=tag_overwrite)
+ updated_dependencies_map = build_images_from_pieces_repository(tag_overwrite=tag_overwrite, dev=dev)
return updated_dependencies_map
@@ -388,7 +388,8 @@ def validate_repo_name(repo_name: str) -> None:
def organize_pieces_repository(
build_images: bool,
source_url: str,
- tag_overwrite: str | None = None
+ tag_overwrite: str | None = None,
+ dev: bool = False
) -> None:
"""
Organize Piece's repository for Domino. This will:
@@ -423,7 +424,7 @@ def organize_pieces_repository(
# Build and publish the images
if build_images:
- updated_dependencies_map = build_docker_images(tag_overwrite=tag_overwrite)
+ updated_dependencies_map = build_docker_images(tag_overwrite=tag_overwrite, dev=dev)
map_file_path = Path(".") / ".domino/dependencies_map.json"
with open(map_file_path, "w") as outfile:
json.dump(updated_dependencies_map, outfile, indent=4)
diff --git a/src/domino/cli/utils/platform.py b/src/domino/cli/utils/platform.py
index 86b6bf0d..f24bcc21 100644
--- a/src/domino/cli/utils/platform.py
+++ b/src/domino/cli/utils/platform.py
@@ -225,7 +225,7 @@ def create_platform(install_airflow: bool = True, use_gpu: bool = False) -> None
console.print("")
console.print("Installing NGINX controller...")
subprocess.run(["kubectl", "apply", "-f", "https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml"], stdout=subprocess.DEVNULL)
- result = subprocess.run(["kubectl", "wait", "--namespace", "ingress-nginx", "--for", "condition=ready", "pod", "--selector=app.kubernetes.io/component=controller", "--timeout=180s"])
+ result = subprocess.run(["kubectl", "wait", "--namespace", "ingress-nginx", "--for", "condition=ready", "pod", "--selector=app.kubernetes.io/component=controller", "--timeout=660s"])
if result.returncode != 0:
error_message = result.stderr.strip() if result.stderr else result.stdout.strip()
raise Exception("An error occurred while installing NGINX controller: {error_message}")
diff --git a/src/domino/custom_operators/docker_operator.py b/src/domino/custom_operators/docker_operator.py
index b037f2d7..ef30516e 100644
--- a/src/domino/custom_operators/docker_operator.py
+++ b/src/domino/custom_operators/docker_operator.py
@@ -58,12 +58,12 @@ def __init__(
dev_pieces = False
if dev_pieces:
piece_repo_name = repository_url.split("/")[-1]
- local_repos_path = f"/mnt/shared_storage/Github/{piece_repo_name}"
- # local_repos_path = f"/home/vinicius/Documents/work/tauffer/{piece_repo_name}"
+ #local_repos_path = f"/mnt/shared_storage/Github/{piece_repo_name}"
+ local_repos_path = f"/home/vinicius/Documents/work/tauffer/{piece_repo_name}"
mounts = [
# TODO remove
- # Mount(source='/home/vinicius/Documents/work/tauffer/domino/src/domino', target='/usr/local/lib/python3.10/site-packages/domino/', type='bind', read_only=True),
- Mount(source='/mnt/shared_storage/Github/domino/src/domino', target='/usr/local/lib/python3.10/site-packages/domino/', type='bind', read_only=True),
+ Mount(source='/home/vinicius/Documents/work/tauffer/domino/src/domino', target='/usr/local/lib/python3.10/site-packages/domino/', type='bind', read_only=True),
+ #Mount(source='/mnt/shared_storage/Github/domino/src/domino', target='/usr/local/lib/python3.10/site-packages/domino/', type='bind', read_only=True),
Mount(source=local_repos_path, target='/home/domino/pieces_repository/', type='bind', read_only=True),
]
########################################################
@@ -190,4 +190,6 @@ def execute(self, context: Context) -> Optional[str]:
self.domino_client = DominoBackendRestClient(base_url="http://domino-rest:8000/")
# env var format = {"name": "value"}
self._prepare_execute_environment(context=context)
- return super().execute(context=context)
+ result = super().execute(context=context)
+ self._shared_storage_usage_in_bytes = result.get('_shared_storage_usage_in_bytes', None)
+ return result
diff --git a/src/domino/custom_operators/k8s_operator.py b/src/domino/custom_operators/k8s_operator.py
index b980df04..128fe4e8 100644
--- a/src/domino/custom_operators/k8s_operator.py
+++ b/src/domino/custom_operators/k8s_operator.py
@@ -510,6 +510,7 @@ def execute(self, context: Context):
ti.xcom_push(key='pod_name', value=self.pod.metadata.name)
ti.xcom_push(key='pod_namespace', value=self.pod.metadata.namespace)
if self.do_xcom_push:
+ self._shared_storage_usage_in_bytes = result['_shared_storage_usage_in_bytes']
return result
@@ -543,7 +544,7 @@ def extract_xcom(self, pod: k8s.V1Pod):
self.log.info("Result file is empty.")
return None
else:
- self.log.info("xcom result: \n%s", result)
+ self.log.info('xcom result is not empty, parsing to json')
return json.loads(result)
def pod_manager_extract_xcom(self, pod: k8s.V1Pod) -> str:
diff --git a/src/domino/scripts/build_docker_images_pieces.py b/src/domino/scripts/build_docker_images_pieces.py
index b20ab69d..69ab09d3 100644
--- a/src/domino/scripts/build_docker_images_pieces.py
+++ b/src/domino/scripts/build_docker_images_pieces.py
@@ -56,7 +56,7 @@ def build_image_from_tmp_dockerfile(
(Path(path) / dockerfile).unlink()
-def build_images_from_pieces_repository(tag_overwrite: str | None = None):
+def build_images_from_pieces_repository(tag_overwrite: str | None = None, dev: bool = False):
"""
Each dependencies group will need to have its own Docker image built and published to be used by Domino.
This is because the Pieces source code goes baked in the images.
@@ -89,9 +89,13 @@ def build_images_from_pieces_repository(tag_overwrite: str | None = None):
source_image_name = f"{github_container_registry_name}/{docker_image_repository}:{docker_image_version}-{group}"
# If no extra dependency, use base Pod image and just copy the Pieces source code
+ base_image = "ghcr.io/tauffer-consulting/domino-base-piece:latest"
+ if dev:
+ base_image = "ghcr.io/tauffer-consulting/domino-base-piece:latest-dev"
+
if not any([dependency_dockerfile, dependency_requirements]):
pieces_dependencies_map[group]["source_image"] = source_image_name
- dockerfile_str = """FROM ghcr.io/tauffer-consulting/domino-base-piece:latest
+ dockerfile_str = f"""FROM {base_image}
COPY config.toml domino/pieces_repository/
COPY pieces domino/pieces_repository/pieces
COPY .domino domino/pieces_repository/.domino
@@ -108,7 +112,7 @@ def build_images_from_pieces_repository(tag_overwrite: str | None = None):
# If dependency is defined as a requirements.txt
elif dependency_requirements:
pieces_dependencies_map[group]["source_image"] = source_image_name
- dockerfile_str = f"""FROM ghcr.io/tauffer-consulting/domino-base-piece:latest
+ dockerfile_str = f"""FROM {base_image}
COPY config.toml domino/pieces_repository/
COPY pieces domino/pieces_repository/pieces
COPY .domino domino/pieces_repository/.domino
diff --git a/src/domino/scripts/deprecated/docker_compose_constants.py b/src/domino/scripts/deprecated/docker_compose_constants.py
index 915fc277..b1d7dfdd 100644
--- a/src/domino/scripts/deprecated/docker_compose_constants.py
+++ b/src/domino/scripts/deprecated/docker_compose_constants.py
@@ -395,7 +395,7 @@
flowui_frontend = {
"image": "taufferconsulting/flowui-frontend:latest",
"container_name": "flowui-frontend",
- "command": "yarn start",
+ "command": "pnpm start",
"ports": [
"3000:3000"
]
@@ -408,7 +408,7 @@
"dockerfile": "Dockerfile"
},
"container_name": "flowui-frontend",
- "command": "yarn start",
+ "command": "pnpm start",
"ports": [
"3000:3000"
],
diff --git a/src/domino/task.py b/src/domino/task.py
index af1acd7a..1d31d0f1 100644
--- a/src/domino/task.py
+++ b/src/domino/task.py
@@ -96,7 +96,7 @@ def _set_operator(self) -> BaseOperator:
)
)
- elif self.deploy_mode in ["local-k8s", "local-k8s-dev", "prod"]:
+ elif self.deploy_mode in ["local-k8s", "local-k8s-dev", "prod", "k8s"]:
# References:
# - https://airflow.apache.org/docs/apache-airflow/1.10.14/_api/airflow/contrib/operators/kubernetes_pod_operator/index.html
# - https://airflow.apache.org/docs/apache-airflow/stable/templates-ref.html