From f8f4cc20882dd9ec3511081d4cf8dd029b7fee29 Mon Sep 17 00:00:00 2001 From: Michael Jolley Date: Thu, 21 Sep 2023 18:23:24 -0500 Subject: [PATCH] feat: Initial build and release --- .eslintrc.json | 24 + .github/workflows/CI.yml | 85 + .npmrc | 1 + .vscode/extensions.json | 7 + .vscode/launch.json | 34 + .vscode/settings.json | 11 + .vscode/tasks.json | 20 + .vscodeignore | 10 + CHANGELOG.md | 9 + README.md | 3 +- package.json | 145 + pnpm-lock.yaml | 3752 ++++++++++++++++++++++ resources/vscode-vs-outlining.png | Bin 0 -> 59728 bytes src/commands/collapseToDefinitions.ts | 26 + src/commands/toggleAllOutlining.ts | 14 + src/commands/toggleOutliningExpansion.ts | 10 + src/extension.ts | 29 + src/test.cs | 32 + src/test/runTest.ts | 23 + src/test/suite/extension.test.ts | 15 + src/test/suite/index.ts | 38 + tsconfig.json | 17 + 22 files changed, 4304 insertions(+), 1 deletion(-) create mode 100644 .eslintrc.json create mode 100644 .github/workflows/CI.yml create mode 100644 .npmrc create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 .vscodeignore create mode 100644 CHANGELOG.md create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 resources/vscode-vs-outlining.png create mode 100644 src/commands/collapseToDefinitions.ts create mode 100644 src/commands/toggleAllOutlining.ts create mode 100644 src/commands/toggleOutliningExpansion.ts create mode 100644 src/extension.ts create mode 100644 src/test.cs create mode 100644 src/test/runTest.ts create mode 100644 src/test/suite/extension.test.ts create mode 100644 src/test/suite/index.ts create mode 100644 tsconfig.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..f9b22b7 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,24 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "plugins": [ + "@typescript-eslint" + ], + "rules": { + "@typescript-eslint/naming-convention": "warn", + "@typescript-eslint/semi": "warn", + "curly": "warn", + "eqeqeq": "warn", + "no-throw-literal": "warn", + "semi": "off" + }, + "ignorePatterns": [ + "out", + "dist", + "**/*.d.ts" + ] +} diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..1ad3ac6 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,85 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + # This is to catch new releases of VS Code which could cause the extension to break + # Check every Sunday at 12 AM + schedule: + - cron: 0 0 * * 0 + +jobs: + test: + strategy: + fail-fast: false + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + vscode-version: ["1.81.0", stable] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 18.x + - name: Install dependencies + run: npm ci + env: + npm_config_arch: x64 + - name: Test with VS Code ${{ matrix.vscode-version }} + uses: coactions/setup-xvfb@v1 + env: + VSCODE_TEST_VERSION: ${{ matrix.vscode-version }} + with: + run: npm test + + build: + permissions: + contents: write + packages: write + if: github.event_name == 'push' + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + runs-on: ${{ matrix.os }} + # needs: test + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install Node.js + uses: actions/setup-node@v3 + with: + node-version: 18.x + - name: Install dependencies (without binaries) + run: | + npm ci + - run: npx semantic-release --extends ./package.release.config.js + env: + GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }} + VSCE_PAT: ${{ secrets.VSCE_PAT }} + - uses: actions/upload-artifact@v3 + with: + path: "*.vsix" + + release: + permissions: + contents: write + packages: write + if: github.event_name == 'push' + runs-on: ubuntu-latest + needs: [build] # needs: [test, build] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18.x + - run: npm ci + - uses: actions/download-artifact@v3 + - run: npx semantic-release --extends ./publish.release.config.js + if: github.event_name == 'push' || github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository + env: + GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }} + VSCE_PAT: ${{ secrets.VSCE_PAT }} diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..37d1b60 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +enable-pre-post-scripts = true \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..3ac9aeb --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "dbaeumer.vscode-eslint" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..670d6e6 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,34 @@ +// A launch configuration that compiles the extension and then opens it inside a new window +// Use IntelliSense to learn about possible attributes. +// Hover to view descriptions of existing attributes. +// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run Extension", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}" + ], + "outFiles": [ + "${workspaceFolder}/out/**/*.js" + ], + "preLaunchTask": "${defaultBuildTask}" + }, + { + "name": "Extension Tests", + "type": "extensionHost", + "request": "launch", + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}", + "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" + ], + "outFiles": [ + "${workspaceFolder}/out/test/**/*.js" + ], + "preLaunchTask": "${defaultBuildTask}" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..30bf8c2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "files.exclude": { + "out": false // set this to true to hide the "out" folder with the compiled JS files + }, + "search.exclude": { + "out": true // set this to false to include "out" folder in search results + }, + // Turn off tsc task auto detection since we have the necessary tasks as npm scripts + "typescript.tsc.autoDetect": "off" +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..3b17e53 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,20 @@ +// See https://go.microsoft.com/fwlink/?LinkId=733558 +// for the documentation about the tasks.json format +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "watch", + "problemMatcher": "$tsc-watch", + "isBackground": true, + "presentation": { + "reveal": "never" + }, + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/.vscodeignore b/.vscodeignore new file mode 100644 index 0000000..3899967 --- /dev/null +++ b/.vscodeignore @@ -0,0 +1,10 @@ +.vscode/** +.vscode-test/** +src/** +.gitignore +.yarnrc +vsc-extension-quickstart.md +**/tsconfig.json +**/.eslintrc.json +**/*.map +**/*.ts diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..cb76095 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log + +All notable changes to the "vscode-fold-it" extension will be documented in this file. + +Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. + +## [Unreleased] + +- Initial release \ No newline at end of file diff --git a/README.md b/README.md index 1daaa1f..92742ed 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ -# vscode-fold-it +# Visual Studio Outlining + VS Code extension that adds Visual Studio outlining capabilities diff --git a/package.json b/package.json new file mode 100644 index 0000000..560f7bc --- /dev/null +++ b/package.json @@ -0,0 +1,145 @@ +{ + "name": "vscode-vs-outlining", + "displayName": "Visual Studio Outlining", + "description": "VS Code extension that adds Visual Studio outlining capabilities", + "version": "0.0.1", + "preview": false, + "publisher": "michaeljolley", + "license": "MIT", + "author": { + "name": "Michael Jolley", + "email": "mike@baldbeardedbuilder.com" + }, + "engines": { + "vscode": "^1.82.0" + }, + "categories": [ + "Formatters", + "Other" + ], + "extensionKind": [ + "ui" + ], + "keywords": [ + "collapse", + "fold", + "outlining", + "folding" + ], + "repository": { + "type": "git", + "url": "https://github.com/michaeljolley/vscode-vs-outlining.git" + }, + "homepage": "https://github.com/michaeljolley/vscode-vs-outlining#readme", + "galleryBanner": { + "color": "#373436", + "theme": "dark" + }, + "icon": "resources/vscode-vs-outlining.png", + "activationEvents": [ + "onStartupFinished" + ], + "main": "./out/extension.js", + "contributes": { + "commands": [ + { + "submenu": "vscode-vs-outlining", + "command": "vscode-vs-outlining.collapseToDefinitions", + "title": "Collapse to Definitions" + }, + { + "submenu": "vscode-vs-outlining", + "command": "vscode-vs-outlining.toggleOutliningExpansion", + "title": "Expand Outlines" + }, + { + "submenu": "vscode-vs-outlining", + "command": "vscode-vs-outlining.toggleAllOutlining", + "title": "Toggle All Outlining" + } + ], + "menus": { + "editor/context": [ + { + "submenu": "vscode-vs-outlining.submenu", + "group": "navigation@1000" + } + ], + "vscode-vs-outlining.submenu": [ + { + "command": "vscode-vs-outlining.toggleOutliningExpansion", + "title": "Toggle Outlining Expansion", + "group": "vscode-vs-outlining@1" + }, + { + "command": "vscode-vs-outlining.toggleAllOutlining", + "title": "Toggle All Outlining", + "group": "vscode-vs-outlining@2" + }, + { + "command": "vscode-vs-outlining.collapseToDefinitions", + "title": "Collapse to Definitions", + "group": "vscode-vs-outlining@3" + } + ] + }, + "submenus": [ + { + "id": "vscode-vs-outlining.submenu", + "label": "Outlining", + "when": "editorTextFocus", + "group": "navigation" + } + ], + "keybindings": [ + { + "command": "vscode-vs-outlining.toggleOutliningExpansion", + "key": "ctrl+M M", + "mac": "cmd+M M", + "when": "editorTextFocus" + }, + { + "command": "vscode-vs-outlining.toggleAllOutlining", + "key": "ctrl+M L", + "mac": "cmd+M L", + "when": "editorTextFocus" + }, + { + "command": "vscode-vs-outlining.collapseToDefinitions", + "key": "ctrl+M O", + "mac": "cmd+M O", + "when": "editorTextFocus" + } + ] + }, + "scripts": { + "vscode:prepublish": "pnpm run compile", + "compile": "tsc -p ./", + "watch": "tsc -watch -p ./", + "pretest": "pnpm run compile && pnpm run lint", + "lint": "eslint src --ext ts", + "format": "npx prettier --write \"src/**/*.ts\"", + "test": "node ./out/test/runTest.js" + }, + "devDependencies": { + "@semantic-release/changelog": "^6.0.3", + "@semantic-release/commit-analyzer": "^11.0.0", + "@semantic-release/git": "^10.0.1", + "@semantic-release/release-notes-generator": "^12.0.0", + "@types/glob": "^8.1.0", + "@types/mocha": "^10.0.1", + "@types/node": "16.x", + "@types/vscode": "^1.82.0", + "@typescript-eslint/eslint-plugin": "^5.53.0", + "@typescript-eslint/parser": "^5.53.0", + "@vscode/test-electron": "^2.2.3", + "conventional-changelog-conventionalcommits": "^7.0.2", + "eslint": "^8.34.0", + "glob": "^8.1.0", + "mocha": "^10.2.0", + "semantic-release": "^22.0.1", + "semantic-release-stop-before-publish": "^1.0.0", + "semantic-release-vsce": "^5.6.1", + "typescript": "^4.9.5" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..75d06cb --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,3752 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +devDependencies: + '@semantic-release/changelog': + specifier: ^6.0.3 + version: 6.0.3(semantic-release@22.0.1) + '@semantic-release/commit-analyzer': + specifier: ^11.0.0 + version: 11.0.0(semantic-release@22.0.1) + '@semantic-release/git': + specifier: ^10.0.1 + version: 10.0.1(semantic-release@22.0.1) + '@semantic-release/release-notes-generator': + specifier: ^12.0.0 + version: 12.0.0(semantic-release@22.0.1) + '@types/glob': + specifier: ^8.1.0 + version: 8.1.0 + '@types/mocha': + specifier: ^10.0.1 + version: 10.0.1 + '@types/node': + specifier: 16.x + version: 16.18.53 + '@types/vscode': + specifier: ^1.82.0 + version: 1.82.0 + '@typescript-eslint/eslint-plugin': + specifier: ^5.53.0 + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/parser': + specifier: ^5.53.0 + version: 5.62.0(eslint@8.49.0)(typescript@4.9.5) + '@vscode/test-electron': + specifier: ^2.2.3 + version: 2.3.4 + conventional-changelog-conventionalcommits: + specifier: ^7.0.2 + version: 7.0.2 + eslint: + specifier: ^8.34.0 + version: 8.49.0 + glob: + specifier: ^8.1.0 + version: 8.1.0 + mocha: + specifier: ^10.2.0 + version: 10.2.0 + semantic-release: + specifier: ^22.0.1 + version: 22.0.1(typescript@4.9.5) + semantic-release-stop-before-publish: + specifier: ^1.0.0 + version: 1.0.0(semantic-release@22.0.1) + semantic-release-vsce: + specifier: ^5.6.1 + version: 5.6.1(semantic-release@22.0.1) + typescript: + specifier: ^4.9.5 + version: 4.9.5 + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.49.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.49.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.8.1: + resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.22.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.49.0: + resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4(supports-color@8.1.1) + 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@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@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.15.0 + dev: true + + /@octokit/auth-token@4.0.0: + resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} + engines: {node: '>= 18'} + dev: true + + /@octokit/core@5.0.0: + resolution: {integrity: sha512-YbAtMWIrbZ9FCXbLwT9wWB8TyLjq9mxpKdgB3dUNxQcIVTf9hJ70gRPwAcqGZdY6WdJPZ0I7jLaaNDCiloGN2A==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-token': 4.0.0 + '@octokit/graphql': 7.0.1 + '@octokit/request': 8.1.1 + '@octokit/request-error': 5.0.0 + '@octokit/types': 11.1.0 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.0 + dev: true + + /@octokit/endpoint@9.0.0: + resolution: {integrity: sha512-szrQhiqJ88gghWY2Htt8MqUDO6++E/EIXqJ2ZEp5ma3uGS46o7LZAzSLt49myB7rT+Hfw5Y6gO3LmOxGzHijAQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/types': 11.1.0 + is-plain-object: 5.0.0 + universal-user-agent: 6.0.0 + dev: true + + /@octokit/graphql@7.0.1: + resolution: {integrity: sha512-T5S3oZ1JOE58gom6MIcrgwZXzTaxRnxBso58xhozxHpOqSTgDS6YNeEUvZ/kRvXgPrRz/KHnZhtb7jUMRi9E6w==} + engines: {node: '>= 18'} + dependencies: + '@octokit/request': 8.1.1 + '@octokit/types': 11.1.0 + universal-user-agent: 6.0.0 + dev: true + + /@octokit/openapi-types@18.0.0: + resolution: {integrity: sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==} + dev: true + + /@octokit/plugin-paginate-rest@8.0.0(@octokit/core@5.0.0): + resolution: {integrity: sha512-2xZ+baZWUg+qudVXnnvXz7qfrTmDeYPCzangBVq/1gXxii/OiS//4shJp9dnCCvj1x+JAm9ji1Egwm1BA47lPQ==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.0.0 + '@octokit/types': 11.1.0 + dev: true + + /@octokit/plugin-retry@6.0.0(@octokit/core@5.0.0): + resolution: {integrity: sha512-a1/A4A+PB1QoAHQfLJxGHhLfSAT03bR1jJz3GgQJZvty2ozawFWs93MiBQXO7SL2YbO7CIq0Goj4qLOBj8JeMQ==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.0.0 + '@octokit/request-error': 5.0.0 + '@octokit/types': 11.1.0 + bottleneck: 2.19.5 + dev: true + + /@octokit/plugin-throttling@7.0.0(@octokit/core@5.0.0): + resolution: {integrity: sha512-KL2k/d0uANc8XqP5S64YcNFCudR3F5AaKO39XWdUtlJIjT9Ni79ekWJ6Kj5xvAw87udkOMEPcVf9xEge2+ahew==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': ^5.0.0 + dependencies: + '@octokit/core': 5.0.0 + '@octokit/types': 11.1.0 + bottleneck: 2.19.5 + dev: true + + /@octokit/request-error@5.0.0: + resolution: {integrity: sha512-1ue0DH0Lif5iEqT52+Rf/hf0RmGO9NWFjrzmrkArpG9trFfDM/efx00BJHdLGuro4BR/gECxCU2Twf5OKrRFsQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/types': 11.1.0 + deprecation: 2.3.1 + once: 1.4.0 + dev: true + + /@octokit/request@8.1.1: + resolution: {integrity: sha512-8N+tdUz4aCqQmXl8FpHYfKG9GelDFd7XGVzyN8rc6WxVlYcfpHECnuRkgquzz+WzvHTK62co5di8gSXnzASZPQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/endpoint': 9.0.0 + '@octokit/request-error': 5.0.0 + '@octokit/types': 11.1.0 + is-plain-object: 5.0.0 + universal-user-agent: 6.0.0 + dev: true + + /@octokit/types@11.1.0: + resolution: {integrity: sha512-Fz0+7GyLm/bHt8fwEqgvRBWwIV1S6wRRyq+V6exRKLVWaKGsuy6H9QFYeBVDV7rK6fO3XwHgQOPxv+cLj2zpXQ==} + dependencies: + '@octokit/openapi-types': 18.0.0 + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pnpm/config.env-replace@1.1.0: + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + dev: true + + /@pnpm/network.ca-file@1.0.2: + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + dependencies: + graceful-fs: 4.2.10 + dev: true + + /@pnpm/npm-conf@2.2.2: + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + engines: {node: '>=12'} + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + dev: true + + /@semantic-release/changelog@6.0.3(semantic-release@22.0.1): + resolution: {integrity: sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + fs-extra: 11.1.1 + lodash: 4.17.21 + semantic-release: 22.0.1(typescript@4.9.5) + dev: true + + /@semantic-release/commit-analyzer@11.0.0(semantic-release@22.0.1): + resolution: {integrity: sha512-uEXyf4Z0AWJuxI9TbSQP5kkIYqus1/E1NcmE7pIv6d6/m/5EJcNWAGR4FOo34vrV26FhEaRVkxFfYzp/M7BKIg==} + engines: {node: ^18.17 || >=20.6.1} + peerDependencies: + semantic-release: '>=20.1.0' + dependencies: + conventional-changelog-angular: 7.0.0 + conventional-commits-filter: 4.0.0 + conventional-commits-parser: 5.0.0 + debug: 4.3.4(supports-color@8.1.1) + import-from: 4.0.0 + lodash-es: 4.17.21 + micromatch: 4.0.5 + semantic-release: 22.0.1(typescript@4.9.5) + transitivePeerDependencies: + - supports-color + dev: true + + /@semantic-release/error@3.0.0: + resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==} + engines: {node: '>=14.17'} + dev: true + + /@semantic-release/error@4.0.0: + resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} + engines: {node: '>=18'} + dev: true + + /@semantic-release/git@10.0.1(semantic-release@22.0.1): + resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + debug: 4.3.4(supports-color@8.1.1) + dir-glob: 3.0.1 + execa: 5.1.1 + lodash: 4.17.21 + micromatch: 4.0.5 + p-reduce: 2.1.0 + semantic-release: 22.0.1(typescript@4.9.5) + transitivePeerDependencies: + - supports-color + dev: true + + /@semantic-release/github@9.0.6(semantic-release@22.0.1): + resolution: {integrity: sha512-GBGt9c3c2UdSvso4jcyQQSUpZA9hbfHqGQerZKN9WvVzCIkaBy8xkhOyiFVX08LjRHHT/H221SJNBLtuihX5iw==} + engines: {node: '>=18'} + peerDependencies: + semantic-release: '>=20.1.0' + dependencies: + '@octokit/core': 5.0.0 + '@octokit/plugin-paginate-rest': 8.0.0(@octokit/core@5.0.0) + '@octokit/plugin-retry': 6.0.0(@octokit/core@5.0.0) + '@octokit/plugin-throttling': 7.0.0(@octokit/core@5.0.0) + '@semantic-release/error': 4.0.0 + aggregate-error: 5.0.0 + debug: 4.3.4(supports-color@8.1.1) + dir-glob: 3.0.1 + globby: 13.2.2 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 + issue-parser: 6.0.0 + lodash-es: 4.17.21 + mime: 3.0.0 + p-filter: 3.0.0 + semantic-release: 22.0.1(typescript@4.9.5) + url-join: 5.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@semantic-release/npm@11.0.0(semantic-release@22.0.1): + resolution: {integrity: sha512-ozNCiPUp14Xp2rgeY7j96yFTEhDncLSWOJr0IAUr888+ax6fH5xgYkNVv08vpkV8C5GIXBgnGd9coRiOCD6oqQ==} + engines: {node: ^18.17 || >=20} + peerDependencies: + semantic-release: '>=20.1.0' + dependencies: + '@semantic-release/error': 4.0.0 + aggregate-error: 5.0.0 + execa: 8.0.1 + fs-extra: 11.1.1 + lodash-es: 4.17.21 + nerf-dart: 1.0.0 + normalize-url: 8.0.0 + npm: 10.1.0 + rc: 1.2.8 + read-pkg: 8.1.0 + registry-auth-token: 5.0.2 + semantic-release: 22.0.1(typescript@4.9.5) + semver: 7.5.4 + tempy: 3.1.0 + dev: true + + /@semantic-release/release-notes-generator@12.0.0(semantic-release@22.0.1): + resolution: {integrity: sha512-m7Ds8ComP1KJgA2Lke2xMwE1TOOU40U7AzP4lT8hJ2tUAeicziPz/1GeDFmRkTOkMFlfHvE6kuvMkvU+mIzIDQ==} + engines: {node: ^18.17 || >=20.6.1} + peerDependencies: + semantic-release: '>=20.1.0' + dependencies: + conventional-changelog-angular: 7.0.0 + conventional-changelog-writer: 7.0.1 + conventional-commits-filter: 4.0.0 + conventional-commits-parser: 5.0.0 + debug: 4.3.4(supports-color@8.1.1) + get-stream: 7.0.1 + import-from: 4.0.0 + into-stream: 7.0.0 + lodash-es: 4.17.21 + read-pkg-up: 10.1.0 + semantic-release: 22.0.1(typescript@4.9.5) + transitivePeerDependencies: + - supports-color + dev: true + + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: true + + /@types/glob@8.1.0: + resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 16.18.53 + dev: true + + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} + dev: true + + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + + /@types/mocha@10.0.1: + resolution: {integrity: sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==} + dev: true + + /@types/node@16.18.53: + resolution: {integrity: sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw==} + dev: true + + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + + /@types/semver@7.5.2: + resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==} + dev: true + + /@types/vscode@1.82.0: + resolution: {integrity: sha512-VSHV+VnpF8DEm8LNrn8OJ8VuUNcBzN3tMvKrNpbhhfuVjFm82+6v44AbDhLvVFgCzn6vs94EJNTp7w8S6+Q1Rw==} + dev: true + + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.49.0)(typescript@4.9.5): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.8.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.49.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.5.4 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.62.0(eslint@8.49.0)(typescript@4.9.5): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.49.0 + typescript: 4.9.5 + 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/type-utils@5.62.0(eslint@8.49.0)(typescript@4.9.5): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.49.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + 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/typescript-estree@5.62.0(typescript@4.9.5): + 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(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.49.0)(typescript@4.9.5): + 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.49.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.2 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + eslint: 8.49.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@vscode/test-electron@2.3.4: + resolution: {integrity: sha512-eWzIqXMhvlcoXfEFNWrVu/yYT5w6De+WZXR/bafUQhAp8+8GkQo95Oe14phwiRUPv8L+geAKl/QM2+PoT3YW3g==} + engines: {node: '>=16'} + dependencies: + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + jszip: 3.10.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@vscode/vsce@2.21.0: + resolution: {integrity: sha512-KuxYqScqUY/duJbkj9eE2tN2X/WJoGAy54hHtxT3ZBkM6IzrOg7H7CXGUPBxNlmqku2w/cAjOUSrgIHlzz0mbA==} + engines: {node: '>= 14'} + hasBin: true + dependencies: + azure-devops-node-api: 11.2.0 + chalk: 2.4.2 + cheerio: 1.0.0-rc.12 + commander: 6.2.1 + glob: 7.2.3 + hosted-git-info: 4.1.0 + jsonc-parser: 3.2.0 + leven: 3.1.0 + markdown-it: 12.3.2 + mime: 1.6.0 + minimatch: 3.1.2 + parse-semver: 1.1.1 + read: 1.0.7 + semver: 7.5.4 + tmp: 0.2.1 + typed-rest-client: 1.8.11 + url-join: 4.0.1 + xml2js: 0.5.0 + yauzl: 2.10.0 + yazl: 2.5.1 + optionalDependencies: + keytar: 7.9.0 + dev: true + + /JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + dev: true + + /acorn-jsx@5.3.2(acorn@8.10.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.10.0 + dev: true + + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /aggregate-error@4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} + dependencies: + clean-stack: 4.2.0 + indent-string: 5.0.0 + dev: true + + /aggregate-error@5.0.0: + resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==} + engines: {node: '>=18'} + dependencies: + clean-stack: 5.2.0 + indent-string: 5.0.0 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-colors@4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes@6.2.0: + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} + dependencies: + type-fest: 3.13.1 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + dev: true + + /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: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /argv-formatter@1.0.0: + resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} + dev: true + + /array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /azure-devops-node-api@11.2.0: + resolution: {integrity: sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==} + dependencies: + tunnel: 0.0.6 + typed-rest-client: 1.8.11 + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + requiresBuild: true + dev: true + optional: true + + /before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + requiresBuild: true + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + optional: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /bottleneck@2.19.5: + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + requiresBuild: true + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + optional: true + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /cardinal@2.1.1: + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + hasBin: true + dependencies: + ansicolors: 0.3.2 + redeyed: 2.1.1 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /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 + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + dev: true + + /cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + requiresBuild: true + dev: true + optional: true + + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /clean-stack@4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + dev: true + + /clean-stack@5.2.0: + resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} + engines: {node: '>=14.16'} + dependencies: + escape-string-regexp: 5.0.0 + dev: true + + /cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + engines: {node: 10.* || >= 12.*} + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + dev: true + + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + dev: true + + /compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true + + /conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-conventionalcommits@7.0.2: + resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} + engines: {node: '>=16'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-writer@7.0.1: + resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + conventional-commits-filter: 4.0.0 + handlebars: 4.7.8 + json-stringify-safe: 5.0.1 + meow: 12.1.1 + semver: 7.5.4 + split2: 4.2.0 + dev: true + + /conventional-commits-filter@4.0.0: + resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==} + engines: {node: '>=16'} + dev: true + + /conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cosmiconfig@8.3.6(typescript@4.9.5): + 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: 4.9.5 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /debug@4.3.4(supports-color@8.1.1): + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 8.1.1 + dev: true + + /decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + dev: true + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + mimic-response: 3.1.0 + dev: true + optional: true + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deprecation@2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + dev: true + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + requiresBuild: true + dev: true + optional: true + + /diff@5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /duplexer2@0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + dependencies: + readable-stream: 2.3.8 + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + requiresBuild: true + dependencies: + once: 1.4.0 + dev: true + optional: true + + /entities@2.1.0: + resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /env-ci@9.1.1: + resolution: {integrity: sha512-Im2yEWeF4b2RAMAaWvGioXk6m0UNaIjD8hj28j2ij5ldnIFrDQT0+pzDvpbRkcjurhXhf/AsBKv8P2rtmGi9Aw==} + engines: {node: ^16.14 || >=18} + dependencies: + execa: 7.2.0 + java-properties: 1.0.2 + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + 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.49.0: + resolution: {integrity: sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@eslint-community/regexpp': 4.8.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.49.0 + '@humanwhocodes/config-array': 0.11.11 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + 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.22.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + 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'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + requiresBuild: true + dev: true + optional: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /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.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: true + + /figures@2.0.0: + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /figures@5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + 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.1.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 + dev: true + + /find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + dependencies: + locate-path: 2.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + dev: true + + /find-versions@5.1.0: + resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} + engines: {node: '>=12'} + dependencies: + semver-regex: 4.0.5 + dev: true + + /flat-cache@3.1.0: + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} + dependencies: + flatted: 3.2.9 + keyv: 4.5.3 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /follow-redirects@1.15.3: + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /from2@2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + dev: true + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + requiresBuild: true + dev: true + optional: true + + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /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: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-stream@7.0.1: + resolution: {integrity: sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==} + engines: {node: '>=16'} + dev: true + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /git-log-parser@1.2.0: + resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} + dependencies: + argv-formatter: 1.0.0 + spawn-error-forwarder: 1.0.0 + split2: 1.0.0 + stream-combiner2: 1.1.1 + through2: 2.0.5 + traverse: 0.6.7 + dev: true + + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + requiresBuild: true + dev: true + optional: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /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.5: + resolution: {integrity: sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.3 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 + dev: true + + /glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.22.0: + resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.17.4 + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + 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@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /hook-std@3.0.0: + resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.0.1 + dev: true + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /http-proxy-agent@7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + requiresBuild: true + dev: true + optional: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + 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 + dev: true + + /import-from@4.0.0: + resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} + engines: {node: '>=12.2'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /into-stream@7.0.0: + resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} + engines: {node: '>=12'} + dependencies: + from2: 2.3.0 + p-is-promise: 3.0.0 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: true + + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} + dependencies: + text-extensions: 2.4.0 + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /issue-parser@6.0.0: + resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} + engines: {node: '>=10.13'} + dependencies: + lodash.capitalize: 4.2.1 + lodash.escaperegexp: 4.1.2 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.uniqby: 4.7.0 + dev: true + + /jackspeak@2.3.3: + resolution: {integrity: sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /java-properties@1.0.2: + resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} + engines: {node: '>= 0.6.0'} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-parse-even-better-errors@3.0.0: + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /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 + + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.8 + setimmediate: 1.0.5 + dev: true + + /keytar@7.9.0: + resolution: {integrity: sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==} + requiresBuild: true + dependencies: + node-addon-api: 4.3.0 + prebuild-install: 7.1.1 + dev: true + optional: true + + /keyv@4.5.3: + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + dependencies: + immediate: 3.0.6 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lines-and-columns@2.0.3: + resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /linkify-it@3.0.3: + resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} + dependencies: + uc.micro: 1.0.6 + dev: true + + /load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-locate: 6.0.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true + + /lodash.capitalize@4.2.1: + resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} + dev: true + + /lodash.escaperegexp@4.1.2: + resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + dev: true + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.uniqby@4.7.0: + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /markdown-it@12.3.2: + resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 2.1.0 + linkify-it: 3.0.3 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /marked-terminal@5.2.0(marked@5.1.2): + resolution: {integrity: sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==} + engines: {node: '>=14.13.1 || >=16.0.0'} + peerDependencies: + marked: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + dependencies: + ansi-escapes: 6.2.0 + cardinal: 2.1.1 + chalk: 5.3.0 + cli-table3: 0.6.3 + marked: 5.1.2 + node-emoji: 1.11.0 + supports-hyperlinks: 2.3.0 + dev: true + + /marked@5.1.2: + resolution: {integrity: sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==} + engines: {node: '>= 16'} + hasBin: true + dev: true + + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: true + + /meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /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@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + requiresBuild: true + dev: true + optional: true + + /mocha@10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} + engines: {node: '>= 14.0.0'} + hasBin: true + dependencies: + ansi-colors: 4.1.1 + browser-stdout: 1.3.1 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + diff: 5.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 7.2.0 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 5.0.1 + ms: 2.1.3 + nanoid: 3.3.3 + serialize-javascript: 6.0.0 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.2.1 + yargs: 16.2.0 + yargs-parser: 20.2.4 + yargs-unparser: 2.0.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /nanoid@3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + requiresBuild: true + dev: true + optional: true + + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /nerf-dart@1.0.0: + resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} + dev: true + + /node-abi@3.47.0: + resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + semver: 7.5.4 + dev: true + optional: true + + /node-addon-api@4.3.0: + resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} + requiresBuild: true + dev: true + optional: true + + /node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + dependencies: + lodash: 4.17.21 + dev: true + + /normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + is-core-module: 2.13.0 + semver: 7.5.4 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url@8.0.0: + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /npm@10.1.0: + resolution: {integrity: sha512-pZ2xybXzNGbJFZEKNbPoEXsE38Xou9VTnxxBk+B3pz0ndsGCs7iWHoUCPSsISU2hjmkWfDkJo3bYKE8RDOg4eg==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + dev: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/map-workspaces' + - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/run-script' + - '@sigstore/tuf' + - abbrev + - archy + - cacache + - chalk + - ci-info + - cli-columns + - cli-table3 + - columnify + - fastest-levenshtein + - fs-minipass + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmhook + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minimatch + - minipass + - minipass-pipeline + - ms + - node-gyp + - nopt + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - npmlog + - p-map + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - semver + - ssri + - supports-color + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which + - write-file-atomic + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ovsx@0.8.3: + resolution: {integrity: sha512-LG7wTzy4eYV/KolFeO4AwWPzQSARvCONzd5oHQlNvYOlji2r/zjbdK8pyObZN84uZlk6rQBWrJrAdJfh/SX0Hg==} + engines: {node: '>= 14'} + hasBin: true + dependencies: + '@vscode/vsce': 2.21.0 + commander: 6.2.1 + follow-redirects: 1.15.3 + is-ci: 2.0.0 + leven: 3.1.0 + semver: 7.5.4 + tmp: 0.2.1 + transitivePeerDependencies: + - debug + dev: true + + /p-each-series@3.0.0: + resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} + engines: {node: '>=12'} + dev: true + + /p-filter@3.0.0: + resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-map: 5.5.0 + dev: true + + /p-is-promise@3.0.0: + resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} + engines: {node: '>=8'} + dev: true + + /p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + dependencies: + p-try: 1.0.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + dependencies: + p-limit: 1.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-limit: 4.0.0 + dev: true + + /p-map@5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} + dependencies: + aggregate-error: 4.0.1 + dev: true + + /p-reduce@2.1.0: + resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} + engines: {node: '>=8'} + dev: true + + /p-reduce@3.0.0: + resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} + engines: {node: '>=12'} + dev: true + + /p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + dev: true + + /pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse-json@7.1.0: + resolution: {integrity: sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==} + engines: {node: '>=16'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.0 + lines-and-columns: 2.0.3 + type-fest: 3.13.1 + dev: true + + /parse-semver@1.1.1: + resolution: {integrity: sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==} + dependencies: + semver: 5.7.2 + dev: true + + /parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + dev: true + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: true + + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.0.1 + minipass: 7.0.3 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pkg-conf@2.1.0: + resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} + engines: {node: '>=4'} + dependencies: + find-up: 2.1.0 + load-json-file: 4.0.0 + dev: true + + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.47.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: true + optional: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + requiresBuild: true + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + optional: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /qs@6.11.2: + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + + /read-pkg-up@10.1.0: + resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} + engines: {node: '>=16'} + dependencies: + find-up: 6.3.0 + read-pkg: 8.1.0 + type-fest: 4.3.1 + dev: true + + /read-pkg@8.1.0: + resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} + engines: {node: '>=16'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 6.0.0 + parse-json: 7.1.0 + type-fest: 4.3.1 + dev: true + + /read@1.0.7: + resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} + engines: {node: '>=0.8'} + dependencies: + mute-stream: 0.0.8 + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + requiresBuild: true + dependencies: + inherits: 2.0.4 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + optional: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /redeyed@2.1.1: + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + dependencies: + esprima: 4.0.1 + dev: true + + /registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + dependencies: + '@pnpm/npm-conf': 2.2.2 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + + /semantic-release-stop-before-publish@1.0.0(semantic-release@22.0.1): + resolution: {integrity: sha512-LylAHHLcKxLGb0/cADeeS7EhNa35XK0L5Qar3ayNdtutjm4MQcdGV3pxKR0nlDdPpKFn7RZGFIvzDO+hRHj2kA==} + peerDependencies: + semantic-release: '>=18' + dependencies: + semantic-release: 22.0.1(typescript@4.9.5) + dev: true + + /semantic-release-vsce@5.6.1(semantic-release@22.0.1): + resolution: {integrity: sha512-zW8A4p6SXUicOEU4E55yDqCOKzdSHL8c2zuzCrO2NRvImEy4IukeWiAeE4ffUXjXLbuOKaifzMF+hBn9vuSOQw==} + engines: {node: '>=14'} + peerDependencies: + semantic-release: '>=18' + dependencies: + '@semantic-release/error': 3.0.0 + '@vscode/vsce': 2.21.0 + execa: 5.1.1 + fs-extra: 11.1.1 + glob: 10.3.5 + ovsx: 0.8.3 + semantic-release: 22.0.1(typescript@4.9.5) + transitivePeerDependencies: + - debug + dev: true + + /semantic-release@22.0.1(typescript@4.9.5): + resolution: {integrity: sha512-4Jl9AgVaIz0e9nA2Y4cFxrMGvaOhWCshofkCPdLOQVaTxwwVqzj6UScgQ9RbNaceUen0iiR4ROAVB7munN0dZg==} + engines: {node: ^18.17 || >=20.6.1} + hasBin: true + dependencies: + '@semantic-release/commit-analyzer': 11.0.0(semantic-release@22.0.1) + '@semantic-release/error': 4.0.0 + '@semantic-release/github': 9.0.6(semantic-release@22.0.1) + '@semantic-release/npm': 11.0.0(semantic-release@22.0.1) + '@semantic-release/release-notes-generator': 12.0.0(semantic-release@22.0.1) + aggregate-error: 5.0.0 + cosmiconfig: 8.3.6(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + env-ci: 9.1.1 + execa: 8.0.1 + figures: 5.0.0 + find-versions: 5.1.0 + get-stream: 6.0.1 + git-log-parser: 1.2.0 + hook-std: 3.0.0 + hosted-git-info: 7.0.1 + lodash-es: 4.17.21 + marked: 5.1.2 + marked-terminal: 5.2.0(marked@5.1.2) + micromatch: 4.0.5 + p-each-series: 3.0.0 + p-reduce: 3.0.0 + read-pkg-up: 10.1.0 + resolve-from: 5.0.0 + semver: 7.5.4 + semver-diff: 4.0.0 + signale: 1.4.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + dependencies: + semver: 7.5.4 + dev: true + + /semver-regex@4.0.5: + resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} + engines: {node: '>=12'} + dev: true + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /serialize-javascript@6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + dependencies: + randombytes: 2.1.0 + dev: true + + /setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /signale@1.4.0: + resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} + engines: {node: '>=6'} + dependencies: + chalk: 2.4.2 + figures: 2.0.0 + pkg-conf: 2.1.0 + dev: true + + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + requiresBuild: true + dev: true + optional: true + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + requiresBuild: true + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: true + optional: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /spawn-error-forwarder@1.0.0: + resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.15 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.15 + dev: true + + /spdx-license-ids@3.0.15: + resolution: {integrity: sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==} + dev: true + + /split2@1.0.0: + resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} + dependencies: + through2: 2.0.5 + dev: true + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: true + + /stream-combiner2@1.1.1: + resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} + dependencies: + duplexer2: 0.1.4 + readable-stream: 2.3.8 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /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-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + requiresBuild: true + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: true + optional: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + optional: true + + /temp-dir@3.0.0: + resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} + engines: {node: '>=14.16'} + dev: true + + /tempy@3.1.0: + resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} + engines: {node: '>=14.16'} + dependencies: + is-stream: 3.0.0 + temp-dir: 3.0.0 + type-fest: 2.19.0 + unique-string: 3.0.0 + dev: true + + /text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} + engines: {node: '>=8'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /traverse@0.6.7: + resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tsutils@3.21.0(typescript@4.9.5): + 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: 4.9.5 + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + requiresBuild: true + dependencies: + safe-buffer: 5.2.1 + dev: true + optional: true + + /tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.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@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: true + + /type-fest@4.3.1: + resolution: {integrity: sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==} + engines: {node: '>=16'} + dev: true + + /typed-rest-client@1.8.11: + resolution: {integrity: sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==} + dependencies: + qs: 6.11.2 + tunnel: 0.0.6 + underscore: 1.13.6 + dev: true + + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: true + + /uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + dev: true + + /unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + dependencies: + crypto-random-string: 4.0.0 + dev: true + + /universal-user-agent@6.0.0: + resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /url-join@4.0.1: + resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + dev: true + + /url-join@5.0.0: + resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true + + /workerpool@6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + dev: true + + /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: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xml2js@0.5.0: + resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} + engines: {node: '>=4.0.0'} + dependencies: + sax: 1.2.4 + xmlbuilder: 11.0.1 + dev: true + + /xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + dev: true + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + dependencies: + camelcase: 6.3.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + dev: true + + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.4 + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + + /yazl@2.5.1: + resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} + dependencies: + buffer-crc32: 0.2.13 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true diff --git a/resources/vscode-vs-outlining.png b/resources/vscode-vs-outlining.png new file mode 100644 index 0000000000000000000000000000000000000000..b20adfe94afee7b37668567bacf186a7395415bc GIT binary patch literal 59728 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 literal 0 HcmV?d00001 diff --git a/src/commands/collapseToDefinitions.ts b/src/commands/collapseToDefinitions.ts new file mode 100644 index 0000000..9cf4457 --- /dev/null +++ b/src/commands/collapseToDefinitions.ts @@ -0,0 +1,26 @@ +import * as vscode from "vscode"; + +export async function collapseToDefinitions() { + const textEditor = vscode.window.activeTextEditor; + if (!textEditor) { + return; + } + + const selection = textEditor.selection; + + const language = + textEditor && textEditor.document && textEditor.document.languageId; + let levels = 1; + + switch (language) { + case "csharp": + levels = 2; + break; + } + + // Set position to top of editor so all regions collapse + textEditor.selection = new vscode.Selection(0, 0, 0, 0); + + await vscode.commands.executeCommand("editor.unfoldAll"); + await vscode.commands.executeCommand("editor.foldLevel" + levels); +} diff --git a/src/commands/toggleAllOutlining.ts b/src/commands/toggleAllOutlining.ts new file mode 100644 index 0000000..3e55cb3 --- /dev/null +++ b/src/commands/toggleAllOutlining.ts @@ -0,0 +1,14 @@ +import { collapseToDefinitions } from "./collapseToDefinitions"; +import { toggleOutliningExpansion } from "./toggleOutliningExpansion"; + +let toggleState = false; + +export async function toggleAllOutlining() { + if (toggleState) { + toggleOutliningExpansion(); + } else { + await collapseToDefinitions(); + } + + toggleState = !toggleState; +} diff --git a/src/commands/toggleOutliningExpansion.ts b/src/commands/toggleOutliningExpansion.ts new file mode 100644 index 0000000..928d676 --- /dev/null +++ b/src/commands/toggleOutliningExpansion.ts @@ -0,0 +1,10 @@ +import * as vscode from "vscode"; + +export async function toggleOutliningExpansion() { + const textEditor = vscode.window.activeTextEditor; + if (!textEditor) { + return; + } + + await vscode.commands.executeCommand("editor.unfoldAll"); +} diff --git a/src/extension.ts b/src/extension.ts new file mode 100644 index 0000000..ebbed5a --- /dev/null +++ b/src/extension.ts @@ -0,0 +1,29 @@ +import * as vscode from "vscode"; +import { collapseToDefinitions } from "./commands/collapseToDefinitions"; +import { toggleOutliningExpansion } from "./commands/toggleOutliningExpansion"; +import { toggleAllOutlining } from "./commands/toggleAllOutlining"; + +export function activate(context: vscode.ExtensionContext) { + const collapseToDefinitionsDisposable = vscode.commands.registerCommand( + "vscode-vs-outlining.collapseToDefinitions", + collapseToDefinitions, + ); + + const toggleOutliningExpansionDisposable = vscode.commands.registerCommand( + "vscode-vs-outlining.toggleOutliningExpansion", + toggleOutliningExpansion, + ); + + const toggleAllOutliningDisposable = vscode.commands.registerCommand( + "vscode-vs-outlining.toggleAllOutlining", + toggleAllOutlining, + ); + + context.subscriptions.push( + collapseToDefinitionsDisposable, + toggleOutliningExpansionDisposable, + toggleAllOutliningDisposable, + ); +} + +export function deactivate() {} diff --git a/src/test.cs b/src/test.cs new file mode 100644 index 0000000..8efb9bd --- /dev/null +++ b/src/test.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.ObjectModel; +using System.Diagnostics; +using BaldBeardedBases.Core.Common; + +namespace BaldBeardedBases.UI; + +public partial class MainPage : ContentPage +{ + public ObservableCollection analytics { get; set; } + private BaldBeardedBases.Core.Data.Supabase supabase = new BaldBeardedBases.Core.Data.Supabase(); + + public MainPage() + { + InitializeComponent(); + analytics = new ObservableCollection(); + BindingContext = this; + } + + private async void LoadAnalytics(object sender, EventArgs e) + { + analytics.Clear(); + List newAnalytics = await supabase.GetAnalyticsAsync(); + foreach (Analytic a in newAnalytics) + { + analytics.Add(a); + } + + Debug.WriteLine(analytics.Count); + } +} + diff --git a/src/test/runTest.ts b/src/test/runTest.ts new file mode 100644 index 0000000..8a6ab0e --- /dev/null +++ b/src/test/runTest.ts @@ -0,0 +1,23 @@ +import * as path from "path"; + +import { runTests } from "@vscode/test-electron"; + +async function main() { + try { + // The folder containing the Extension Manifest package.json + // Passed to `--extensionDevelopmentPath` + const extensionDevelopmentPath = path.resolve(__dirname, "../../"); + + // The path to test runner + // Passed to --extensionTestsPath + const extensionTestsPath = path.resolve(__dirname, "./suite/index"); + + // Download VS Code, unzip it and run the integration test + await runTests({ extensionDevelopmentPath, extensionTestsPath }); + } catch (err) { + console.error("Failed to run tests", err); + process.exit(1); + } +} + +main(); diff --git a/src/test/suite/extension.test.ts b/src/test/suite/extension.test.ts new file mode 100644 index 0000000..2f671d3 --- /dev/null +++ b/src/test/suite/extension.test.ts @@ -0,0 +1,15 @@ +import * as assert from "assert"; + +// You can import and use all API from the 'vscode' module +// as well as import your extension to test it +import * as vscode from "vscode"; +// import * as myExtension from '../../extension'; + +suite("Extension Test Suite", () => { + vscode.window.showInformationMessage("Start all tests."); + + test("Sample test", () => { + assert.strictEqual(-1, [1, 2, 3].indexOf(5)); + assert.strictEqual(-1, [1, 2, 3].indexOf(0)); + }); +}); diff --git a/src/test/suite/index.ts b/src/test/suite/index.ts new file mode 100644 index 0000000..2cb7d7d --- /dev/null +++ b/src/test/suite/index.ts @@ -0,0 +1,38 @@ +import * as path from "path"; +import * as Mocha from "mocha"; +import * as glob from "glob"; + +export function run(): Promise { + // Create the mocha test + const mocha = new Mocha({ + ui: "tdd", + color: true, + }); + + const testsRoot = path.resolve(__dirname, ".."); + + return new Promise((c, e) => { + glob("**/**.test.js", { cwd: testsRoot }, (err, files) => { + if (err) { + return e(err); + } + + // Add files to the test suite + files.forEach((f) => mocha.addFile(path.resolve(testsRoot, f))); + + try { + // Run the mocha test + mocha.run((failures) => { + if (failures > 0) { + e(new Error(`${failures} tests failed.`)); + } else { + c(); + } + }); + } catch (err) { + console.error(err); + e(err); + } + }); + }); +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..315af7e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "ES2020", + "outDir": "out", + "lib": [ + "ES2020" + ], + "sourceMap": true, + "rootDir": "src", + "strict": true /* enable all strict type-checking options */ + /* Additional Checks */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + } +}