From 94ffba8836a0875b7908c762941094e62c12fbae Mon Sep 17 00:00:00 2001 From: Anthony Date: Sat, 21 Oct 2023 19:50:16 +0400 Subject: [PATCH 01/51] feat(project): setup angular project --- .editorconfig | 16 + .eslintrc.json | 47 + .gitignore | 146 +- .vscode/extensions.json | 4 + .vscode/launch.json | 20 + .vscode/tasks.json | 42 + README.md | 27 + angular.json | 118 + package-lock.json | 15108 ++++++++++++++++++++++ package.json | 51 + src/app/app-routing.module.ts | 10 + src/app/app.component.html | 483 + src/app/app.component.scss | 0 src/app/app.component.spec.ts | 29 + src/app/app.component.ts | 10 + src/app/app.module.ts | 20 + src/app/header/header.component.html | 1 + src/app/header/header.component.scss | 0 src/app/header/header.component.spec.ts | 21 + src/app/header/header.component.ts | 10 + src/assets/.gitkeep | 0 src/favicon.ico | Bin 0 -> 948 bytes src/index.html | 13 + src/main.ts | 7 + src/styles.scss | 1 + tsconfig.app.json | 14 + tsconfig.json | 33 + tsconfig.spec.json | 14 + 28 files changed, 16141 insertions(+), 104 deletions(-) create mode 100644 .editorconfig create mode 100644 .eslintrc.json create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 README.md create mode 100644 angular.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/app/app-routing.module.ts create mode 100644 src/app/app.component.html create mode 100644 src/app/app.component.scss create mode 100644 src/app/app.component.spec.ts create mode 100644 src/app/app.component.ts create mode 100644 src/app/app.module.ts create mode 100644 src/app/header/header.component.html create mode 100644 src/app/header/header.component.scss create mode 100644 src/app/header/header.component.spec.ts create mode 100644 src/app/header/header.component.ts create mode 100644 src/assets/.gitkeep create mode 100644 src/favicon.ico create mode 100644 src/index.html create mode 100644 src/main.ts create mode 100644 src/styles.scss create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.spec.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..59d9a3a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..db226e9 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,47 @@ +{ + "root": true, + "ignorePatterns": [ + "projects/**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:@angular-eslint/recommended", + "plugin:@angular-eslint/template/process-inline-templates" + ], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "app", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "app", + "style": "kebab-case" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "extends": [ + "plugin:@angular-eslint/template/recommended", + "plugin:@angular-eslint/template/accessibility" + ], + "rules": {} + } + ] +} diff --git a/.gitignore b/.gitignore index 6704566..0711527 100644 --- a/.gitignore +++ b/.gitignore @@ -1,104 +1,42 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and *not* Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..77b3745 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..925af83 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..a298b5b --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..008bb8c --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Intro + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.7. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/angular.json b/angular.json new file mode 100644 index 0000000..1d19857 --- /dev/null +++ b/angular.json @@ -0,0 +1,118 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "intro": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/intro", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "intro:build:production" + }, + "development": { + "browserTarget": "intro:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "intro:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + }, + "lint": { + "builder": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "src/**/*.ts", + "src/**/*.html" + ] + } + } + } + } + }, + "cli": { + "schematicCollections": [ + "@angular-eslint/schematics" + ] + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7add2ce --- /dev/null +++ b/package-lock.json @@ -0,0 +1,15108 @@ +{ + "name": "intro", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "intro", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^16.2.0", + "@angular/common": "^16.2.0", + "@angular/compiler": "^16.2.0", + "@angular/core": "^16.2.0", + "@angular/forms": "^16.2.0", + "@angular/platform-browser": "^16.2.0", + "@angular/platform-browser-dynamic": "^16.2.0", + "@angular/router": "^16.2.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.13.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^16.2.7", + "@angular-eslint/builder": "16.2.0", + "@angular-eslint/eslint-plugin": "16.2.0", + "@angular-eslint/eslint-plugin-template": "16.2.0", + "@angular-eslint/schematics": "16.2.0", + "@angular-eslint/template-parser": "16.2.0", + "@angular/cli": "^16.2.7", + "@angular/compiler-cli": "^16.2.0", + "@types/jasmine": "~4.3.0", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", + "eslint": "^8.49.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-unused-imports": "^3.0.0", + "jasmine-core": "~4.6.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.1.3" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1602.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.7.tgz", + "integrity": "sha512-r6+z4jRE+e9VNeTmJCGz5VI5azRagOqE4SIDqaywz75eHOJ9UPSo9MHy8zFw1eLt1WcvCDqk+Pk9+krh2E+B8Q==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.7", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.7.tgz", + "integrity": "sha512-OTH4qzXmWXifhvH0iXwPUhElWEU9SUcIZyWYbv2NR5ImAw/GE07vDuBljGRJeSEC9MpFbThwEFbHD8oRWiLUag==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.1", + "@angular-devkit/architect": "0.1602.7", + "@angular-devkit/build-webpack": "0.1602.7", + "@angular-devkit/core": "16.2.7", + "@babel/core": "7.22.9", + "@babel/generator": "7.22.9", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.22.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.22.5", + "@babel/plugin-transform-runtime": "7.22.9", + "@babel/preset-env": "7.22.9", + "@babel/runtime": "7.22.6", + "@babel/template": "7.22.5", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "16.2.7", + "@vitejs/plugin-basic-ssl": "1.0.1", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.14", + "babel-loader": "9.1.3", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.21.5", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.20", + "css-loader": "6.8.1", + "esbuild-wasm": "0.18.17", + "fast-glob": "3.3.1", + "guess-parser": "0.4.22", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.30.1", + "mini-css-extract-plugin": "2.7.6", + "mrmime": "1.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "2.3.1", + "piscina": "4.0.0", + "postcss": "8.4.31", + "postcss-loader": "7.3.3", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.64.1", + "sass-loader": "13.3.2", + "semver": "7.5.4", + "source-map-loader": "4.0.1", + "source-map-support": "0.5.21", + "terser": "5.19.2", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.6.1", + "vite": "4.4.7", + "webpack": "5.88.2", + "webpack-dev-middleware": "6.1.1", + "webpack-dev-server": "4.15.1", + "webpack-merge": "5.9.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.18.17" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "@angular/localize": "^16.0.0", + "@angular/platform-server": "^16.0.0", + "@angular/service-worker": "^16.0.0", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "karma": "^6.3.0", + "ng-packagr": "^16.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.9.3 <5.2" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "jest": { + "optional": true + }, + "jest-environment-jsdom": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "dev": true + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1602.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1602.7.tgz", + "integrity": "sha512-3+MV9ehn65XUUMSBBgfg5K2zZs2jhif75ypI+BBUfZDUWeKR5MeGJy0aDHZ+2H94kPkmSD3PrkOuitWdnDjTgA==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1602.7", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.7.tgz", + "integrity": "sha512-XskObYrg7NRdEuHnSVZOM7OeinEL8HzugjmKnawAa+dAbFCCoGsVWjMliA/Q8sb1yfGkyL0WW7DZABZj7EGwWA==", + "dev": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "picomatch": "2.3.1", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.7.tgz", + "integrity": "sha512-zu3xHwA4w+kXHkyyjGl3i7uSU2/kKLPKuyyixw0WLcKUQCYd7TWmu8OC0qCDa42XkxP9gGL091dJFu56exgneA==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.7", + "jsonc-parser": "3.2.0", + "magic-string": "0.30.1", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-eslint/builder": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.2.0.tgz", + "integrity": "sha512-SZjXOi3YIjuX2CocuRsR2QH6k1ca9lRO6IMm0YIYMmBPFCRP2KFHkL6aQnXM6DSaymQNN2TXfpuvUd45NxhU1w==", + "dev": true, + "dependencies": { + "@nx/devkit": "16.5.1", + "nx": "16.5.1" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.2.0.tgz", + "integrity": "sha512-ct9orDYxkMl2+uvM7UBfgV28Dq57V4dEs+Drh7cD673JIMa6sXbgmd0QEtm8W3cmyK/jcTzmuoufxbH7hOxd6g==", + "dev": true + }, + "node_modules/@angular-eslint/eslint-plugin": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.2.0.tgz", + "integrity": "sha512-zdiAIox1T+B71HL+A8m+1jWdU34nvPGLhCRw/uZNwHzknsF4tYzNQ9W7T/SC/g/2s1yT2yNosEVNJSGSFvunJg==", + "dev": true, + "dependencies": { + "@angular-eslint/utils": "16.2.0", + "@typescript-eslint/utils": "5.62.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/eslint-plugin-template": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.2.0.tgz", + "integrity": "sha512-YFdQ6hHX6NlQj0lfogZwfyKjU8pqkJU+Zsk0ehjlXP8VfKFVmDeQT5/Xr6Df9C8pveC3hvq6Jgd8vo67S9Enxg==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.2.0", + "@angular-eslint/utils": "16.2.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "aria-query": "5.3.0", + "axobject-query": "3.2.1" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/schematics": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.2.0.tgz", + "integrity": "sha512-2JUVR7hAKx37mgWeDjvyWEMH5uSeeksYuaQT5wwlgIzgrO4BNFuqs6Rgyp2jiYa7BFMX/qHULSa+bSq5J5ceEA==", + "dev": true, + "dependencies": { + "@angular-eslint/eslint-plugin": "16.2.0", + "@angular-eslint/eslint-plugin-template": "16.2.0", + "@nx/devkit": "16.5.1", + "ignore": "5.2.4", + "nx": "16.5.1", + "strip-json-comments": "3.1.1", + "tmp": "0.2.1" + }, + "peerDependencies": { + "@angular/cli": ">= 16.0.0 < 17.0.0" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/@angular-eslint/template-parser": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.2.0.tgz", + "integrity": "sha512-v2jVKTy2wN7iM9nHpBkxLn2wfL8jSl4IlPrXThIqj8No2VHtpLQZPKuXbGPUXQX05VS2Mj5feScQ36ZVGS8Rbw==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.2.0", + "eslint-scope": "^7.0.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@angular-eslint/utils": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.2.0.tgz", + "integrity": "sha512-NxMRwnlIgzmbJQfWkfd9y3Sz0hzjFdK5LH44i+3D5NhpPdZ6SzwHAjMYWoYsmmNQX5tlDXoicYF9Mz9Wz8DJ/A==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.2.0", + "@typescript-eslint/utils": "5.62.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular/animations": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.2.10.tgz", + "integrity": "sha512-UudunZoyFWWNpuWkwiBxC3cleLCVJGHIfMgypFwC35YjtiIlRJ0r4nVkc96Rq1xd4mT71Dbk1kQHc8urB8A7aw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.2.10" + } + }, + "node_modules/@angular/cli": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.7.tgz", + "integrity": "sha512-30yBAYzbrj/WM4tLiX4IU5byw0b5Y5LEzcpjYZglv/RXPrnevGlRXmgCulpt8wIdkd668N7kXEQ23nipuJDXMg==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1602.7", + "@angular-devkit/core": "16.2.7", + "@angular-devkit/schematics": "16.2.7", + "@schematics/angular": "16.2.7", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "4.1.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "pacote": "15.2.0", + "resolve": "1.22.2", + "semver": "7.5.4", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.10.tgz", + "integrity": "sha512-cLth66aboInNcWFjDBRmK30jC5KN10nKDDcv4U/r3TDTBpKOtnmTjNFFr7dmjfUmVhHFy/66piBMfpjZI93Rxg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.2.10", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.2.10.tgz", + "integrity": "sha512-ty6SfqkZlV2bLU/SSi3wmxrEFgPrK+WVslCNIr3FlTnCBdqpIbadHN2QB3A1d9XaNc7c4Tq5DQKh34cwMwNbuw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.2.10" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.2.10.tgz", + "integrity": "sha512-swgmtm4R23vQV9nJTXdDEFpOyIw3kz80mdT9qo3VId/2rqenOK253JsFypoqEj/fKzjV9gwXtTbmrMlhVyuyxw==", + "dev": true, + "dependencies": { + "@babel/core": "7.23.2", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/compiler": "16.2.10", + "typescript": ">=4.9.3 <5.2" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@angular/core": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.2.10.tgz", + "integrity": "sha512-0XTsPjNflFhOl2CfNEdGeDOklG2t+m/D3g10Y7hg9dBjC1dURUEqTmM4d6J7JNbBURrP+/iP7uLsn3WRSipGUw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.13.0" + } + }, + "node_modules/@angular/forms": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.2.10.tgz", + "integrity": "sha512-TZliEtSWIL1UzY8kjed4QcMawWS8gk/H60KVgzCh83NGE0wd1OGv20Z5OR7O8j07dxB9vaxY7CQz/8eCz5KaNQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.2.10", + "@angular/core": "16.2.10", + "@angular/platform-browser": "16.2.10", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.2.10.tgz", + "integrity": "sha512-TOZiK7ji550F8G39Ri255NnK1+2Xlr74RiElJdQct4TzfN0lqNf2KRDFFNwDohkP/78FUzcP4qBxs+Nf8M7OuQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/animations": "16.2.10", + "@angular/common": "16.2.10", + "@angular/core": "16.2.10" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.2.10.tgz", + "integrity": "sha512-YVmhAjOmsp2SWRonv6Mr/qXuKroCiew9asd1IlAZ//wqcml9ZrNAcX3WlDa8ZqdmOplQb0LuvvirfNB/6Is/jg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.2.10", + "@angular/compiler": "16.2.10", + "@angular/core": "16.2.10", + "@angular/platform-browser": "16.2.10" + } + }, + "node_modules/@angular/router": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.2.10.tgz", + "integrity": "sha512-ndiq2NkGZ8hTsyL/KK8qsiR3UA0NjOFIn1jtGXOKtHryXZ6vSTtkhtkE4h4+G6/QNTL1IKtocFhOQt/xsc7DUA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.2.10", + "@angular/core": "16.2.10", + "@angular/platform-browser": "16.2.10", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", + "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", + "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers/node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz", + "integrity": "sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", + "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.7", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.6", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.6", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.4", + "babel-plugin-polyfill-corejs3": "^0.8.2", + "babel-plugin-polyfill-regenerator": "^0.5.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", + "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@ngtools/webpack": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.7.tgz", + "integrity": "sha512-QnVoYpMNMuV387VgmP/c/ylD9qUIZpN02LMg3rQqz7NDej0jboBZaxqLJ+7jQaCoEIFVGIgL/RR/X1kponxJZg==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "typescript": ">=4.9.3 <5.2", + "webpack": "^5.54.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", + "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", + "dev": true, + "dependencies": { + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@nrwl/devkit": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==", + "dev": true, + "dependencies": { + "@nx/devkit": "16.5.1" + } + }, + "node_modules/@nrwl/tao": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.1.tgz", + "integrity": "sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==", + "dev": true, + "dependencies": { + "nx": "16.5.1" + }, + "bin": { + "tao": "index.js" + } + }, + "node_modules/@nx/devkit": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==", + "dev": true, + "dependencies": { + "@nrwl/devkit": "16.5.1", + "ejs": "^3.1.7", + "ignore": "^5.0.4", + "semver": "7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "nx": ">= 15 <= 17" + } + }, + "node_modules/@nx/devkit/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/devkit/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/devkit/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/@nx/devkit/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.1.tgz", + "integrity": "sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-darwin-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.1.tgz", + "integrity": "sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.1.tgz", + "integrity": "sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.1.tgz", + "integrity": "sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.1.tgz", + "integrity": "sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.1.tgz", + "integrity": "sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.1.tgz", + "integrity": "sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.1.tgz", + "integrity": "sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.1.tgz", + "integrity": "sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.1.tgz", + "integrity": "sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", + "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@schematics/angular": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.7.tgz", + "integrity": "sha512-sL+7vmwYPdo29rp99XYlm8gibqcjjOL5LKEleVQlv63SRES3HLMt7DeYivUfizcMENu/1hDtX41ig4Mu1SpNzg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.7", + "@angular-devkit/schematics": "16.2.7", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", + "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz", + "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^1.1.0", + "@sigstore/protobuf-specs": "^0.2.0", + "make-fetch-happen": "^11.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz", + "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.0", + "tuf-js": "^1.1.7" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", + "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", + "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", + "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", + "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.15", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.15.tgz", + "integrity": "sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.13", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", + "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz", + "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.8.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", + "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.25.1" + } + }, + "node_modules/@types/qs": { + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", + "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", + "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", + "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", + "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", + "dev": true, + "engines": { + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@wessberg/ts-evaluator": { + "version": "0.0.27", + "resolved": "https://registry.npmjs.org/@wessberg/ts-evaluator/-/ts-evaluator-0.0.27.tgz", + "integrity": "sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==", + "deprecated": "this package has been renamed to ts-evaluator. Please install ts-evaluator instead", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "jsdom": "^16.4.0", + "object-path": "^0.11.5", + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10.1.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/wessberg/ts-evaluator?sponsor=1" + }, + "peerDependencies": { + "typescript": ">=3.2.x || >= 4.x" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@wessberg/ts-evaluator/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "dev": true, + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.15.0" + } + }, + "node_modules/@zkochan/js-yaml": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", + "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@zkochan/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", + "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001551", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", + "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/critters": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz", + "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.563", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.563.tgz", + "integrity": "sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.3.tgz", + "integrity": "sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.17", + "@esbuild/android-arm64": "0.18.17", + "@esbuild/android-x64": "0.18.17", + "@esbuild/darwin-arm64": "0.18.17", + "@esbuild/darwin-x64": "0.18.17", + "@esbuild/freebsd-arm64": "0.18.17", + "@esbuild/freebsd-x64": "0.18.17", + "@esbuild/linux-arm": "0.18.17", + "@esbuild/linux-arm64": "0.18.17", + "@esbuild/linux-ia32": "0.18.17", + "@esbuild/linux-loong64": "0.18.17", + "@esbuild/linux-mips64el": "0.18.17", + "@esbuild/linux-ppc64": "0.18.17", + "@esbuild/linux-riscv64": "0.18.17", + "@esbuild/linux-s390x": "0.18.17", + "@esbuild/linux-x64": "0.18.17", + "@esbuild/netbsd-x64": "0.18.17", + "@esbuild/openbsd-x64": "0.18.17", + "@esbuild/sunos-x64": "0.18.17", + "@esbuild/win32-arm64": "0.18.17", + "@esbuild/win32-ia32": "0.18.17", + "@esbuild/win32-x64": "0.18.17" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.18.17.tgz", + "integrity": "sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-airbnb-base/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-config-airbnb-typescript": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.1.0.tgz", + "integrity": "sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.13.0 || ^6.0.0", + "@typescript-eslint/parser": "^5.0.0 || ^6.0.0", + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3" + } + }, + "node_modules/eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", + "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-unused-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.0.0.tgz", + "integrity": "sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==", + "dev": true, + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^6.0.0", + "eslint": "^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/guess-parser": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/guess-parser/-/guess-parser-0.4.22.tgz", + "integrity": "sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==", + "dev": true, + "dependencies": { + "@wessberg/ts-evaluator": "0.0.27" + }, + "peerDependencies": { + "typescript": ">=3.7.5" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "dependencies": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", + "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", + "dev": true, + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz", + "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/karma": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", + "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", + "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-json-stream/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", + "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^11.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", + "dev": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", + "dev": true, + "dependencies": { + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/nx": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/nx/-/nx-16.5.1.tgz", + "integrity": "sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@nrwl/tao": "16.5.1", + "@parcel/watcher": "2.0.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.0.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^7.0.2", + "dotenv": "~10.0.0", + "enquirer": "~2.3.6", + "fast-glob": "3.2.7", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "glob": "7.1.4", + "ignore": "^5.0.4", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "3.0.5", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "semver": "7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "v8-compile-cache": "2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "16.5.1", + "@nx/nx-darwin-x64": "16.5.1", + "@nx/nx-freebsd-x64": "16.5.1", + "@nx/nx-linux-arm-gnueabihf": "16.5.1", + "@nx/nx-linux-arm64-gnu": "16.5.1", + "@nx/nx-linux-arm64-musl": "16.5.1", + "@nx/nx-linux-x64-gnu": "16.5.1", + "@nx/nx-linux-x64-musl": "16.5.1", + "@nx/nx-win32-arm64-msvc": "16.5.1", + "@nx/nx-win32-x64-msvc": "16.5.1" + }, + "peerDependencies": { + "@swc-node/register": "^1.4.2", + "@swc/core": "^1.2.173" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/nx/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/nx/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/nx/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/nx/node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nx/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/nx/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/nx/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/nx/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nx/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/nx/node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nx/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nx/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/nx/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/nx/node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/nx/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nx/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nx/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nx/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nx/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/nx/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/nx/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "dev": true, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pacote": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", + "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==", + "dev": true, + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.3.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "dev": true, + "dependencies": { + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "dev": true, + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-sax-parser/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/piscina": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.0.0.tgz", + "integrity": "sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==", + "dev": true, + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", + "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "dev": true, + "dependencies": { + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-package-json": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", + "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", + "dev": true, + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/read-package-json/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz", + "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", + "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", + "dev": true, + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true, + "optional": true + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sigstore": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", + "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^1.1.0", + "@sigstore/protobuf-specs": "^0.2.0", + "@sigstore/sign": "^1.0.0", + "@sigstore/tuf": "^1.0.3", + "make-fetch-happen": "^11.0.1" + }, + "bin": { + "sigstore": "bin/sigstore.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dev": true, + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ssri/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "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" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tuf-js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", + "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==", + "dev": true, + "dependencies": { + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.36", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.36.tgz", + "integrity": "sha512-CPPLoCts2p7D8VbybttE3P2ylv0OBZEAy7a12DsulIEcAiMtWJy+PBgMXgWDI80D5UwqE8oQPHYnk13tm38M2Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.7.tgz", + "integrity": "sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.26", + "rollup": "^3.25.2" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", + "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "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.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zone.js": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.3.tgz", + "integrity": "sha512-MKPbmZie6fASC/ps4dkmIhaT5eonHkEt6eAy80K42tAm0G2W+AahLJjbfi6X9NPdciOE9GRFTTM8u2IiF6O3ww==", + "dependencies": { + "tslib": "^2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..848798a --- /dev/null +++ b/package.json @@ -0,0 +1,51 @@ +{ + "name": "intro", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "lint": "ng lint" + }, + "private": true, + "dependencies": { + "@angular/animations": "^16.2.0", + "@angular/common": "^16.2.0", + "@angular/compiler": "^16.2.0", + "@angular/core": "^16.2.0", + "@angular/forms": "^16.2.0", + "@angular/platform-browser": "^16.2.0", + "@angular/platform-browser-dynamic": "^16.2.0", + "@angular/router": "^16.2.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.13.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^16.2.7", + "@angular-eslint/builder": "16.2.0", + "@angular-eslint/eslint-plugin": "16.2.0", + "@angular-eslint/eslint-plugin-template": "16.2.0", + "@angular-eslint/schematics": "16.2.0", + "@angular-eslint/template-parser": "16.2.0", + "@angular/cli": "^16.2.7", + "@angular/compiler-cli": "^16.2.0", + "@types/jasmine": "~4.3.0", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", + "eslint": "^8.49.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-unused-imports": "^3.0.0", + "jasmine-core": "~4.6.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.1.3" + } +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..0297262 --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/src/app/app.component.html b/src/app/app.component.html new file mode 100644 index 0000000..67bad6d --- /dev/null +++ b/src/app/app.component.html @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + +
+ + +
+ + + Rocket Ship + + + + + + + + + + {{ title }} app is running! + + + Rocket Ship Smoke + + + +
+ + +

Resources

+

Here are some links to help you get started:

+ + + + +

Next Steps

+

What do you want to do next with your app?

+ + + +
+ + + + + + + + + + + +
+ + +
+
ng generate component xyz
+
ng add @angular/material
+
ng add @angular/pwa
+
ng add _____
+
ng test
+
ng build
+
+ + + + + + + + + Gray Clouds Background + + + +
+ + + + + + + + + + diff --git a/src/app/app.component.scss b/src/app/app.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts new file mode 100644 index 0000000..6d255e2 --- /dev/null +++ b/src/app/app.component.spec.ts @@ -0,0 +1,29 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(() => TestBed.configureTestingModule({ + imports: [RouterTestingModule], + declarations: [AppComponent] + })); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'intro'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('intro'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('intro app is running!'); + }); +}); diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 0000000..3f34b30 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.scss'] +}) +export class AppComponent { + title = 'intro'; +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 0000000..31ac3d7 --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; + +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; +import { HeaderComponent } from './header/header.component'; + +@NgModule({ + declarations: [ + AppComponent, + HeaderComponent + ], + imports: [ + BrowserModule, + AppRoutingModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/src/app/header/header.component.html b/src/app/header/header.component.html new file mode 100644 index 0000000..4f5a95d --- /dev/null +++ b/src/app/header/header.component.html @@ -0,0 +1 @@ +

header works!

diff --git a/src/app/header/header.component.scss b/src/app/header/header.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/header/header.component.spec.ts b/src/app/header/header.component.spec.ts new file mode 100644 index 0000000..f8d8ed5 --- /dev/null +++ b/src/app/header/header.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HeaderComponent } from './header.component'; + +describe('HeaderComponent', () => { + let component: HeaderComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [HeaderComponent] + }); + fixture = TestBed.createComponent(HeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/header/header.component.ts b/src/app/header/header.component.ts new file mode 100644 index 0000000..913b282 --- /dev/null +++ b/src/app/header/header.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-header', + templateUrl: './header.component.html', + styleUrls: ['./header.component.scss'] +}) +export class HeaderComponent { + +} diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..997406ad22c29aae95893fb3d666c30258a09537 GIT binary patch literal 948 zcmV;l155mgP)CBYU7IjCFmI-B}4sMJt3^s9NVg!P0 z6hDQy(L`XWMkB@zOLgN$4KYz;j0zZxq9KKdpZE#5@k0crP^5f9KO};h)ZDQ%ybhht z%t9#h|nu0K(bJ ztIkhEr!*UyrZWQ1k2+YkGqDi8Z<|mIN&$kzpKl{cNP=OQzXHz>vn+c)F)zO|Bou>E z2|-d_=qY#Y+yOu1a}XI?cU}%04)zz%anD(XZC{#~WreV!a$7k2Ug`?&CUEc0EtrkZ zL49MB)h!_K{H(*l_93D5tO0;BUnvYlo+;yss%n^&qjt6fZOa+}+FDO(~2>G z2dx@=JZ?DHP^;b7*Y1as5^uphBsh*s*z&MBd?e@I>-9kU>63PjP&^#5YTOb&x^6Cf z?674rmSHB5Fk!{Gv7rv!?qX#ei_L(XtwVqLX3L}$MI|kJ*w(rhx~tc&L&xP#?cQow zX_|gx$wMr3pRZIIr_;;O|8fAjd;1`nOeu5K(pCu7>^3E&D2OBBq?sYa(%S?GwG&_0-s%_v$L@R!5H_fc)lOb9ZoOO#p`Nn`KU z3LTTBtjwo`7(HA6 z7gmO$yTR!5L>Bsg!X8616{JUngg_@&85%>W=mChTR;x4`P=?PJ~oPuy5 zU-L`C@_!34D21{fD~Y8NVnR3t;aqZI3fIhmgmx}$oc-dKDC6Ap$Gy>a!`A*x2L1v0 WcZ@i?LyX}70000 + + + + Intro + + + + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..c58dc05 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,7 @@ +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; + + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/src/styles.scss b/src/styles.scss new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/src/styles.scss @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..374cc9d --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..ed966d4 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,33 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": [ + "ES2022", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/tsconfig.spec.json b/tsconfig.spec.json new file mode 100644 index 0000000..be7e9da --- /dev/null +++ b/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} From a31d2a9d597b7fb7eff5b99c958d29cf3babc9b7 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 22 Oct 2023 11:26:01 +0400 Subject: [PATCH 02/51] feat(project): configure tsconfig --- tsconfig.json | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index ed966d4..c309e4e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,4 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ { - "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", @@ -11,7 +9,7 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "sourceMap": true, - "declaration": false, + "noImplicitAny": true, "downlevelIteration": true, "experimentalDecorators": true, "moduleResolution": "node", @@ -19,10 +17,7 @@ "target": "ES2022", "module": "ES2022", "useDefineForClassFields": false, - "lib": [ - "ES2022", - "dom" - ] + "lib": ["ES2022", "dom"] }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, From 9816d1d1625324ae43023c33a7d9edaad7faf605 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 22 Oct 2023 14:57:43 +0400 Subject: [PATCH 03/51] feat(project): setup additional deps --- angular.json | 47 +- package-lock.json | 18511 ++++++++++++++++++++++++++------------------ package.json | 34 +- 3 files changed, 11054 insertions(+), 7538 deletions(-) diff --git a/angular.json b/angular.json index 1d19857..70bcb2c 100644 --- a/angular.json +++ b/angular.json @@ -20,18 +20,11 @@ "outputPath": "dist/intro", "index": "src/index.html", "main": "src/main.ts", - "polyfills": [ - "zone.js" - ], + "polyfills": ["zone.js"], "tsConfig": "tsconfig.app.json", "inlineStyleLanguage": "scss", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.scss" - ], + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], "scripts": [] }, "configurations": { @@ -39,8 +32,8 @@ "budgets": [ { "type": "initial", - "maximumWarning": "500kb", - "maximumError": "1mb" + "maximumWarning": "2mb", + "maximumError": "4mb" }, { "type": "anyComponentStyle", @@ -82,37 +75,31 @@ "test": { "builder": "@angular-devkit/build-angular:karma", "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], + "polyfills": ["zone.js", "zone.js/testing"], "tsConfig": "tsconfig.spec.json", "inlineStyleLanguage": "scss", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.scss" - ], + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.scss"], "scripts": [] } }, "lint": { "builder": "@angular-eslint/builder:lint", "options": { - "lintFilePatterns": [ - "src/**/*.ts", - "src/**/*.html" - ] + "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"] + } + }, + "deploy": { + "builder": "angular-cli-ghpages:deploy", + "options": { + "baseHref": "https://rolling-scopes-school.github.io/alwaysadevzero-ANGULAR2023Q4/", + "message": "Auto generated" } } } } }, "cli": { - "schematicCollections": [ - "@angular-eslint/schematics" - ] + "schematicCollections": ["@angular-eslint/schematics"] } } diff --git a/package-lock.json b/package-lock.json index 7add2ce..30647b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,21 +29,38 @@ "@angular-eslint/template-parser": "16.2.0", "@angular/cli": "^16.2.7", "@angular/compiler-cli": "^16.2.0", + "@babel/plugin-proposal-decorators": "^7.23.2", + "@commitlint/cli": "^18.0.0", + "@commitlint/config-angular": "^18.0.0", "@types/jasmine": "~4.3.0", - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", + "angular-cli-ghpages": "^1.0.7", "eslint": "^8.49.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-config-prettier": "^9.0.0", + "eslint-import-resolver-typescript": "^3.6.1", + "eslint-plugin-angular": "^4.1.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-unused-imports": "^3.0.0", + "husky": "^8.0.3", "jasmine-core": "~4.6.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.1.3" + "prettier": "^3.0.3", + "stylelint": "^15.11.0", + "stylelint-config-clean-order": "^5.2.0", + "stylelint-config-scss": "^1.0.0-security", + "stylelint-config-standard": "^34.0.0", + "stylelint-config-standard-scss": "^11.0.0", + "stylelint-prettier": "^4.0.2", + "typescript": "^5.1.6" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -69,12 +86,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1602.7", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.7.tgz", - "integrity": "sha512-r6+z4jRE+e9VNeTmJCGz5VI5azRagOqE4SIDqaywz75eHOJ9UPSo9MHy8zFw1eLt1WcvCDqk+Pk9+krh2E+B8Q==", + "version": "0.1601.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.8.tgz", + "integrity": "sha512-kOXVGwsQnZvtz2UZNefcEy64Jiwq0eSoQUeozvDXOaYRJABLjPKI2YaarvKC9/Z1SGLuje0o/eRJO4T8aRk9rQ==", "dev": true, + "peer": true, "dependencies": { - "@angular-devkit/core": "16.2.7", + "@angular-devkit/core": "16.1.8", "rxjs": "7.8.1" }, "engines": { @@ -83,6 +101,33 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.8.tgz", + "integrity": "sha512-dSRD/+bGanArIXkj+kaU1kDFleZeQMzmBiOXX+pK0Ah9/0Yn1VmY3RZh1zcX9vgIQXV+t7UPrTpOjaERMUtVGw==", + "dev": true, + "peer": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, "node_modules/@angular-devkit/build-angular": { "version": "16.2.7", "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.2.7.tgz", @@ -205,6 +250,37 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.1602.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.7.tgz", + "integrity": "sha512-r6+z4jRE+e9VNeTmJCGz5VI5azRagOqE4SIDqaywz75eHOJ9UPSo9MHy8zFw1eLt1WcvCDqk+Pk9+krh2E+B8Q==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.7", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@ngtools/webpack": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.7.tgz", + "integrity": "sha512-QnVoYpMNMuV387VgmP/c/ylD9qUIZpN02LMg3rQqz7NDej0jboBZaxqLJ+7jQaCoEIFVGIgL/RR/X1kponxJZg==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "typescript": ">=4.9.3 <5.2", + "webpack": "^5.54.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/tslib": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", @@ -230,6 +306,21 @@ "webpack-dev-server": "^4.0.0" } }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1602.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.7.tgz", + "integrity": "sha512-r6+z4jRE+e9VNeTmJCGz5VI5azRagOqE4SIDqaywz75eHOJ9UPSo9MHy8zFw1eLt1WcvCDqk+Pk9+krh2E+B8Q==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.7", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular-devkit/core": { "version": "16.2.7", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.7.tgz", @@ -345,18 +436,6 @@ "@angular/cli": ">= 16.0.0 < 17.0.0" } }, - "node_modules/@angular-eslint/schematics/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, "node_modules/@angular-eslint/template-parser": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.2.0.tgz", @@ -371,22 +450,6 @@ "typescript": "*" } }, - "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@angular-eslint/utils": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.2.0.tgz", @@ -449,6 +512,21 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1602.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1602.7.tgz", + "integrity": "sha512-r6+z4jRE+e9VNeTmJCGz5VI5azRagOqE4SIDqaywz75eHOJ9UPSo9MHy8zFw1eLt1WcvCDqk+Pk9+krh2E+B8Q==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.7", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular/common": { "version": "16.2.10", "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.2.10.tgz", @@ -1219,6 +1297,25 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.2.tgz", + "integrity": "sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", @@ -1287,6 +1384,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", + "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -2494,1034 +2606,799 @@ "node": ">=0.1.90" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "node_modules/@commitlint/cli": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.0.0.tgz", + "integrity": "sha512-0HuJB7VfxSqia0r+mZ9VLgTc5gPaRDiQtloLfwCBp63PvpFn2sZsidiZBbym3jDC6+P47HSuIdRRg3/JsCcBwA==", "dev": true, + "dependencies": { + "@commitlint/format": "^18.0.0", + "@commitlint/lint": "^18.0.0", + "@commitlint/load": "^18.0.0", + "@commitlint/read": "^18.0.0", + "@commitlint/types": "^18.0.0", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, "engines": { - "node": ">=10.0.0" + "node": ">=v18" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", - "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", - "cpu": [ - "arm" - ], + "node_modules/@commitlint/config-angular": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-angular/-/config-angular-18.0.0.tgz", + "integrity": "sha512-pN7aBa4IeR1ew7UNMkjWR4hUHmhMLwX0Z1C0yQsFiekz2i7HW4XYpVvr5KTXMsVkEavVP/U6bKFIEHD0H8pw4A==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@commitlint/config-angular-type-enum": "^18.0.0" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", - "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", - "cpu": [ - "arm64" - ], + "node_modules/@commitlint/config-angular-type-enum": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-angular-type-enum/-/config-angular-type-enum-18.0.0.tgz", + "integrity": "sha512-5ytj4IRdI/LmUmobsC+KNBABX6js5IYE35qlrbkq7SrCIuoyUjFNJi3S/C3akSpCA+YAdNT0YahBvvm+l3DU+g==", "dev": true, - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", - "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/config-validator": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.0.0.tgz", + "integrity": "sha512-PlXy5QZzQeMgQM7jb0odIhxsI6GWcbGgfy+Hkz5ap31KES/oJgtEvgD8pjg0Z9Ri296bT6zK3ts6brS0MAcMgg==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@commitlint/types": "^18.0.0", + "ajv": "^8.11.0" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", - "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", - "cpu": [ - "arm64" - ], + "node_modules/@commitlint/ensure": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.0.0.tgz", + "integrity": "sha512-AhzK4ybWGVmO7lwC33dGujS0k2IZDNFiew80M1H2R5Ou7Qkqq7sbuMZoof+yjOQcqltYP4IHLd0YECZoGermvQ==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@commitlint/types": "^18.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", - "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/execute-rule": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.0.0.tgz", + "integrity": "sha512-eNUSaHajb+g3sgZeIrfc6cXNnKIkYN2SXtDVXuiE+hOa055T0bLdZK29gSd945JCztxPVwdOkPLDeLg3NfDubg==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", - "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", - "cpu": [ - "arm64" - ], + "node_modules/@commitlint/format": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.0.0.tgz", + "integrity": "sha512-etvUmOufihecdNm0r5+rCetrO2Yj7fSkJ4f0k8xOzqrrNdID9G/6iK14i/ufISBLSSy0XzsiiV+Rn9TX/cg46Q==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "@commitlint/types": "^18.0.0", + "chalk": "^4.1.0" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", - "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/format/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", - "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", - "cpu": [ - "arm" - ], + "node_modules/@commitlint/format/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", - "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", - "cpu": [ - "arm64" - ], + "node_modules/@commitlint/format/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=12" + "node": ">=7.0.0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", - "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", - "cpu": [ - "ia32" - ], + "node_modules/@commitlint/format/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@commitlint/format/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", - "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", - "cpu": [ - "loong64" - ], + "node_modules/@commitlint/format/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", - "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", - "cpu": [ - "mips64el" - ], + "node_modules/@commitlint/is-ignored": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.0.0.tgz", + "integrity": "sha512-fAUOF4GlKTmreE5hxhLlVUcXd1aIexxn+edocbMSwOa4dcm8OoHbsLcDB/rhwXIK+jzK4DybCMCx1VaTeRC4SQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@commitlint/types": "^18.0.0", + "semver": "7.5.4" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", - "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", - "cpu": [ - "ppc64" - ], + "node_modules/@commitlint/lint": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.0.0.tgz", + "integrity": "sha512-Vqg6sIPm7nELu/U4lEzKMdLYaELgwSySGZzKc2YjJxdJWyiQo0b1hfCpxXsWGdNBOt0+CM4eBAGoX/Kjq5AYNA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@commitlint/is-ignored": "^18.0.0", + "@commitlint/parse": "^18.0.0", + "@commitlint/rules": "^18.0.0", + "@commitlint/types": "^18.0.0" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", - "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", - "cpu": [ - "riscv64" - ], + "node_modules/@commitlint/load": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.0.0.tgz", + "integrity": "sha512-ocvMSkzNZCJ4yV673xjd4Y7sFVG/mg7S6yvL5ioM0OIG2XTbcCdzpmq+BeJcIwsRYU9g/b688yh7RDzGlbai6w==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@commitlint/config-validator": "^18.0.0", + "@commitlint/execute-rule": "^18.0.0", + "@commitlint/resolve-extends": "^18.0.0", + "@commitlint/types": "^18.0.0", + "@types/node": "^18.11.9", + "chalk": "^4.1.0", + "cosmiconfig": "^8.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^5.2.2" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", - "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", - "cpu": [ - "s390x" - ], + "node_modules/@commitlint/load/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", - "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", - "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/load/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=12" + "node": ">=7.0.0" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", - "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/load/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@commitlint/load/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", - "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/load/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", - "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", - "cpu": [ - "arm64" - ], + "node_modules/@commitlint/load/node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=12" + "node": ">=14.17" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", - "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", - "cpu": [ - "ia32" - ], + "node_modules/@commitlint/message": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.0.0.tgz", + "integrity": "sha512-FJmEBn81RMEZrG1E1BxmjNoe/Rz918IeIGJRe5YXxM7IXboFhKS69rHPttNjKwSS038t6GUsRUJrAWqZnA6nCw==", "dev": true, - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", - "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", - "cpu": [ - "x64" - ], + "node_modules/@commitlint/parse": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.0.0.tgz", + "integrity": "sha512-qbZYOCpIZzfFzV35s5ei3JkBG/8KUOyGYluAeaYIcYC9z0uKXEVK6O2F2P/KLvbTkgZ4Q9OOLDrrtoWzPb2pjg==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "@commitlint/types": "^18.0.0", + "conventional-changelog-angular": "^6.0.0", + "conventional-commits-parser": "^5.0.0" + }, "engines": { - "node": ">=12" + "node": ">=v18" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@commitlint/read": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.0.0.tgz", + "integrity": "sha512-VclRvG+ZvHOjYP4rmKPfNwS7eSI5m68D/CPtT2do/D4EBljmLBwqCYVL1I/3y2E6Fbub1GfYoXiRHThd1cVlag==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@commitlint/top-level": "^18.0.0", + "@commitlint/types": "^18.0.0", + "fs-extra": "^11.0.0", + "git-raw-commits": "^2.0.11", + "minimist": "^1.2.6" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=v18" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "node_modules/@commitlint/resolve-extends": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.0.0.tgz", + "integrity": "sha512-MD9+6GSiWvqgdJtfos+1gqz+zmy2vV7TbUVz2ETZzpfECgmUZSZSYzyivivBAQK6feS71KxmMLL8+YFF9+FFRQ==", "dev": true, + "dependencies": { + "@commitlint/config-validator": "^18.0.0", + "@commitlint/types": "^18.0.0", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=v18" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "node_modules/@commitlint/rules": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.0.0.tgz", + "integrity": "sha512-J7xjMKC4H1hfZR8fmPPuV35wS8Vgy3YX9xIpfPJhsDnRk2BL/dyZjNEXPdvlbpvkNgkfIWi0A0IDtW1dDoViag==", "dev": true, "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@commitlint/ensure": "^18.0.0", + "@commitlint/message": "^18.0.0", + "@commitlint/to-lines": "^18.0.0", + "@commitlint/types": "^18.0.0", + "execa": "^5.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=v18" } }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@commitlint/to-lines": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.0.0.tgz", + "integrity": "sha512-HwwBvzXX+3x7XYvBrEKy69S9w/clUEL0gMwkXTtg5awUpvEvzmTz1FBE/5WIiUICyOGdH1NhV1WgKb7UwOnI4A==", "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=v18" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/@commitlint/top-level": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.0.0.tgz", + "integrity": "sha512-6+jjZhe9pF7ioD9IR2HChteTh95KPXa7GUUV52e0YhEsFArkCnyhzSL72ko1c2Xad0sWNBL0e76mifi20wD/Bg==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "find-up": "^5.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=v18" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/@commitlint/types": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.0.0.tgz", + "integrity": "sha512-FDzAdSm7kIir0NW0bZLENdrEgf/9Ihs1AAqE9DK9R+dRFby4ookkxPMaz7elZmG+e5rBl7hGrWJzJINqG9cDDg==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "chalk": "^4.1.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=v18" } }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@commitlint/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", - "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@humanwhocodes/object-schema": { + "node_modules/@commitlint/types/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=12" + "node": ">=7.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } + "node_modules/@commitlint/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@commitlint/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@commitlint/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", + "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { - "node": ">=12" + "node": "^14 || ^16 || >=18" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependencies": { + "@csstools/css-tokenizer": "^2.2.1" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@csstools/css-tokenizer": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", + "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { - "node": ">=8" + "node": "^14 || ^16 || >=18" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@csstools/media-query-list-parser": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", + "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "node": "^14 || ^16 || >=18" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@csstools/css-parser-algorithms": "^2.3.2", + "@csstools/css-tokenizer": "^2.2.1" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "node_modules/@csstools/selector-specificity": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", + "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "engines": { - "node": ">=6.0.0" + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, "engines": { - "node": ">=6.0.0" + "node": ">=10.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "node_modules/@esbuild/android-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", + "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "node_modules/@esbuild/android-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", + "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "node_modules/@ngtools/webpack": { - "version": "16.2.7", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.2.7.tgz", - "integrity": "sha512-QnVoYpMNMuV387VgmP/c/ylD9qUIZpN02LMg3rQqz7NDej0jboBZaxqLJ+7jQaCoEIFVGIgL/RR/X1kponxJZg==", + "node_modules/@esbuild/android-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", + "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^16.0.0", - "typescript": ">=4.9.3 <5.2", - "webpack": "^5.54.0" + "node": ">=12" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", + "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", + "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", + "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", + "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/@npmcli/git": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", - "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", + "node_modules/@esbuild/linux-arm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", + "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", + "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=12" } }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", - "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", - "dev": true, - "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "lib/index.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", - "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", - "dev": true, - "dependencies": { - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", - "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", - "dev": true, - "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@nrwl/devkit": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.1.tgz", - "integrity": "sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==", - "dev": true, - "dependencies": { - "@nx/devkit": "16.5.1" - } - }, - "node_modules/@nrwl/tao": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.1.tgz", - "integrity": "sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==", - "dev": true, - "dependencies": { - "nx": "16.5.1" - }, - "bin": { - "tao": "index.js" - } - }, - "node_modules/@nx/devkit": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.1.tgz", - "integrity": "sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==", - "dev": true, - "dependencies": { - "@nrwl/devkit": "16.5.1", - "ejs": "^3.1.7", - "ignore": "^5.0.4", - "semver": "7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "nx": ">= 15 <= 17" - } - }, - "node_modules/@nx/devkit/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/devkit/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nx/devkit/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/@nx/devkit/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@nx/nx-darwin-arm64": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.1.tgz", - "integrity": "sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", + "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", "cpu": [ - "arm64" + "ia32" ], "dev": true, "optional": true, "os": [ - "darwin" + "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-darwin-x64": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.1.tgz", - "integrity": "sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", + "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", "cpu": [ - "x64" + "loong64" ], "dev": true, "optional": true, "os": [ - "darwin" + "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-freebsd-x64": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.1.tgz", - "integrity": "sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", + "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", "cpu": [ - "x64" + "mips64el" ], "dev": true, "optional": true, "os": [ - "freebsd" + "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.1.tgz", - "integrity": "sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", + "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", "cpu": [ - "arm" + "ppc64" ], "dev": true, "optional": true, @@ -3529,15 +3406,15 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.1.tgz", - "integrity": "sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", + "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", "cpu": [ - "arm64" + "riscv64" ], "dev": true, "optional": true, @@ -3545,15 +3422,15 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-linux-arm64-musl": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.1.tgz", - "integrity": "sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", + "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", "cpu": [ - "arm64" + "s390x" ], "dev": true, "optional": true, @@ -3561,14 +3438,14 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-linux-x64-gnu": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.1.tgz", - "integrity": "sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==", - "cpu": [ + "node_modules/@esbuild/linux-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", + "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "cpu": [ "x64" ], "dev": true, @@ -3577,29 +3454,61 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-linux-x64-musl": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.1.tgz", - "integrity": "sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", + "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", "cpu": [ "x64" ], "dev": true, "optional": true, "os": [ - "linux" + "netbsd" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.1.tgz", - "integrity": "sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", + "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", + "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", + "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", "cpu": [ "arm64" ], @@ -3609,13 +3518,29 @@ "win32" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@nx/nx-win32-x64-msvc": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.1.tgz", - "integrity": "sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", + "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", + "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", "cpu": [ "x64" ], @@ -3625,784 +3550,3686 @@ "win32" ], "engines": { - "node": ">= 10" + "node": ">=12" } }, - "node_modules/@parcel/watcher": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", - "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "hasInstallScript": true, "dependencies": { - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 10.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "dev": true, - "optional": true, "engines": { - "node": ">=14" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@schematics/angular": { - "version": "16.2.7", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.7.tgz", - "integrity": "sha512-sL+7vmwYPdo29rp99XYlm8gibqcjjOL5LKEleVQlv63SRES3HLMt7DeYivUfizcMENu/1hDtX41ig4Mu1SpNzg==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.2.7", - "@angular-devkit/schematics": "16.2.7", - "jsonc-parser": "3.2.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@sigstore/bundle": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", - "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", - "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, - "node_modules/@sigstore/sign": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz", - "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "make-fetch-happen": "^11.0.1" + "type-fest": "^0.20.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sigstore/tuf": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz", - "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==", + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.0", - "tuf-js": "^1.1.7" + "argparse": "^2.0.1" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@tufjs/canonical-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", - "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "node_modules/@eslint/js": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@tufjs/models": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", - "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@tufjs/canonical-json": "1.0.0", - "minimatch": "^9.0.0" + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10.10.0" } }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/bonjour": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", - "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "@types/node": "*" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "@types/node": "*" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", - "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true - }, - "node_modules/@types/cors": { - "version": "2.8.15", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.15.tgz", - "integrity": "sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "dependencies": { - "@types/node": "*" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/eslint": { - "version": "8.44.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", - "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", - "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", - "dev": true + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/@types/http-proxy": { - "version": "1.17.13", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", - "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { - "@types/node": "*" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@types/jasmine": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz", - "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==", - "dev": true + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", - "dev": true + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } }, - "node_modules/@types/node": { - "version": "20.8.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", - "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { - "undici-types": "~5.25.1" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, - "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@types/serve-index": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", - "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@types/express": "*" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" + "engines": { + "node": ">= 8" } }, - "node_modules/@types/sockjs": { - "version": "0.3.35", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", - "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "@types/node": "*" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/ws": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", - "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, "dependencies": { - "@types/node": "*" + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "node_modules/@npmcli/git": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", + "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=12" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@npmcli/git/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "isexe": "^2.0.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "node-which": "bin/which.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, - "peerDependencies": { - "eslint": "*" + "bin": { + "installed-package-contents": "lib/index.js" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "which": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "node-which": "bin/which.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/@npmcli/run-script": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "isexe": "^2.0.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "bin": { + "node-which": "bin/which.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", - "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", - "dev": true, "engines": { - "node": ">=14.6.0" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "node_modules/@nrwl/devkit": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@nx/devkit": "16.5.1" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "node_modules/@nrwl/tao": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.1.tgz", + "integrity": "sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "nx": "16.5.1" + }, + "bin": { + "tao": "index.js" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "node_modules/@nx/devkit": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@nrwl/devkit": "16.5.1", + "ejs": "^3.1.7", + "ignore": "^5.0.4", + "semver": "7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "nx": ">= 15 <= 17" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "node_modules/@nx/devkit/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/@nx/devkit/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "node_modules/@nx/devkit/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "node_modules/@nx/nx-darwin-arm64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.1.tgz", + "integrity": "sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", + "node_modules/@nx/nx-darwin-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.1.tgz", + "integrity": "sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.1.tgz", + "integrity": "sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.1.tgz", + "integrity": "sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.1.tgz", + "integrity": "sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.1.tgz", + "integrity": "sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.1.tgz", + "integrity": "sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.1.tgz", + "integrity": "sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.1.tgz", + "integrity": "sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.1.tgz", + "integrity": "sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", + "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@pkgr/utils/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@pkgr/utils/node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@schematics/angular": { + "version": "16.2.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.2.7.tgz", + "integrity": "sha512-sL+7vmwYPdo29rp99XYlm8gibqcjjOL5LKEleVQlv63SRES3HLMt7DeYivUfizcMENu/1hDtX41ig4Mu1SpNzg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.2.7", + "@angular-devkit/schematics": "16.2.7", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", + "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz", + "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^1.1.0", + "@sigstore/protobuf-specs": "^0.2.0", + "make-fetch-happen": "^11.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz", + "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.0", + "tuf-js": "^1.1.7" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", + "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", + "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", + "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", + "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.15", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.15.tgz", + "integrity": "sha512-n91JxbNLD8eQIuXDIChAN1tCKNWCEgpceU9b7ZMbFA+P+Q4yIeh80jizFLEvolRPc1ES0VdwFlGv+kJTSirogw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.13", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", + "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.6.tgz", + "integrity": "sha512-3N0FpQTeiWjm+Oo1WUYWguUS7E6JLceiGTriFrG8k5PU7zRLJCzLcWURU3wjMbZGS//a2/LgjsnO3QxIlwxt9g==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz", + "integrity": "sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.18.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", + "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz", + "integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", + "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", + "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", + "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", + "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/type-utils": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", + "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", + "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", + "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", + "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", + "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", + "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", + "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.8.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", + "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", + "dev": true, + "engines": { + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@wessberg/ts-evaluator": { + "version": "0.0.27", + "resolved": "https://registry.npmjs.org/@wessberg/ts-evaluator/-/ts-evaluator-0.0.27.tgz", + "integrity": "sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==", + "deprecated": "this package has been renamed to ts-evaluator. Please install ts-evaluator instead", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "jsdom": "^16.4.0", + "object-path": "^0.11.5", + "tslib": "^2.0.3" + }, + "engines": { + "node": ">=10.1.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/wessberg/ts-evaluator?sponsor=1" + }, + "peerDependencies": { + "typescript": ">=3.2.x || >= 4.x" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@wessberg/ts-evaluator/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wessberg/ts-evaluator/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "dev": true, + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.15.0" + } + }, + "node_modules/@zkochan/js-yaml": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", + "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@zkochan/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/angular-cli-ghpages": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/angular-cli-ghpages/-/angular-cli-ghpages-1.0.7.tgz", + "integrity": "sha512-7uq+NSqmhVBnA1uimVQVoQfXP80aSJc/nZGdRUiADcTeRQFPamaQUbh4bn2EHiC9TJn44lDOEGnzdhAej0wz6w==", + "dev": true, + "dependencies": { + "commander": "^3.0.0-0", + "fs-extra": "^9.0.1", + "gh-pages": "^3.1.0" + }, + "bin": { + "angular-cli-ghpages": "angular-cli-ghpages", + "ngh": "angular-cli-ghpages" + }, + "peerDependencies": { + "@angular-devkit/architect": ">= 0.900 < 0.1602.0", + "@angular-devkit/core": "^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "@angular-devkit/schematics": "^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/angular-cli-ghpages/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", + "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "17.1.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", + "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001551", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", + "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz", + "integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=14" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@wessberg/ts-evaluator": { - "version": "0.0.27", - "resolved": "https://registry.npmjs.org/@wessberg/ts-evaluator/-/ts-evaluator-0.0.27.tgz", - "integrity": "sha512-7gOpVm3yYojUp/Yn7F4ZybJRxyqfMNf0LXK5KJiawbPfL0XTsJV+0mgrEDjOIR6Bi0OYk2Cyg4tjFu1r8MCZaA==", - "deprecated": "this package has been renamed to ts-evaluator. Please install ts-evaluator instead", + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "jsdom": "^16.4.0", - "object-path": "^0.11.5", - "tslib": "^2.0.3" + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">=10.1.0" + "node": ">= 14.15.0" }, "funding": { - "type": "github", - "url": "https://github.com/wessberg/ts-evaluator?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "typescript": ">=3.2.x || >= 4.x" + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js-compat": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", + "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", + "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==", + "dev": true, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/critters": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz", + "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "pretty-bytes": "^5.3.0" } }, - "node_modules/@wessberg/ts-evaluator/node_modules/ansi-styles": { + "node_modules/critters/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -4417,7 +7244,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@wessberg/ts-evaluator/node_modules/chalk": { + "node_modules/critters/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -4433,7 +7260,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@wessberg/ts-evaluator/node_modules/color-convert": { + "node_modules/critters/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -4445,13 +7272,13 @@ "node": ">=7.0.0" } }, - "node_modules/@wessberg/ts-evaluator/node_modules/color-name": { + "node_modules/critters/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/@wessberg/ts-evaluator/node_modules/has-flag": { + "node_modules/critters/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -4460,7 +7287,7 @@ "node": ">=8" } }, - "node_modules/@wessberg/ts-evaluator/node_modules/supports-color": { + "node_modules/critters/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -4472,1449 +7299,1469 @@ "node": ">=8" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", - "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", - "dev": true, - "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.15.0" - } - }, - "node_modules/@zkochan/js-yaml": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", - "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@zkochan/js-yaml/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "dependencies": { - "debug": "4" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 8" } }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "node_modules/css-functions-list": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", + "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", "dev": true, - "dependencies": { - "humanize-ms": "^1.2.1" - }, "engines": { - "node": ">= 8.0.0" + "node": ">=12 || >=16" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "node": ">= 12.13.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/ajv-keywords": { + "node_modules/css-select": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, - "peerDependencies": { - "ajv": "^8.8.2" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, "engines": { - "node": ">=6" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, "engines": { - "node": ">=8" + "node": ">= 6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, - "engines": [ - "node >= 0.8.0" - ], "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" + "cssesc": "bin/cssesc" }, "engines": { "node": ">=4" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "cssom": "~0.3.6" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", "dev": true, - "dependencies": { - "dequal": "^2.0.3" + "engines": { + "node": ">=4.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "ms": "2.1.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=14.16" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, "engines": { - "node": ">= 0.4" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/axios": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", - "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "node_modules/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "engines": { + "node": ">=14.18.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/default-browser/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, "engines": { - "node": ">= 6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "node_modules/default-browser/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "dependencies": { - "dequal": "^2.0.3" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "node_modules/default-browser/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dev": true, "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">= 14.15.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/default-browser/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "node_modules/default-browser/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", - "semver": "^6.3.1" + "engines": { + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/default-browser/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", - "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.32.2" + "execa": "^5.0.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">= 10" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "clone": "^1.0.2" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/base64id": { + "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, "engines": { - "node": "^4.5.0 || >= 5.9" + "node": ">=8" } }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": "*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "engines": { + "node": ">= 0.8" } }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=6" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, - "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/boolbase": { + "node_modules/dns-equal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "esutils": "^2.0.2" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } }, - "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "url": "https://github.com/sponsors/fb55" } - ], + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "dependencies": { - "semver": "^7.0.0" + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, - "engines": { - "node": ">= 0.8" + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/cacache": { - "version": "17.1.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", - "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^7.7.1", - "minipass": "^7.0.3", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "is-obj": "^2.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">=10" } }, - "node_modules/cacache/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jake": "^10.8.5" }, "bin": { - "glob": "dist/esm/bin.mjs" + "ejs": "bin/cli.js" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/electron-to-chromium": { + "version": "1.4.563", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.563.tgz", + "integrity": "sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==", + "dev": true + }, + "node_modules/email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, "engines": { - "node": ">=12" + "node": ">= 4" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.8" } }, - "node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "optional": true, "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.3.tgz", + "integrity": "sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==", "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0" + }, "engines": { - "node": ">=6" + "node": ">=10.2.0" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10.0.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001551", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001551.tgz", - "integrity": "sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==", + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" + "utf-8-validate": { + "optional": true } - ] + } }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">=10.13.0" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=8.6" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "engines": { - "node": ">=6.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, "engines": { "node": ">=6" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, + "optional": true, "dependencies": { - "restore-cursor": "^3.1.0" + "prr": "~1.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "errno": "cli.js" } }, - "node_modules/cli-spinners": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", - "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, "engines": { - "node": ">= 10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", + "dev": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, - "engines": { - "node": ">=0.8" + "dependencies": { + "hasown": "^2.0.0" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/esbuild": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", + "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", "dev": true, - "dependencies": { - "color-name": "1.1.3" + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.17", + "@esbuild/android-arm64": "0.18.17", + "@esbuild/android-x64": "0.18.17", + "@esbuild/darwin-arm64": "0.18.17", + "@esbuild/darwin-x64": "0.18.17", + "@esbuild/freebsd-arm64": "0.18.17", + "@esbuild/freebsd-x64": "0.18.17", + "@esbuild/linux-arm": "0.18.17", + "@esbuild/linux-arm64": "0.18.17", + "@esbuild/linux-ia32": "0.18.17", + "@esbuild/linux-loong64": "0.18.17", + "@esbuild/linux-mips64el": "0.18.17", + "@esbuild/linux-ppc64": "0.18.17", + "@esbuild/linux-riscv64": "0.18.17", + "@esbuild/linux-s390x": "0.18.17", + "@esbuild/linux-x64": "0.18.17", + "@esbuild/netbsd-x64": "0.18.17", + "@esbuild/openbsd-x64": "0.18.17", + "@esbuild/sunos-x64": "0.18.17", + "@esbuild/win32-arm64": "0.18.17", + "@esbuild/win32-ia32": "0.18.17", + "@esbuild/win32-x64": "0.18.17" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "node_modules/esbuild-wasm": { + "version": "0.18.17", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.18.17.tgz", + "integrity": "sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==", "dev": true, "bin": { - "color-support": "bin.js" + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" } }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/eslint": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", "dev": true, "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 0.8.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, "engines": { - "node": ">= 0.8" + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/eslint-config-airbnb-base/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/eslint-config-airbnb-typescript": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.1.0.tgz", + "integrity": "sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==", "dev": true, "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" + "eslint-config-airbnb-base": "^15.0.0" }, - "engines": { - "node": ">= 0.10.0" + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.13.0 || ^6.0.0", + "@typescript-eslint/parser": "^5.0.0 || ^6.0.0", + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3" } }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", "dev": true, - "engines": { - "node": ">=0.8" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "dependencies": { - "ms": "2.0.0" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" + "ms": "^2.1.1" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", "dev": true, + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, "engines": { - "node": ">= 0.6" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, "dependencies": { - "is-what": "^3.14.1" + "debug": "^3.2.7" }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-angular": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-angular/-/eslint-plugin-angular-4.1.0.tgz", + "integrity": "sha512-dacledMPxVOZA3T0xcYFuvrMCy5dHxg0ZTMWUaHqSBQef3/XLyXJ9s1LNj0NikJ/dYx6OhqlnnNpKmrJhEUB+Q==", + "dev": true + }, + "node_modules/eslint-plugin-import": { + "version": "2.28.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", + "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.13.0", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=4" }, "peerDependencies": { - "webpack": "^5.1.0" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "ms": "^2.1.1" } }, - "node_modules/core-js-compat": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", - "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { - "browserslist": "^4.22.1" + "esutils": "^2.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/eslint-plugin-prettier": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", "dev": true, "dependencies": { - "object-assign": "^4", - "vary": "^1" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" }, "engines": { - "node": ">= 0.10" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "node_modules/eslint-plugin-simple-import-sort": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", + "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", + "dev": true, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-unused-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.0.0.tgz", + "integrity": "sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==", "dev": true, "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" + "eslint-rule-composer": "^0.3.0" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "peerDependencies": { - "typescript": ">=4.9.5" + "@typescript-eslint/eslint-plugin": "^6.0.0", + "eslint": "^8.0.0" }, "peerDependenciesMeta": { - "typescript": { + "@typescript-eslint/eslint-plugin": { "optional": true } } }, - "node_modules/cosmiconfig/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/critters": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz", - "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "chalk": "^4.1.0", - "css-select": "^5.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.2", - "htmlparser2": "^8.0.2", - "postcss": "^8.4.23", - "pretty-bytes": "^5.3.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/critters/node_modules/ansi-styles": { + "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -5929,7 +8776,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/critters/node_modules/chalk": { + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -5945,7 +8798,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/critters/node_modules/color-convert": { + "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -5957,1265 +8810,1233 @@ "node": ">=7.0.0" } }, - "node_modules/critters/node_modules/color-name": { + "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/critters/node_modules/has-flag": { + "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/critters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "is-glob": "^4.0.3" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=10.13.0" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/eslint/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">= 6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "cssom": "~0.3.6" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "ms": "2.1.2" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=6.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "dependencies": { - "execa": "^5.0.0" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { - "clone": "^1.0.2" + "estraverse": "^5.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 0.4" + "node": ">=4.0" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">= 0.6" } }, - "node_modules/delegates": { + "node_modules/eventemitter-asyncresource": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", "dev": true }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=0.8.x" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", "dev": true }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "dependencies": { - "path-type": "^4.0.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.10.0" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.6" } }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "ms": "2.0.0" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">= 0.8" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "dependencies": { - "webidl-conversions": "^5.0.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "dependencies": { - "domelementtype": "^2.3.0" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=4" } }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "os-tmpdir": "~1.0.2" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "dev": true, "engines": { - "node": ">=10" + "node": ">=0.6.0" } }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, - "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.563", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.563.tgz", - "integrity": "sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, "engines": { - "node": ">= 4" + "node": ">= 4.9.1" } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=0.8.0" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "optional": true, "dependencies": { - "iconv-lite": "^0.6.2" + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, "dependencies": { - "once": "^1.4.0" + "minimatch": "^5.0.1" } }, - "node_modules/engine.io": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.3.tgz", - "integrity": "sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw==", + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10.2.0" + "node": ">=10" } }, - "node_modules/engine.io-parser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", - "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", "dev": true, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", "dev": true, - "engines": { - "node": ">=10.0.0" + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "engines": { + "node": ">=8" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "dependencies": { - "ansi-colors": "^4.1.1" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=8.6" + "node": ">= 0.8" } }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, "engines": { - "node": ">=0.12" + "node": ">=10" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, "engines": { - "node": ">=6" + "node": ">=12.0.0" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "dev": true, - "optional": true, - "dependencies": { - "prr": "~1.0.1" + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" }, - "bin": { - "errno": "cli.js" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "is-callable": "^1.1.3" } }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/es-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", - "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", - "dev": true - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dev": true, "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/esbuild": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", - "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.17", - "@esbuild/android-arm64": "0.18.17", - "@esbuild/android-x64": "0.18.17", - "@esbuild/darwin-arm64": "0.18.17", - "@esbuild/darwin-x64": "0.18.17", - "@esbuild/freebsd-arm64": "0.18.17", - "@esbuild/freebsd-x64": "0.18.17", - "@esbuild/linux-arm": "0.18.17", - "@esbuild/linux-arm64": "0.18.17", - "@esbuild/linux-ia32": "0.18.17", - "@esbuild/linux-loong64": "0.18.17", - "@esbuild/linux-mips64el": "0.18.17", - "@esbuild/linux-ppc64": "0.18.17", - "@esbuild/linux-riscv64": "0.18.17", - "@esbuild/linux-s390x": "0.18.17", - "@esbuild/linux-x64": "0.18.17", - "@esbuild/netbsd-x64": "0.18.17", - "@esbuild/openbsd-x64": "0.18.17", - "@esbuild/sunos-x64": "0.18.17", - "@esbuild/win32-arm64": "0.18.17", - "@esbuild/win32-ia32": "0.18.17", - "@esbuild/win32-x64": "0.18.17" + "node": ">= 0.6" } }, - "node_modules/esbuild-wasm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.18.17.tgz", - "integrity": "sha512-9OHGcuRzy+I8ziF9FzjfKLWAPbvi0e/metACVg9k6bK+SI4FFxeV6PcZsz8RIVaMD4YNehw+qj6UMR3+qj/EuQ==", + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true, - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=12" + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { - "node": ">=0.8.0" + "node": ">=14.14" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dev": true, "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "minipass": "^7.0.3" }, "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/fs-minipass/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, - "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", - "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.52.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-config-airbnb-base/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-config-airbnb-typescript": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.1.0.tgz", - "integrity": "sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==", + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "eslint-config-airbnb-base": "^15.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.13.0 || ^6.0.0", - "@typescript-eslint/parser": "^5.0.0 || ^6.0.0", - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.3" - } - }, - "node_modules/eslint-plugin-simple-import-sort": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz", - "integrity": "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==", - "dev": true, - "peerDependencies": { - "eslint": ">=5.0.0" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/eslint-plugin-unused-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.0.0.tgz", - "integrity": "sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "dependencies": { - "eslint-rule-composer": "^0.3.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^6.0.0", - "eslint": "^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - } + "node": ">=6.9.0" } }, - "node_modules/eslint-rule-composer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "engines": { - "node": ">=4.0.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, "engines": { "node": ">=8.0.0" } }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "resolve-pkg-maps": "^1.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/gh-pages": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz", + "integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/gh-pages/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/gh-pages/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/gh-pages/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, "engines": { - "node": ">=10" + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/gh-pages/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/gh-pages/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "semver": "^6.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/gh-pages/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/gh-pages/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/gh-pages/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" + "find-up": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/gh-pages/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/gh-pages/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" }, "bin": { - "js-yaml": "bin/js-yaml.js" + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/git-raw-commits/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "dependencies": { - "p-locate": "^5.0.0" + "lru-cache": "^6.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/git-raw-commits/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/git-raw-commits/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { "node": ">=10" @@ -7224,22 +10045,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/git-raw-commits/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/git-raw-commits/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/git-raw-commits/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, "engines": { "node": ">=10" @@ -7248,986 +10081,1012 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/git-raw-commits/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/git-raw-commits/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "*" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "dependencies": { + "is-glob": "^4.0.1" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "ini": "^1.3.4" }, "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/global-dirs/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "dependencies": { - "estraverse": "^5.2.0" + "global-prefix": "^3.0.0" }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/eventemitter-asyncresource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", - "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", - "dev": true - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, "engines": { - "node": ">=0.8.x" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">= 0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/guess-parser": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/guess-parser/-/guess-parser-0.4.22.tgz", + "integrity": "sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "@wessberg/ts-evaluator": "0.0.27" }, + "peerDependencies": { + "typescript": ">=3.7.5" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=6" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.4.0" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/express/node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dev": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "get-intrinsic": "^1.2.2" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "function-bind": "^1.1.2" }, "engines": { - "node": ">=8.6.0" + "node": ">= 0.4" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dev": true, "dependencies": { - "reusify": "^1.0.4" + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, "dependencies": { - "websocket-driver": ">=0.5.1" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=0.8.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { - "minimatch": "^5.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "whatwg-encoding": "^1.0.5" }, "engines": { "node": ">=10" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, "engines": { "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "ms": "2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "dependencies": { - "ee-first": "1.1.1" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { "node": ">= 0.8" } }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" + "node": ">=8.0.0" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=12.0.0" + "node": ">= 6" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, "engines": { - "node": ">=4.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" }, "peerDependenciesMeta": { - "debug": { + "@types/express": { "optional": true } } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "dependencies": { - "is-callable": "^1.1.3" + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10.17.0" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", "dev": true, + "bin": { + "husky": "lib/bin.js" + }, "engines": { "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, "engines": { - "node": "*" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 4" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "node_modules/ignore-walk": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", + "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "minimatch": "^9.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, - "hasInstallScript": true, "optional": true, - "os": [ - "darwin" - ], + "bin": { + "image-size": "bin/image-size.js" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=0.10.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { - "node": ">=6.9.0" + "node": ">=0.8.19" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=8" } }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", "dev": true, "engines": { - "node": ">=8.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=12.0.0" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "node_modules/guess-parser": { - "version": "0.4.22", - "resolved": "https://registry.npmjs.org/guess-parser/-/guess-parser-0.4.22.tgz", - "integrity": "sha512-KcUWZ5ACGaBM69SbqwVIuWGoSAgD+9iJnchR9j/IarVI1jHVeXv+bUXBIMeqVMSKt3zrn0Dgf9UpcOEpPBLbSg==", + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, "dependencies": { - "@wessberg/ts-evaluator": "0.0.27" + "has-bigints": "^1.0.1" }, - "peerDependencies": { - "typescript": ">=3.7.5" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -8235,513 +11094,494 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/has-tostringtag": { + "node_modules/is-inside-container": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, - "dependencies": { - "function-bind": "^1.1.2" + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hdr-histogram-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", - "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true, - "dependencies": { - "@assemblyscript/loader": "^0.10.1", - "base64-js": "^1.2.0", - "pako": "^1.0.3" + "engines": { + "node": ">=8" } }, - "node_modules/hdr-histogram-percentiles-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", - "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, - "node_modules/hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "dependencies": { - "lru-cache": "^7.5.1" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "engines": { - "node": ">=12" + "node": ">=0.12.0" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=8" } }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=8" } }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-errors/node_modules/statuses": { + "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "node_modules/is-text-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "text-extensions": "^2.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": ">=8" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" + "which-typed-array": "^1.1.11" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "engines": { - "node": ">=10.17.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "dependencies": { - "ms": "^2.0.0" + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">= 8.0.0" }, - "peerDependencies": { - "postcss": "^8.1.0" + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/ignore-walk": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", - "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, "dependencies": { - "minimatch": "^9.0.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10" } }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/immutable": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", - "dev": true - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "engines": { - "node": ">=0.8.19" + "node": ">=0.10.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", - "dev": true, + "@isaacs/cliui": "^8.0.2" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/inquirer": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=10" } }, - "node_modules/inquirer/node_modules/ansi-styles": { + "node_modules/jake/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -8756,7 +11596,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/inquirer/node_modules/chalk": { + "node_modules/jake/node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/jake/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -8772,7 +11618,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/inquirer/node_modules/color-convert": { + "node_modules/jake/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -8784,13 +11630,13 @@ "node": ">=7.0.0" } }, - "node_modules/inquirer/node_modules/color-name": { + "node_modules/jake/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/inquirer/node_modules/has-flag": { + "node_modules/jake/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -8799,7 +11645,7 @@ "node": ">=8" } }, - "node_modules/inquirer/node_modules/supports-color": { + "node_modules/jake/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -8811,571 +11657,675 @@ "node": ">=8" } }, - "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "node_modules/jasmine-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz", + "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==", "dev": true }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "jiti": "bin/jiti.js" } }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" + "jsesc": "bin/jsesc" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, - "node_modules/is-interactive": { + "node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, - "engines": { - "node": ">=0.12.0" - } + "engines": [ + "node >= 0.2.0" + ] }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" }, - "engines": { - "node": ">= 0.4" + "bin": { + "JSONStream": "bin.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/karma": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", + "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "which": "^1.2.1" } }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "dependencies": { - "isobject": "^3.0.1" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "which": "bin/which" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10.0.0" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "jasmine-core": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "source-map-support": "^0.5.5" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { - "which-typed-array": "^1.1.11" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "json-buffer": "3.0.1" } }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "dev": true, "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" + "node": ">= 8" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/known-css-properties": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", "dev": true }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, "engines": { - "node": ">=8" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, + "optional": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "optional": true, "bin": { - "semver": "bin/semver.js" + "mime": "cli.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, + "optional": true, "engines": { - "node": ">=10" + "node": ">=6" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "optional": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "webpack-sources": "^3.0.0" }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "dev": true, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6.11.5" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 12.13.0" } }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "@isaacs/cliui": "^8.0.2" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=14" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jake/node_modules/ansi-styles": { + "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -9390,7 +12340,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jake/node_modules/chalk": { + "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -9406,7 +12356,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jake/node_modules/color-convert": { + "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -9418,1989 +12368,2210 @@ "node": ">=7.0.0" } }, - "node_modules/jake/node_modules/color-name": { + "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/jake/node_modules/has-flag": { + "node_modules/log-symbols/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", + "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/jasmine-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz", - "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==", - "dev": true - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 6" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jiti": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", - "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true, - "bin": { - "jiti": "bin/jiti.js" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.6" } }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "fs-monkey": "^1.0.4" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": ">= 4.0.0" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, "engines": { - "node": ">=4" + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "bin": { - "json5": "lib/cli.js" - }, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 0.6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/karma": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", - "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.4.1", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" + "picomatch": "^2.3.1" }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, "bin": { - "karma": "bin/karma" + "mime": "cli.js" }, "engines": { - "node": ">= 10" + "node": ">=4.0.0" } }, - "node_modules/karma-chrome-launcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", - "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "dependencies": { - "which": "^1.2.1" + "engines": { + "node": ">= 0.6" } }, - "node_modules/karma-coverage": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", - "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.0.5", - "minimatch": "^3.0.4" + "mime-db": "1.52.0" }, "engines": { - "node": ">=10.0.0" + "node": ">= 0.6" } }, - "node_modules/karma-jasmine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", - "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", "dev": true, "dependencies": { - "jasmine-core": "^4.1.0" + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "karma": "^6.0.0" + "webpack": "^5.0.0" } }, - "node_modules/karma-jasmine-html-reporter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", - "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "peerDependencies": { - "jasmine-core": "^4.0.0 || ^5.0.0", - "karma": "^6.0.0", - "karma-jasmine": "^5.0.0" + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "dependencies": { - "source-map-support": "^0.5.5" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/karma/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/karma/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/karma/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, "engines": { - "node": ">=8.17.0" + "node": ">=8" } }, - "node_modules/karma/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "minipass": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/karma/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "node_modules/minipass-collect/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", "dev": true, "dependencies": { - "json-buffer": "3.0.1" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { "node": ">= 8" } }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/less": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", - "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/less-loader": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", - "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "klona": "^2.0.4" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" + "node": ">=8" } }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/minipass-json-stream/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, - "optional": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/less/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "optional": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/less/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, "dependencies": { - "webpack-sources": "^3.0.0" + "yallist": "^4.0.0" }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-sources": { - "optional": true - } + "engines": { + "node": ">=8" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, - "engines": { - "node": ">=6.11.5" + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", "dev": true, "engines": { - "node": ">= 12.13.0" + "node": ">=10" } }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" }, - "engines": { - "node": ">=8" + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dev": true, + "optional": true, "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" }, - "engines": { - "node": ">=10" + "bin": { + "needle": "bin/needle" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "optional": true, "dependencies": { - "color-convert": "^2.0.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.6" } }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" } }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", "dev": true }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 6.13.0" } }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/node-gyp": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", + "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^11.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">=8" + "node": "^12.13 || ^14.13 || >=16" } }, - "node_modules/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "node_modules/node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", "dev": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.0" + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, "dependencies": { - "yallist": "^3.0.2" + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/magic-string": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", - "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", + "node_modules/normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/make-fetch-happen": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", - "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", "dev": true, "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "semver": "^7.1.1" }, "engines": { - "node": ">= 6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "dev": true, "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, "engines": { - "node": ">= 0.6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "node_modules/npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "dependencies": { - "fs-monkey": "^1.0.4" + "ignore-walk": "^6.0.0" }, "engines": { - "node": ">= 4.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/npm-registry-fetch": { + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "path-key": "^3.0.0" }, "engines": { - "node": ">=8.6" + "node": ">=8" } }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=4.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "engines": { - "node": ">= 0.6" + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/nx": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/nx/-/nx-16.5.1.tgz", + "integrity": "sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==", "dev": true, + "hasInstallScript": true, "dependencies": { - "mime-db": "1.52.0" + "@nrwl/tao": "16.5.1", + "@parcel/watcher": "2.0.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.0.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^7.0.2", + "dotenv": "~10.0.0", + "enquirer": "~2.3.6", + "fast-glob": "3.2.7", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "glob": "7.1.4", + "ignore": "^5.0.4", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "3.0.5", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "semver": "7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "v8-compile-cache": "2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" }, - "engines": { - "node": ">= 0.6" + "bin": { + "nx": "bin/nx.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "16.5.1", + "@nx/nx-darwin-x64": "16.5.1", + "@nx/nx-freebsd-x64": "16.5.1", + "@nx/nx-linux-arm-gnueabihf": "16.5.1", + "@nx/nx-linux-arm64-gnu": "16.5.1", + "@nx/nx-linux-arm64-musl": "16.5.1", + "@nx/nx-linux-x64-gnu": "16.5.1", + "@nx/nx-linux-x64-musl": "16.5.1", + "@nx/nx-win32-arm64-msvc": "16.5.1", + "@nx/nx-win32-x64-msvc": "16.5.1" + }, + "peerDependencies": { + "@swc-node/register": "^1.4.2", + "@swc/core": "^1.2.173" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "node_modules/nx/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "node_modules/nx/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/nx/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "schema-utils": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/nx/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" }, - "peerDependencies": { - "webpack": "^5.0.0" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "node_modules/nx/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/nx/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nx/node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "node_modules/nx/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "node_modules/nx/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">= 8" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/nx/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/minipass-collect/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "node_modules/nx/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": "*" } }, - "node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "node_modules/nx/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "node_modules/nx/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/nx/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/minipass-flush/node_modules/yallist": { + "node_modules/nx/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass-json-stream/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 10.12.0" } }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass-sized/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" } }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "ee-first": "1.1.1" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">= 0.8" } }, - "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "dev": true, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" + "mimic-fn": "^2.1.0" }, - "bin": { - "multicast-dns": "cli.js" + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "optional": true, "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" }, "engines": { - "node": ">= 4.4.x" + "node": ">= 0.8.0" } }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, - "optional": true, "dependencies": { - "ms": "^2.1.1" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/needle/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "!win32" - ], "dependencies": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">= 6.13.0" + "node": ">=8" } }, - "node_modules/node-gyp": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", - "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^11.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.13 || ^14.13 || >=16" + "node": ">=8" } }, - "node_modules/node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/node-gyp/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">= 8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "node_modules/nopt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "abbrev": "^1.0.0" + "p-limit": "^3.0.2" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "@types/retry": "0.12.0", + "retry": "^0.13.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "node_modules/pacote": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", + "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==", "dev": true, "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.3.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-install-checks": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "dependencies": { - "semver": "^7.1.1" + "callsites": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-package-arg": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", - "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "node_modules/parse-json/node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, - "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.10" } }, - "node_modules/npm-packlist": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", - "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", "dev": true, "dependencies": { - "ignore-walk": "^6.0.0" + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/npm-pick-manifest": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", - "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", - "semver": "^7.3.5" + "entities": "^4.4.0" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/npm-registry-fetch": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", - "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", + "node_modules/parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", "dev": true, "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-sax-parser/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.8" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=0.10.0" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/nx": { - "version": "16.5.1", - "resolved": "https://registry.npmjs.org/nx/-/nx-16.5.1.tgz", - "integrity": "sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==", + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "16.5.1", - "@parcel/watcher": "2.0.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.6", - "axios": "^1.0.0", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^7.0.2", - "dotenv": "~10.0.0", - "enquirer": "~2.3.6", - "fast-glob": "3.2.7", - "figures": "3.2.0", - "flat": "^5.0.2", - "fs-extra": "^11.1.0", - "glob": "7.1.4", - "ignore": "^5.0.4", - "js-yaml": "4.1.0", - "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", - "minimatch": "3.0.5", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "semver": "7.5.3", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "v8-compile-cache": "2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "16.5.1", - "@nx/nx-darwin-x64": "16.5.1", - "@nx/nx-freebsd-x64": "16.5.1", - "@nx/nx-linux-arm-gnueabihf": "16.5.1", - "@nx/nx-linux-arm64-gnu": "16.5.1", - "@nx/nx-linux-arm64-musl": "16.5.1", - "@nx/nx-linux-x64-gnu": "16.5.1", - "@nx/nx-linux-x64-musl": "16.5.1", - "@nx/nx-win32-arm64-msvc": "16.5.1", - "@nx/nx-win32-x64-msvc": "16.5.1" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, - "peerDependencies": { - "@swc-node/register": "^1.4.2", - "@swc/core": "^1.2.173" + "engines": { + "node": ">=16 || 14 >=14.17" }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/nx/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/nx/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, - "node_modules/nx/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/nx/node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/color-convert": { + "node_modules/pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "pinkie": "^2.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/nx/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/nx/node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "node_modules/piscina": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.0.0.tgz", + "integrity": "sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "nice-napi": "^1.0.2" } }, - "node_modules/nx/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "find-up": "^6.3.0" }, "engines": { - "node": ">=14.14" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": "*" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "yocto-queue": "^1.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "dependencies": { - "universalify": "^2.0.0" + "p-limit": "^4.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/lines-and-columns": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", - "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/nx/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/pkg-dir/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nx/node_modules/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "brace-expansion": "^1.1.7" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": "*" + "node": "^10 || ^12 || >=14" } }, - "node_modules/nx/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "node_modules/postcss-loader": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", + "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" }, "engines": { - "node": ">=10" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" } }, - "node_modules/nx/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/nx/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "dev": true, "dependencies": { - "rimraf": "^3.0.0" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=8.17.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/nx/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, "engines": { - "node": ">= 10.0.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/nx/node_modules/yallist": { + "node_modules/postcss-modules-values": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/postcss-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" } }, - "node_modules/object-path": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", - "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "engines": { - "node": ">= 10.12.0" + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "node_modules/postcss-sorting": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", + "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "postcss": "^8.4.20" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, "engines": { - "node": ">= 0.8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "dependencies": { - "wrappy": "1" + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { "node": ">=6" }, @@ -11408,824 +14579,798 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10" } }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.10" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=6" } }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "side-channel": "^1.0.4" }, "engines": { - "node": ">=7.0.0" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/read-package-json": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", + "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, "engines": { - "node": ">= 4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "node_modules/read-package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/pacote": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", - "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==", + "node_modules/read-package-json/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^5.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.3.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, "bin": { - "pacote": "lib/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/read-package-json/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parse5-html-rewriting-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", - "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "dependencies": { - "entities": "^4.3.0", - "parse5": "^7.0.0", - "parse5-sax-parser": "^7.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "entities": "^4.4.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/parse5-sax-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", - "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "parse5": "^7.0.0" + "p-locate": "^4.1.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/parse5-sax-parser/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "dependencies": { - "entities": "^4.4.0" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, "engines": { - "node": "14 || >=16.14" + "node": ">=8.10.0" } }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, - "optional": true, + "dependencies": { + "regenerate": "^1.4.2" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/piscina": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.0.0.tgz", - "integrity": "sha512-641nAmJS4k4iqpNUqfggqUBUMmlw0ZoM5VZKdQkV2e970Inn3Tk9kroCc1wpsYLD07vCwpys5iY0d3xI/9WkTg==", + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "dependencies": { - "eventemitter-asyncresource": "^1.0.0", - "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0" - }, - "optionalDependencies": { - "nice-napi": "^1.0.2" + "@babel/runtime": "^7.8.4" } }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "dependencies": { - "find-up": "^6.3.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" }, "engines": { - "node": ">=14.16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { - "p-locate": "^6.0.0" + "jsesc": "~0.5.0" }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "dependencies": { - "p-limit": "^4.0.0" + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "bin": { + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/path-exists": { + "node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" } }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "global-dirs": "^0.1.1" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=8" } }, - "node_modules/postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, - "dependencies": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 14.15.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", "dev": true, "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=12" } }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.4" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8.9.0" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.0" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 4" } }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "bin": { + "rimraf": "bin.js" }, - "engines": { - "node": ">= 0.10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, "engines": { - "node": ">= 0.10" + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.12.0" } }, - "node_modules/qjobs": { + "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "engines": { - "node": ">=0.9" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=0.6" + "node": ">=0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -12242,1412 +15387,1518 @@ } ] }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/sass": { + "version": "1.64.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz", + "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/read-package-json": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", - "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", - "dev": true, - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "bin": { + "sass": "sass.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=14.0.0" } }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "node_modules/sass-loader": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", + "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", "dev": true, "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "neo-async": "^2.6.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } } }, - "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "optional": true }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/read-package-json/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "node-forge": "^1" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.10.0" + "node": ">=10" } }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "dependencies": { - "regenerate": "^1.4.2" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "@babel/runtime": "^7.8.4" + "ms": "2.0.0" } }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" + "randombytes": "^2.1.0" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.6" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", "dev": true, "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">= 0.4" } }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" }, "engines": { - "node": ">=8.9.0" + "node": ">= 0.4" } }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sigstore": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", + "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", "dev": true, + "dependencies": { + "@sigstore/bundle": "^1.1.0", + "@sigstore/protobuf-specs": "^0.2.0", + "@sigstore/sign": "^1.0.0", + "@sigstore/tuf": "^1.0.3", + "make-fetch-happen": "^11.0.1" + }, "bin": { - "rollup": "dist/bin/rollup" + "sigstore": "bin/sigstore.js" }, "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dependencies": { - "tslib": "^2.1.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/sass": { - "version": "1.64.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz", - "integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", + "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", "dev": true, "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" }, "engines": { - "node": ">=14.0.0" + "node": ">=10.2.0" } }, - "node_modules/sass-loader": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", - "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", "dev": true, "dependencies": { - "neo-async": "^2.6.2" - }, + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=10.0.0" }, "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { + "bufferutil": { "optional": true }, - "sass-embedded": { + "utf-8-validate": { "optional": true } } }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, - "optional": true + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "dependencies": { - "xmlchars": "^2.2.0" + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=10" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">= 10" } }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } }, - "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true, - "dependencies": { - "node-forge": "^1" - }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/source-map-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { - "ms": "2.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, - "bin": { - "mime": "cli.js" + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, - "engines": { - "node": ">= 0.8" + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" } }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "dev": true, - "dependencies": { - "randombytes": "^2.1.0" + "engines": { + "node": ">= 10.x" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", "dev": true, "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 0.8.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/ssri/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "engines": { "node": ">= 0.6" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", "dev": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" }, "engines": { - "node": ">= 0.6" + "node": ">=8.0" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/streamroller/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6 <7 || >=8" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true + "node_modules/streamroller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "node_modules/streamroller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">= 4.0.0" } }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "safe-buffer": "~5.2.0" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "kind-of": "^6.0.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sigstore": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", - "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "@sigstore/sign": "^1.0.0", - "@sigstore/tuf": "^1.0.3", - "make-fetch-happen": "^11.0.1" - }, - "bin": { - "sigstore": "bin/sigstore.js" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "ansi-regex": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=4" } }, - "node_modules/socket.io": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", - "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.5.2", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, "engines": { - "node": ">=10.2.0" + "node": ">=6" } }, - "node_modules/socket.io-adapter": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", - "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, "dependencies": { - "ws": "~8.11.0" + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/socket.io-adapter/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "node": ">=8" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", "dev": true, "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" + "escape-string-regexp": "^1.0.2" }, "engines": { - "node": ">=10.0.0" + "node": ">=0.10.0" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "node_modules/strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", "dev": true, "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/stylelint": { + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", + "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", "dev": true, "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", + "@csstools/selector-specificity": "^3.0.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^8.2.0", + "css-functions-list": "^3.2.1", + "css-tree": "^2.3.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.1", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^7.0.0", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^5.2.4", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.29.0", + "mathml-tag-names": "^2.1.3", + "meow": "^10.1.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.28", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "style-search": "^0.1.0", + "supports-hyperlinks": "^3.0.0", + "svg-tags": "^1.0.0", + "table": "^6.8.1", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" } }, - "node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "node_modules/stylelint-config-clean-order": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/stylelint-config-clean-order/-/stylelint-config-clean-order-5.2.0.tgz", + "integrity": "sha512-eAB9ftPa8txPFY2oh4NIE3DFkNzqVEBIALUZhSXP0+6CISPjZPBoOV24shjC9DgOKr7rNPY52DAXBXIBI//Mhg==", "dev": true, "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" + "stylelint-order": "^6.0.2" }, - "engines": { - "node": ">= 10" + "peerDependencies": { + "stylelint": ">=14" } }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/stylelint-config-recommended": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-13.0.0.tgz", + "integrity": "sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==", "dev": true, "engines": { - "node": ">= 8" + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "stylelint": "^15.10.0" } }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "node_modules/stylelint-config-recommended-scss": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-13.0.0.tgz", + "integrity": "sha512-7AmMIsHTsuwUQm7I+DD5BGeIgCvqYZ4BpeYJJpb1cUXQwrJAKjA+GBotFZgUEGP8lAM+wmd91ovzOi8xfAyWEw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "postcss-scss": "^4.0.7", + "stylelint-config-recommended": "^13.0.0", + "stylelint-scss": "^5.1.0" + }, + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^15.10.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } } }, - "node_modules/source-map-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", - "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "node_modules/stylelint-config-scss": { + "version": "1.0.0-security", + "resolved": "https://registry.npmjs.org/stylelint-config-scss/-/stylelint-config-scss-1.0.0-security.tgz", + "integrity": "sha512-8Pgul2mNpzTeK2KCuyV5RcDC1BgzWzU7dCLVJWuxpkKgmxrMqCvjqgyosaKbAVZy2AiaMU0zfHBt7prg7/NaxA==", + "dev": true + }, + "node_modules/stylelint-config-standard": { + "version": "34.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-34.0.0.tgz", + "integrity": "sha512-u0VSZnVyW9VSryBG2LSO+OQTjN7zF9XJaAJRX/4EwkmU0R2jYwmBSN10acqZisDitS0CLiEiGjX7+Hrq8TAhfQ==", "dev": true, "dependencies": { - "abab": "^2.0.6", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" + "stylelint-config-recommended": "^13.0.0" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": "^14.13.1 || >=16.0.0" }, "peerDependencies": { - "webpack": "^5.72.1" + "stylelint": "^15.10.0" } }, - "node_modules/source-map-loader/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/stylelint-config-standard-scss": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-11.0.0.tgz", + "integrity": "sha512-fGE79NBOLg09a9afqGH/guJulRULCaQWWv4cv1v2bMX92B+fGb0y56WqIguwvFcliPmmUXiAhKrrnXilIeXoHA==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "stylelint-config-recommended-scss": "^13.0.0", + "stylelint-config-standard": "^34.0.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "postcss": "^8.3.3", + "stylelint": "^15.10.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + } } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/stylelint-order": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.3.tgz", + "integrity": "sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "postcss": "^8.4.21", + "postcss-sorting": "^8.0.2" + }, + "peerDependencies": { + "stylelint": "^14.0.0 || ^15.0.0" + } + }, + "node_modules/stylelint-prettier": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-4.0.2.tgz", + "integrity": "sha512-EoHnR2PiaWgpGtoI4VW7AzneMfwmwQsNwQ+3/E2k/a+ju5yO6rfPfop4vzPQKcJN4ZM1YbspEOPu88D8538sbg==", "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "prettier": ">=3.0.0", + "stylelint": ">=15.8.0" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "node_modules/stylelint-scss": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-5.2.1.tgz", + "integrity": "sha512-ZoTJUM85/qqpQHfEppjW/St//8s6p9Qsg8deWlYlr56F9iUgC9vXeIDQvH4odkRRJLTLFQzYMALSOFCQ3MDkgw==", "dev": true, "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "known-css-properties": "^0.28.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.13", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "stylelint": "^14.5.1 || ^15.0.0" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "node_modules/stylelint-scss/node_modules/known-css-properties": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", "dev": true }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/stylelint/node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", "dev": true, "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "node_modules/stylelint/node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.1.tgz", + "integrity": "sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==", "dev": true, "dependencies": { - "minipass": "^7.0.3" + "flat-cache": "^3.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12.0.0" } }, - "node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "node_modules/stylelint/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/stylelint/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "node_modules/stylelint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=10" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/stylelint/node_modules/meow": { + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz", + "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==", "dev": true, "dependencies": { - "safe-buffer": "~5.2.0" + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/stylelint/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/stylelint/node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "node_modules/stylelint/node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "node_modules/stylelint/node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "node_modules/stylelint/node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/stylelint/node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "min-indent": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/stylelint/node_modules/trim-newlines": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz", + "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylelint/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/stylelint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/stylelint/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/supports-hyperlinks": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz", + "integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=14.18" } }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, - "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -13662,6 +16913,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "node_modules/symbol-observable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", @@ -13677,6 +16934,38 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dev": true, + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -13862,6 +17151,12 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -13876,6 +17171,18 @@ "node": ">=8" } }, + "node_modules/text-extensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -13888,22 +17195,43 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "dependencies": { - "os-tmpdir": "~1.0.2" + "rimraf": "^3.0.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=8.17.0" } }, "node_modules/to-fast-properties": { @@ -13981,18 +17309,113 @@ "tree-kill": "cli.js" } }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, "dependencies": { - "json5": "^2.2.2", + "@types/json5": "^0.0.29", + "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" }, - "engines": { - "node": ">=6" + "bin": { + "json5": "lib/cli.js" } }, "node_modules/tslib": { @@ -14194,12 +17617,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", - "dev": true - }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -14265,12 +17682,12 @@ } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/unpipe": { @@ -14282,6 +17699,15 @@ "node": ">= 0.8" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", @@ -14361,6 +17787,12 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -14764,6 +18196,28 @@ "ajv": "^6.9.1" } }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -14841,15 +18295,18 @@ } }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/which-boxed-primitive": { @@ -15009,6 +18466,31 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/ws": { "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", @@ -15084,13 +18566,36 @@ "node": ">=12" } }, + "node_modules/yargs/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "engines": { - "node": ">=12.20" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" diff --git a/package.json b/package.json index 848798a..04fca6f 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,18 @@ "version": "0.0.0", "scripts": { "ng": "ng", - "start": "ng serve", + "start": "ng serve -o", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test", - "lint": "ng lint" + "test:coverage": "ng test --no-watch --code-coverage", + "lint": "ng lint", + "lint:fix": "ng lint --fix", + "stylelint": "npx stylelint ./**/*.scss", + "stylelint:fix": "npx stylelint ./**/*.scss --fix", + "format": "prettier --check \"src/**/*.ts\"", + "format:fix": "prettier --write \"src/**/*.ts\"", + "prepare": "husky install" }, "private": true, "dependencies": { @@ -32,20 +39,37 @@ "@angular-eslint/template-parser": "16.2.0", "@angular/cli": "^16.2.7", "@angular/compiler-cli": "^16.2.0", + "@babel/plugin-proposal-decorators": "^7.23.2", + "@commitlint/cli": "^18.0.0", + "@commitlint/config-angular": "^18.0.0", "@types/jasmine": "~4.3.0", - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", + "angular-cli-ghpages": "^1.0.7", "eslint": "^8.49.0", + "eslint-import-resolver-typescript": "^3.6.1", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^17.1.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-angular": "^4.1.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-prettier": "^5.0.1", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-unused-imports": "^3.0.0", + "husky": "^8.0.3", "jasmine-core": "~4.6.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.1.3" + "prettier": "^3.0.3", + "stylelint": "^15.11.0", + "stylelint-config-clean-order": "^5.2.0", + "stylelint-config-scss": "^1.0.0-security", + "stylelint-config-standard": "^34.0.0", + "stylelint-config-standard-scss": "^11.0.0", + "stylelint-prettier": "^4.0.2", + "typescript": "^5.1.6" } } From 8d929a861ec84f0d076adb9005e3ceaeb69d17e7 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 22 Oct 2023 15:00:38 +0400 Subject: [PATCH 04/51] feat(project): configure commitlint --- commitlint.config.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 commitlint.config.js diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..e10496b --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,8 @@ +const Configuration = { + extends: ['@commitlint/config-angular'], + rules: { + 'header-max-length': [0, 'always', 72], + }, +} + +module.exports = Configuration From 845426e276bcf401a7779297db7629eff461a165 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 22 Oct 2023 15:01:17 +0400 Subject: [PATCH 05/51] feat(project): configure stylelint --- .stylelintignore | 11 +++++++++++ .stylelintrc.json | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .stylelintignore create mode 100644 .stylelintrc.json diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000..859ab0e --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,11 @@ +*.js +*.ts +*.html +*.md +*.svg +*.json +*.ico +node_modules +build +dist +documentation diff --git a/.stylelintrc.json b/.stylelintrc.json new file mode 100644 index 0000000..3584b6f --- /dev/null +++ b/.stylelintrc.json @@ -0,0 +1,20 @@ +{ + "overrides": [ + { + "files": ["**/*.css"], + "extends": ["stylelint-config-standard", "stylelint-config-clean-order"], + "rules": {} + }, + { + "files": ["**/*.scss"], + "extends": ["stylelint-config-standard", "stylelint-config-standard-scss", "stylelint-config-clean-order"], + "rules": { + "no-empty-source": null + } + } + ], + "rules": { + "prettier/prettier": true + }, + "plugins": ["stylelint-order", "stylelint-prettier"] +} From c47169aa2463d8a94f9d26d6ace957249494ea84 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 22 Oct 2023 15:01:48 +0400 Subject: [PATCH 06/51] feat(project): configure prettier --- .prettierignore | 7 +++++++ .prettierrc.json | 9 +++++++++ 2 files changed, 16 insertions(+) create mode 100644 .prettierignore create mode 100644 .prettierrc.json diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..a81a0ed --- /dev/null +++ b/.prettierignore @@ -0,0 +1,7 @@ +**/.git +**/.svn +**/.hg +**/dist +**/documentation +**/node_modules +**/.github diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..8e11082 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,9 @@ +{ + "singleQuote": true, + "tabWidth": 2, + "printWidth": 120, + "arrowParens": "avoid", + "semi": false, + "trailingComma": "all", + "endOfLine": "lf" +} From 79f3dbd3cdfac1303bbb887c137279bc3422c50f Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 22 Oct 2023 15:02:24 +0400 Subject: [PATCH 07/51] feat(project): configure husky --- .husky/commit-msg | 4 ++++ .husky/pre-commit | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 .husky/commit-msg create mode 100644 .husky/pre-commit diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100644 index 0000000..c160a77 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx --no -- commitlint --edit ${1} diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..7aff6a2 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,6 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run lint +npm run stylelint +npm run format From 3edc140af304c2c5fc6f739c585f101794c95d66 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 22 Oct 2023 15:02:58 +0400 Subject: [PATCH 08/51] feat(project): configure eslint --- .eslintignore | 11 ++ .eslintrc.json | 349 +++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 337 insertions(+), 23 deletions(-) create mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..a4a5536 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,11 @@ +*.js +*.md +dist +build +*.svg +*.html +*.scss +*.json +node_modules +documentation +src/env.d.ts diff --git a/.eslintrc.json b/.eslintrc.json index db226e9..76aab42 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,22 +1,35 @@ { "root": true, - "ignorePatterns": [ - "projects/**/*" - ], + "plugins": ["prettier"], + "extends": ["prettier"], "overrides": [ { - "files": [ - "*.ts" - ], + "files": ["*.spec.ts"], + "env": { "jest": true } + }, + { + "files": ["*.html"], + "extends": ["plugin:@angular-eslint/template/recommended"], + "rules": {} + }, + { + "files": ["*.ts"], + "parser": "@typescript-eslint/parser", "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", "plugin:@angular-eslint/recommended", - "plugin:@angular-eslint/template/process-inline-templates" + "plugin:@angular-eslint/template/process-inline-templates", + "airbnb-base", + "airbnb-typescript/base" ], + "parserOptions": { + "project": ["tsconfig.*?.json", "tsconfig.json"], + "emitDecoratorMetadata": true + }, "rules": { + "semi": 0, + "@typescript-eslint/semi": 0, "@angular-eslint/directive-selector": [ - "error", + 2, { "type": "attribute", "prefix": "app", @@ -24,24 +37,314 @@ } ], "@angular-eslint/component-selector": [ - "error", + 2, { "type": "element", "prefix": "app", "style": "kebab-case" } - ] + ], + "@typescript-eslint/await-thenable": 2, + "@typescript-eslint/naming-convention": [ + 2, + { + "selector": "default", + "format": ["strictCamelCase"], + "leadingUnderscore": "forbid", + "trailingUnderscore": "forbid" + }, + { + "selector": "variable", + "format": ["strictCamelCase", "UPPER_CASE"], + "modifiers": ["const"], + "types": ["boolean", "string", "number"], + "leadingUnderscore": "forbid", + "trailingUnderscore": "forbid" + }, + { + "selector": "variable", + "modifiers": ["destructured"], + "format": null + }, + { + "selector": "objectLiteralProperty", + "format": null, + "leadingUnderscore": "forbid", + "trailingUnderscore": "forbid" + }, + { + "selector": "parameter", + "format": ["strictCamelCase"], + "leadingUnderscore": "allow", + "trailingUnderscore": "forbid" + }, + { + "selector": "typeLike", + "format": ["PascalCase"], + "leadingUnderscore": "forbid", + "trailingUnderscore": "forbid" + } + ], + "no-shadow": 0, + "no-return-await": 0, + "no-use-before-define": 0, + "no-unused-expressions": 0, + "padding-line-between-statements": 0, + "radix": 2, + "curly": 2, + "eqeqeq": [2, "smart"], + "default-case": 2, + "default-case-last": 2, + "object-shorthand": 2, + "require-atomic-updates": 2, + "complexity": [2, 10], + "max-depth": [2, 4], + "max-statements": [2, 20], + "max-params": [2, 3], + "max-nested-callbacks": [2, 4], + "max-lines-per-function": [ + 2, + { + "max": 100, + "skipBlankLines": true, + "skipComments": true + } + ], + "id-match": 2, + "id-denylist": 2, + "no-void": [ + "error", + { + "allowAsStatement": true + } + ], + "no-eval": 2, + "no-alert": 2, + "no-proto": 2, + "no-labels": 2, + "no-plusplus": 2, + "no-lonely-if": 2, + "no-multi-str": 2, + "no-extra-bind": 2, + "no-new-object": 2, + "no-lone-blocks": 2, + "no-self-compare": 2, + "no-useless-call": 2, + "no-multi-assign": 2, + "no-new-wrappers": 2, + "no-octal-escape": 2, + "no-extend-native": 2, + "no-nested-ternary": 2, + "no-param-reassign": 2, + "no-unreachable-loop": 2, + "no-negated-condition": 2, + "no-implicit-coercion": 2, + "no-constructor-return": 2, + "newline-per-chained-call": 0, + "no-promise-executor-return": 2, + "no-unmodified-loop-condition": 2, + "no-constant-binary-expression": 2, + "prefer-template": 2, + "prefer-object-spread": 2, + "prefer-object-has-own": 2, + "prefer-numeric-literals": 2, + "prefer-exponentiation-operator": 2, + "no-return-assign": [2, "always"], + "no-console": [ + 1, + { + "allow": ["warn", "error", "debug"] + } + ], + "no-sequences": [ + 2, + { + "allowInParentheses": false + } + ], + "no-else-return": [ + 2, + { + "allowElseIf": false + } + ], + "no-unneeded-ternary": [ + 2, + { + "defaultAssignment": false + } + ], + "no-restricted-syntax": [ + 2, + { + "selector": "LabeledStatement", + "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand." + }, + { + "selector": "WithStatement", + "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize." + } + ], + "prefer-destructuring": [ + 2, + { + "array": false, + "object": true + }, + { + "enforceForRenamedProperties": false + } + ], + "@typescript-eslint/quotes": 0, + "function-paren-newline": 0, + "implicit-arrow-linebreak": 0, + "arrow-parens": 0, + "import/named": 0, + "import/default": 0, + "import/namespace": 0, + "import/prefer-default-export": 0, + "import/no-named-as-default-member": 0, + "import/no-cycle": 2, + "import/first": 2, + "import/no-namespace": 0, + "import/no-unresolved": 2, + "import/no-empty-named-blocks": 2, + "import/no-useless-path-segments": [ + 2, + { + "noUselessIndex": true + } + ], + "import/no-duplicates": [ + 2, + { + "prefer-inline": true, + "considerQueryString": true + } + ], + "import/no-extraneous-dependencies": [ + 2, + { + "devDependencies": true + } + ], + "@typescript-eslint/no-explicit-any": 2, + "@typescript-eslint/triple-slash-reference": [ + "error", + { + "lib": "never", + "path": "never", + "types": "never" + } + ], + "@typescript-eslint/prefer-includes": 2, + "@typescript-eslint/no-non-null-assertion": 2, + "@typescript-eslint/dot-notation": [2, { "allowIndexSignaturePropertyAccess": true }], + "@typescript-eslint/no-throw-literal": 2, + "@typescript-eslint/no-base-to-string": 2, + "@typescript-eslint/no-dynamic-delete": 2, + "@typescript-eslint/unified-signatures": 2, + "@typescript-eslint/ban-tslint-comment": 2, + "@typescript-eslint/no-invalid-void-type": 2, + "@typescript-eslint/prefer-function-type": 2, + "@typescript-eslint/prefer-optional-chain": 2, + "@typescript-eslint/prefer-ts-expect-error": 2, + "@typescript-eslint/no-unnecessary-condition": 0, + "@typescript-eslint/consistent-type-definitions": 2, + "@typescript-eslint/prefer-reduce-type-parameter": 2, + "@typescript-eslint/consistent-indexed-object-style": 2, + "@typescript-eslint/consistent-generic-constructors": 2, + "@typescript-eslint/no-unnecessary-boolean-literal-compare": 2, + "@typescript-eslint/array-type": [ + 2, + { + "default": "array-simple" + } + ], + "@typescript-eslint/consistent-type-assertions": [ + 2, + { + "assertionStyle": "as", + "objectLiteralTypeAssertions": "never" + } + ], + "@typescript-eslint/prefer-nullish-coalescing": 0, + "@typescript-eslint/no-redeclare": 2, + "@typescript-eslint/method-signature-style": 2, + "@typescript-eslint/switch-exhaustiveness-check": 2, + "@typescript-eslint/no-confusing-void-expression": 2, + "@typescript-eslint/no-redundant-type-constituents": 2, + "@typescript-eslint/explicit-module-boundary-types": 2, + "@typescript-eslint/consistent-type-imports": 2, + "@typescript-eslint/consistent-type-exports": [ + 2, + { + "fixMixedExportsWithInlineTypeSpecifier": true + } + ], + "@typescript-eslint/strict-boolean-expressions": 0, + "@typescript-eslint/require-array-sort-compare": [ + 2, + { + "ignoreStringArrays": true + } + ], + "@typescript-eslint/explicit-function-return-type": [ + 2, + { + "allowExpressions": true + } + ], + "@typescript-eslint/no-shadow": [ + 2, + { + "hoist": "all", + "allow": ["resolve", "reject", "done", "next", "err", "error"], + "ignoreTypeValueShadow": true, + "ignoreFunctionTypeParameterNameValueShadow": true + } + ], + "@typescript-eslint/return-await": [2, "in-try-catch"], + "@typescript-eslint/no-use-before-define": [ + 2, + { + "ignoreTypeReferences": true + } + ], + "@typescript-eslint/no-unused-expressions": [ + 2, + { + "allowShortCircuit": true, + "allowTernary": true, + "allowTaggedTemplates": true, + "enforceForJSX": true + } + ], + "@typescript-eslint/padding-line-between-statements": [ + 2, + { + "blankLine": "always", + "prev": ["case", "default", "block", "block-like", "multiline-block-like", "interface", "type", "export"], + "next": "*" + }, + { + "blankLine": "any", + "prev": ["const", "let"], + "next": ["const", "let"] + }, + { + "blankLine": "always", + "prev": "*", + "next": ["switch", "while", "try", "return", "if", "interface", "type", "function"] + } + ], + "@typescript-eslint/no-extraneous-class": 0 } - }, - { - "files": [ - "*.html" - ], - "extends": [ - "plugin:@angular-eslint/template/recommended", - "plugin:@angular-eslint/template/accessibility" - ], - "rules": {} } - ] + ], + "settings": { + "import/parsers": { + "@typescript-eslint/parser": [".ts"] + } + } } From 228b81cf4d0cd4f3b722cdd25e8c255376fd8a17 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 23 Oct 2023 17:35:09 +0400 Subject: [PATCH 09/51] refactor(app): applied prettier formatting to app --- src/app/app.component.html | 482 ---------------------------------- src/app/app.component.spec.ts | 46 ++-- src/app/app.component.ts | 6 +- src/app/app.module.ts | 24 +- 4 files changed, 36 insertions(+), 522 deletions(-) diff --git a/src/app/app.component.html b/src/app/app.component.html index 67bad6d..0680b43 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,483 +1 @@ - - - - - - - - - - - - - - -
- - -
- - - Rocket Ship - - - - - - - - - - {{ title }} app is running! - - - Rocket Ship Smoke - - - -
- - -

Resources

-

Here are some links to help you get started:

- - - - -

Next Steps

-

What do you want to do next with your app?

- - - -
- - - - - - - - - - - -
- - -
-
ng generate component xyz
-
ng add @angular/material
-
ng add @angular/pwa
-
ng add _____
-
ng test
-
ng build
-
- - - - - - - - - Gray Clouds Background - - - -
- - - - - - - - - diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 6d255e2..794ad8e 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,29 +1,31 @@ -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { AppComponent } from './app.component'; +import { TestBed } from '@angular/core/testing' +import { RouterTestingModule } from '@angular/router/testing' +import { AppComponent } from './app.component' describe('AppComponent', () => { - beforeEach(() => TestBed.configureTestingModule({ - imports: [RouterTestingModule], - declarations: [AppComponent] - })); + beforeEach(() => + TestBed.configureTestingModule({ + imports: [RouterTestingModule], + declarations: [AppComponent], + }), + ) it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); + const fixture = TestBed.createComponent(AppComponent) + const app = fixture.componentInstance + expect(app).toBeTruthy() + }) - it(`should have as title 'intro'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('intro'); - }); + it("should have as title 'intro'", () => { + const fixture = TestBed.createComponent(AppComponent) + const app = fixture.componentInstance + expect(app.title).toEqual('intro') + }) it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('.content span')?.textContent).toContain('intro app is running!'); - }); -}); + const fixture = TestBed.createComponent(AppComponent) + fixture.detectChanges() + const compiled = fixture.nativeElement as HTMLElement + expect(compiled.querySelector('.content span')?.textContent).toContain('intro app is running!') + }) +}) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 3f34b30..7b144e2 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,10 +1,10 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' @Component({ selector: 'app-root', templateUrl: './app.component.html', - styleUrls: ['./app.component.scss'] + styleUrls: ['./app.component.scss'], }) export class AppComponent { - title = 'intro'; + title = 'intro' } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 31ac3d7..52fb44b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,20 +1,14 @@ -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core' +import { BrowserModule } from '@angular/platform-browser' -import { AppRoutingModule } from './app-routing.module'; -import { AppComponent } from './app.component'; -import { HeaderComponent } from './header/header.component'; +import { AppRoutingModule } from './app-routing.module' +import { AppComponent } from './app.component' +import { MainPageModule } from './main-page/main-page.module' @NgModule({ - declarations: [ - AppComponent, - HeaderComponent - ], - imports: [ - BrowserModule, - AppRoutingModule - ], + declarations: [AppComponent], + imports: [BrowserModule, AppRoutingModule, MainPageModule], providers: [], - bootstrap: [AppComponent] + bootstrap: [AppComponent], }) -export class AppModule { } +export class AppModule {} From 9a3b8c3e038435adcdd68080988641dd7101cc73 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 23 Oct 2023 17:37:10 +0400 Subject: [PATCH 10/51] feat(app): created primary project components with interface --- src/app/app-routing.module.ts | 10 ++-- .../components}/header/header.component.html | 0 .../components}/header/header.component.scss | 0 .../header/header.component.spec.ts | 21 ++++++++ .../components/header/header.component.ts | 11 ++++ .../not-found/not-found.component.html | 1 + .../not-found/not-found.component.scss | 0 .../not-found/not-found.component.spec.ts | 21 ++++++++ .../not-found/not-found.component.ts | 11 ++++ src/app/core/core.module.ts | 8 +++ src/app/header/header.component.spec.ts | 21 -------- src/app/header/header.component.ts | 10 ---- src/app/main-page/card/card.component.html | 1 + src/app/main-page/card/card.component.scss | 0 src/app/main-page/card/card.component.spec.ts | 21 ++++++++ src/app/main-page/card/card.component.ts | 8 +++ .../cards-container.component.html | 1 + .../cards-container.component.scss | 0 .../cards-container.component.spec.ts | 21 ++++++++ .../cards-container.component.ts | 8 +++ src/app/main-page/main-page.component.html | 2 + src/app/main-page/main-page.component.scss | 0 src/app/main-page/main-page.component.spec.ts | 21 ++++++++ src/app/main-page/main-page.component.ts | 8 +++ src/app/main-page/main-page.module.ts | 11 ++++ .../main-page/models/responce.interface.ts | 52 +++++++++++++++++++ src/main.ts | 12 +++-- src/styles.scss | 1 - 28 files changed, 239 insertions(+), 42 deletions(-) rename src/app/{ => core/components}/header/header.component.html (100%) rename src/app/{ => core/components}/header/header.component.scss (100%) create mode 100644 src/app/core/components/header/header.component.spec.ts create mode 100644 src/app/core/components/header/header.component.ts create mode 100644 src/app/core/components/not-found/not-found.component.html create mode 100644 src/app/core/components/not-found/not-found.component.scss create mode 100644 src/app/core/components/not-found/not-found.component.spec.ts create mode 100644 src/app/core/components/not-found/not-found.component.ts create mode 100644 src/app/core/core.module.ts delete mode 100644 src/app/header/header.component.spec.ts delete mode 100644 src/app/header/header.component.ts create mode 100644 src/app/main-page/card/card.component.html create mode 100644 src/app/main-page/card/card.component.scss create mode 100644 src/app/main-page/card/card.component.spec.ts create mode 100644 src/app/main-page/card/card.component.ts create mode 100644 src/app/main-page/cards-container/cards-container.component.html create mode 100644 src/app/main-page/cards-container/cards-container.component.scss create mode 100644 src/app/main-page/cards-container/cards-container.component.spec.ts create mode 100644 src/app/main-page/cards-container/cards-container.component.ts create mode 100644 src/app/main-page/main-page.component.html create mode 100644 src/app/main-page/main-page.component.scss create mode 100644 src/app/main-page/main-page.component.spec.ts create mode 100644 src/app/main-page/main-page.component.ts create mode 100644 src/app/main-page/main-page.module.ts create mode 100644 src/app/main-page/models/responce.interface.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 0297262..3ae3461 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,10 +1,10 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; +import { NgModule } from '@angular/core' +import { RouterModule, type Routes } from '@angular/router' -const routes: Routes = []; +const routes: Routes = [] @NgModule({ imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] + exports: [RouterModule], }) -export class AppRoutingModule { } +export class AppRoutingModule {} diff --git a/src/app/header/header.component.html b/src/app/core/components/header/header.component.html similarity index 100% rename from src/app/header/header.component.html rename to src/app/core/components/header/header.component.html diff --git a/src/app/header/header.component.scss b/src/app/core/components/header/header.component.scss similarity index 100% rename from src/app/header/header.component.scss rename to src/app/core/components/header/header.component.scss diff --git a/src/app/core/components/header/header.component.spec.ts b/src/app/core/components/header/header.component.spec.ts new file mode 100644 index 0000000..1b31dc1 --- /dev/null +++ b/src/app/core/components/header/header.component.spec.ts @@ -0,0 +1,21 @@ +import { type ComponentFixture, TestBed } from '@angular/core/testing' + +import { HeaderComponent } from './header.component' + +describe('HeaderComponent', () => { + let component: HeaderComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [HeaderComponent], + }) + fixture = TestBed.createComponent(HeaderComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/core/components/header/header.component.ts b/src/app/core/components/header/header.component.ts new file mode 100644 index 0000000..fed5b43 --- /dev/null +++ b/src/app/core/components/header/header.component.ts @@ -0,0 +1,11 @@ +import { CommonModule } from '@angular/common' +import { Component } from '@angular/core' + +@Component({ + selector: 'app-header', + imports: [CommonModule], + templateUrl: './header.component.html', + styleUrls: ['./header.component.scss'], + standalone: true, +}) +export class HeaderComponent {} diff --git a/src/app/core/components/not-found/not-found.component.html b/src/app/core/components/not-found/not-found.component.html new file mode 100644 index 0000000..8071020 --- /dev/null +++ b/src/app/core/components/not-found/not-found.component.html @@ -0,0 +1 @@ +

not-found works!

diff --git a/src/app/core/components/not-found/not-found.component.scss b/src/app/core/components/not-found/not-found.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/core/components/not-found/not-found.component.spec.ts b/src/app/core/components/not-found/not-found.component.spec.ts new file mode 100644 index 0000000..8ad8dc1 --- /dev/null +++ b/src/app/core/components/not-found/not-found.component.spec.ts @@ -0,0 +1,21 @@ +import { type ComponentFixture, TestBed } from '@angular/core/testing' + +import { NotFoundComponent } from './not-found.component' + +describe('NotFoundComponent', () => { + let component: NotFoundComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [NotFoundComponent], + }) + fixture = TestBed.createComponent(NotFoundComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/core/components/not-found/not-found.component.ts b/src/app/core/components/not-found/not-found.component.ts new file mode 100644 index 0000000..7b23234 --- /dev/null +++ b/src/app/core/components/not-found/not-found.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core' +import { CommonModule } from '@angular/common' + +@Component({ + selector: 'app-not-found', + standalone: true, + imports: [CommonModule], + templateUrl: './not-found.component.html', + styleUrls: ['./not-found.component.scss'], +}) +export class NotFoundComponent {} diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts new file mode 100644 index 0000000..57d17d7 --- /dev/null +++ b/src/app/core/core.module.ts @@ -0,0 +1,8 @@ +import { NgModule } from '@angular/core' +import { CommonModule } from '@angular/common' + +@NgModule({ + declarations: [], + imports: [CommonModule], +}) +export class CoreModule {} diff --git a/src/app/header/header.component.spec.ts b/src/app/header/header.component.spec.ts deleted file mode 100644 index f8d8ed5..0000000 --- a/src/app/header/header.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { HeaderComponent } from './header.component'; - -describe('HeaderComponent', () => { - let component: HeaderComponent; - let fixture: ComponentFixture; - - beforeEach(() => { - TestBed.configureTestingModule({ - declarations: [HeaderComponent] - }); - fixture = TestBed.createComponent(HeaderComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/header/header.component.ts b/src/app/header/header.component.ts deleted file mode 100644 index 913b282..0000000 --- a/src/app/header/header.component.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-header', - templateUrl: './header.component.html', - styleUrls: ['./header.component.scss'] -}) -export class HeaderComponent { - -} diff --git a/src/app/main-page/card/card.component.html b/src/app/main-page/card/card.component.html new file mode 100644 index 0000000..f2fda25 --- /dev/null +++ b/src/app/main-page/card/card.component.html @@ -0,0 +1 @@ +

card works!

diff --git a/src/app/main-page/card/card.component.scss b/src/app/main-page/card/card.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/main-page/card/card.component.spec.ts b/src/app/main-page/card/card.component.spec.ts new file mode 100644 index 0000000..25e0f14 --- /dev/null +++ b/src/app/main-page/card/card.component.spec.ts @@ -0,0 +1,21 @@ +import { TestBed, type ComponentFixture } from '@angular/core/testing' + +import { CardComponent } from './card.component' + +describe('CardComponent', () => { + let component: CardComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [CardComponent], + }) + fixture = TestBed.createComponent(CardComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/main-page/card/card.component.ts b/src/app/main-page/card/card.component.ts new file mode 100644 index 0000000..4586940 --- /dev/null +++ b/src/app/main-page/card/card.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core' + +@Component({ + selector: 'app-card', + templateUrl: './card.component.html', + styleUrls: ['./card.component.scss'], +}) +export class CardComponent {} diff --git a/src/app/main-page/cards-container/cards-container.component.html b/src/app/main-page/cards-container/cards-container.component.html new file mode 100644 index 0000000..7f60119 --- /dev/null +++ b/src/app/main-page/cards-container/cards-container.component.html @@ -0,0 +1 @@ +

cards-container works!

diff --git a/src/app/main-page/cards-container/cards-container.component.scss b/src/app/main-page/cards-container/cards-container.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/main-page/cards-container/cards-container.component.spec.ts b/src/app/main-page/cards-container/cards-container.component.spec.ts new file mode 100644 index 0000000..90a8185 --- /dev/null +++ b/src/app/main-page/cards-container/cards-container.component.spec.ts @@ -0,0 +1,21 @@ +import { TestBed, type ComponentFixture } from '@angular/core/testing' + +import { CardsContainerComponent } from './cards-container.component' + +describe('CardsContainerComponent', () => { + let component: CardsContainerComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [CardsContainerComponent], + }) + fixture = TestBed.createComponent(CardsContainerComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/main-page/cards-container/cards-container.component.ts b/src/app/main-page/cards-container/cards-container.component.ts new file mode 100644 index 0000000..9a3aa4c --- /dev/null +++ b/src/app/main-page/cards-container/cards-container.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core' + +@Component({ + selector: 'app-cards-container', + templateUrl: './cards-container.component.html', + styleUrls: ['./cards-container.component.scss'], +}) +export class CardsContainerComponent {} diff --git a/src/app/main-page/main-page.component.html b/src/app/main-page/main-page.component.html new file mode 100644 index 0000000..f0d4ae9 --- /dev/null +++ b/src/app/main-page/main-page.component.html @@ -0,0 +1,2 @@ + +

main-page works!

diff --git a/src/app/main-page/main-page.component.scss b/src/app/main-page/main-page.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/main-page/main-page.component.spec.ts b/src/app/main-page/main-page.component.spec.ts new file mode 100644 index 0000000..117ac54 --- /dev/null +++ b/src/app/main-page/main-page.component.spec.ts @@ -0,0 +1,21 @@ +import { type ComponentFixture, TestBed } from '@angular/core/testing' + +import { MainPageComponent } from './main-page.component' + +describe('MainPageComponent', () => { + let component: MainPageComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [MainPageComponent], + }) + fixture = TestBed.createComponent(MainPageComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/main-page/main-page.component.ts b/src/app/main-page/main-page.component.ts new file mode 100644 index 0000000..146e706 --- /dev/null +++ b/src/app/main-page/main-page.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core' + +@Component({ + selector: 'app-main-page', + templateUrl: './main-page.component.html', + styleUrls: ['./main-page.component.scss'], +}) +export class MainPageComponent {} diff --git a/src/app/main-page/main-page.module.ts b/src/app/main-page/main-page.module.ts new file mode 100644 index 0000000..6bb8797 --- /dev/null +++ b/src/app/main-page/main-page.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core' +import { CommonModule } from '@angular/common' +import { HeaderComponent } from '../core/components/header/header.component' +import { MainPageComponent } from './main-page.component' + +@NgModule({ + declarations: [MainPageComponent], + imports: [CommonModule, HeaderComponent], + exports: [HeaderComponent], +}) +export class MainPageModule {} diff --git a/src/app/main-page/models/responce.interface.ts b/src/app/main-page/models/responce.interface.ts new file mode 100644 index 0000000..297c537 --- /dev/null +++ b/src/app/main-page/models/responce.interface.ts @@ -0,0 +1,52 @@ +export interface VideoResponse { + // eslint-disable-next-line @typescript-eslint/naming-convention + TODO: string + kind: string + etag: string + pageInfo: { + totalResults: number + resultsPerPage: number + } + items: Video[] +} + +interface Video { + kind: string + etag: string + id: string + snippet: { + publishedAt: string + channelId: string + title: string + description: string + thumbnails: { + default: Thumbnail + medium: Thumbnail + high: Thumbnail + standard: Thumbnail + maxres: Thumbnail + } + channelTitle: string + tags: string[] + categoryId: string + liveBroadcastContent: string + localized: { + title: string + description: string + } + defaultAudioLanguage: string + } + statistics: { + viewCount: string + likeCount: string + dislikeCount: string + favoriteCount: string + commentCount: string + } +} + +interface Thumbnail { + url: string + width: number + height: number +} diff --git a/src/main.ts b/src/main.ts index c58dc05..4182bb1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,7 +1,9 @@ -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' -import { AppModule } from './app/app.module'; +import { AppModule } from './app/app.module' - -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); +platformBrowserDynamic() + .bootstrapModule(AppModule) + .catch(err => { + console.error(err) + }) diff --git a/src/styles.scss b/src/styles.scss index 90d4ee0..e69de29 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ From 60022d3447392055def58a0e65272b5cf41617f4 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 23 Oct 2023 17:37:57 +0400 Subject: [PATCH 11/51] feat(app): configure routing for project --- src/app/app-routing.module.ts | 18 ++++++++++++++++-- .../cards-container.component.html | 1 + src/app/main-page/main-page.component.html | 1 + src/app/main-page/main-page.module.ts | 4 +++- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 3ae3461..978f8d4 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,10 +1,24 @@ import { NgModule } from '@angular/core' import { RouterModule, type Routes } from '@angular/router' +import { MainPageComponent } from './main-page/main-page.component' -const routes: Routes = [] +const routes: Routes = [ + { path: '', pathMatch: 'full', redirectTo: 'main' }, + { + path: 'main', + title: 'Main', + component: MainPageComponent, + }, + { + path: '**', + title: '404 - Not found', + loadComponent: () => + import('./core/components/not-found/not-found.component').then(component => component.NotFoundComponent), + }, +] @NgModule({ - imports: [RouterModule.forRoot(routes)], + imports: [RouterModule.forRoot(routes, { useHash: true })], exports: [RouterModule], }) export class AppRoutingModule {} diff --git a/src/app/main-page/cards-container/cards-container.component.html b/src/app/main-page/cards-container/cards-container.component.html index 7f60119..62d6a25 100644 --- a/src/app/main-page/cards-container/cards-container.component.html +++ b/src/app/main-page/cards-container/cards-container.component.html @@ -1 +1,2 @@

cards-container works!

+ diff --git a/src/app/main-page/main-page.component.html b/src/app/main-page/main-page.component.html index f0d4ae9..d0ee048 100644 --- a/src/app/main-page/main-page.component.html +++ b/src/app/main-page/main-page.component.html @@ -1,2 +1,3 @@

main-page works!

+ diff --git a/src/app/main-page/main-page.module.ts b/src/app/main-page/main-page.module.ts index 6bb8797..f98f008 100644 --- a/src/app/main-page/main-page.module.ts +++ b/src/app/main-page/main-page.module.ts @@ -2,9 +2,11 @@ import { NgModule } from '@angular/core' import { CommonModule } from '@angular/common' import { HeaderComponent } from '../core/components/header/header.component' import { MainPageComponent } from './main-page.component' +import { CardComponent } from './card/card.component' +import { CardsContainerComponent } from './cards-container/cards-container.component' @NgModule({ - declarations: [MainPageComponent], + declarations: [MainPageComponent, CardComponent, CardsContainerComponent], imports: [CommonModule, HeaderComponent], exports: [HeaderComponent], }) From 594754d8d2a73a52016a7f5798152903f66f09e0 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 30 Oct 2023 04:57:06 +0400 Subject: [PATCH 12/51] refactor(project): change rules for eslint, tsconfig and prettier --- .eslintrc.json | 20 ++++++++++++-------- .prettierrc.json | 2 +- tsconfig.json | 2 ++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 76aab42..41d55b6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -237,6 +237,8 @@ "types": "never" } ], + "object-curly-newline": 0, + "lines-between-class-members": 0, "@typescript-eslint/prefer-includes": 2, "@typescript-eslint/no-non-null-assertion": 2, "@typescript-eslint/dot-notation": [2, { "allowIndexSignaturePropertyAccess": true }], @@ -274,7 +276,6 @@ "@typescript-eslint/switch-exhaustiveness-check": 2, "@typescript-eslint/no-confusing-void-expression": 2, "@typescript-eslint/no-redundant-type-constituents": 2, - "@typescript-eslint/explicit-module-boundary-types": 2, "@typescript-eslint/consistent-type-imports": 2, "@typescript-eslint/consistent-type-exports": [ 2, @@ -289,12 +290,6 @@ "ignoreStringArrays": true } ], - "@typescript-eslint/explicit-function-return-type": [ - 2, - { - "allowExpressions": true - } - ], "@typescript-eslint/no-shadow": [ 2, { @@ -324,7 +319,16 @@ 2, { "blankLine": "always", - "prev": ["case", "default", "block", "block-like", "multiline-block-like", "interface", "type", "export"], + "prev": [ + "case", + "default", + "block", + "block-like", + "multiline-block-like", + "interface", + "type", + "export" + ], "next": "*" }, { diff --git a/.prettierrc.json b/.prettierrc.json index 8e11082..cc78b2a 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,7 +1,7 @@ { "singleQuote": true, "tabWidth": 2, - "printWidth": 120, + "printWidth": 100, "arrowParens": "avoid", "semi": false, "trailingComma": "all", diff --git a/tsconfig.json b/tsconfig.json index c309e4e..e51ad2e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,6 +14,8 @@ "experimentalDecorators": true, "moduleResolution": "node", "importHelpers": true, + "resolveJsonModule": true, + "esModuleInterop": true, "target": "ES2022", "module": "ES2022", "useDefineForClassFields": false, From 16d885deb3d38a0286a262970c62b87c35f45da5 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 30 Oct 2023 04:58:05 +0400 Subject: [PATCH 13/51] feat(project): add taiga ui package --- angular.json | 18 +- package-lock.json | 728 +++++++++++++++++++++++++++++++++++++++++----- package.json | 20 +- 3 files changed, 689 insertions(+), 77 deletions(-) diff --git a/angular.json b/angular.json index 70bcb2c..ba4ac52 100644 --- a/angular.json +++ b/angular.json @@ -23,8 +23,22 @@ "polyfills": ["zone.js"], "tsConfig": "tsconfig.app.json", "inlineStyleLanguage": "scss", - "assets": ["src/favicon.ico", "src/assets"], - "styles": ["src/styles.scss"], + "assets": [ + "src/favicon.ico", + "src/assets", + "src/assets/images", + { + "glob": "**/*", + "input": "node_modules/@taiga-ui/icons/src", + "output": "assets/taiga-ui/icons" + } + ], + "styles": [ + "node_modules/@taiga-ui/core/styles/taiga-ui-theme.less", + "node_modules/@taiga-ui/core/styles/taiga-ui-fonts.less", + "node_modules/@taiga-ui/styles/taiga-ui-global.less", + "src/styles.scss" + ], "scripts": [] }, "configurations": { diff --git a/package-lock.json b/package-lock.json index 30647b3..93802e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@angular/animations": "^16.2.0", + "@angular/cdk": "^16.0.0", "@angular/common": "^16.2.0", "@angular/compiler": "^16.2.0", "@angular/core": "^16.2.0", @@ -16,6 +17,22 @@ "@angular/platform-browser": "^16.2.0", "@angular/platform-browser-dynamic": "^16.2.0", "@angular/router": "^16.2.0", + "@taiga-ui/addon-charts": "^3.51.0", + "@taiga-ui/addon-commerce": "^3.51.0", + "@taiga-ui/addon-mobile": "^3.51.0", + "@taiga-ui/addon-preview": "^3.51.0", + "@taiga-ui/addon-table": "^3.51.0", + "@taiga-ui/addon-tablebars": "^3.51.0", + "@taiga-ui/cdk": "^3.51.0", + "@taiga-ui/core": "^3.51.0", + "@taiga-ui/experimental": "^3.51.0", + "@taiga-ui/icons": "^3.51.0", + "@taiga-ui/kit": "^3.51.0", + "@taiga-ui/layout": "^3.51.0", + "@taiga-ui/styles": "^3.51.0", + "@tinkoff/ng-dompurify": "3.0.0", + "@tinkoff/ng-polymorpheus": "^4.2.0", + "dompurify": "2.2.9", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.13.0" @@ -32,6 +49,7 @@ "@babel/plugin-proposal-decorators": "^7.23.2", "@commitlint/cli": "^18.0.0", "@commitlint/config-angular": "^18.0.0", + "@types/dompurify": "2.2.3", "@types/jasmine": "~4.3.0", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", @@ -325,7 +343,7 @@ "version": "16.2.7", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.2.7.tgz", "integrity": "sha512-XskObYrg7NRdEuHnSVZOM7OeinEL8HzugjmKnawAa+dAbFCCoGsVWjMliA/Q8sb1yfGkyL0WW7DZABZj7EGwWA==", - "dev": true, + "devOptional": true, "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -352,7 +370,7 @@ "version": "16.2.7", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.2.7.tgz", "integrity": "sha512-zu3xHwA4w+kXHkyyjGl3i7uSU2/kKLPKuyyixw0WLcKUQCYd7TWmu8OC0qCDa42XkxP9gGL091dJFu56exgneA==", - "dev": true, + "devOptional": true, "dependencies": { "@angular-devkit/core": "16.2.7", "jsonc-parser": "3.2.0", @@ -478,6 +496,34 @@ "@angular/core": "16.2.10" } }, + "node_modules/@angular/cdk": { + "version": "16.2.10", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.2.10.tgz", + "integrity": "sha512-kOQrPxSMPi66aM9XfwZIjQXhH+q0PkhK4BNMHB9RkvaaQ34ovOrKaGsT7t0+sjlVhiwTiy2mB1Qgz6NlIB0ZZw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cdk/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/@angular/cli": { "version": "16.2.7", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.7.tgz", @@ -3928,7 +3974,7 @@ "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "devOptional": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.20", @@ -3946,11 +3992,89 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "node_modules/@maskito/angular": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@maskito/angular/-/angular-1.8.1.tgz", + "integrity": "sha512-iT9/YK+lTRd8ofU1Qd2pJHofshi/QnSGXS9MBIjt8Mk034pLCYutB5ua+2kiZYMdPk7kyuaSXYZOSL/Pt5cBuA==", + "dependencies": { + "tslib": "2.6.2" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@angular/forms": ">=12.0.0", + "@maskito/core": "^1.8.1", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@maskito/core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@maskito/core/-/core-1.8.1.tgz", + "integrity": "sha512-h9+Z91WASHQ6z6kDP7uIHyMUPxNwA1mOIPsFxdg2MHq1RASFUNKHj66uU5xuR0OJu17qcCCzUu7ixZ43QQ/HYg==" + }, + "node_modules/@maskito/kit": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@maskito/kit/-/kit-1.8.1.tgz", + "integrity": "sha512-eevH2iyqRjxw8kzt7gmLETrlkPTj4Mq1mbIOOD2VQ+O33ocNFl1a87s02mRQGk6UmSJBmHLT/2EaVfUEswBmWA==", + "peerDependencies": { + "@maskito/core": "^1.8.1" + } + }, + "node_modules/@ng-web-apis/common": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@ng-web-apis/common/-/common-3.0.3.tgz", + "integrity": "sha512-CJm/NYQ4JrN0qNVbPcKeRnZ5nL0zL6RrJrNwBW/LnZEGp9t0mxgLYKw52fM4xRm0OVXOXoRwCbjr8gSUD6vstQ==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "rxjs": ">=6.4.0" + } + }, + "node_modules/@ng-web-apis/intersection-observer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-3.1.5.tgz", + "integrity": "sha512-+79rkKa7Ce1h6qcnDxvNITIjMjnVSaHZ1TlR5y57cOWhh2kyX5bBwgBx+lTa702o27oO3HOYrS3YnJidDiiPsQ==", + "peer": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=2.0.0" + } + }, + "node_modules/@ng-web-apis/mutation-observer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@ng-web-apis/mutation-observer/-/mutation-observer-3.0.3.tgz", + "integrity": "sha512-gl2OGn7+N8w0VuBLzGP5Ypw2nMqbnV3TgNdnQSyCC5I7+3Rz/Q3OzQqciTNUPAqd5HWWwW/IKFPvgI6ePYWXog==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=2.0.0" + } + }, + "node_modules/@ng-web-apis/resize-observer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@ng-web-apis/resize-observer/-/resize-observer-3.0.3.tgz", + "integrity": "sha512-2EVqcl/HTzObQmIgtXEs2KHrPUXC8r6ePPfbAAUbuVdlDAZm6vKsXYHvH+Zkm/JKNp1MZJb/3kb6UkkZtf8ewA==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=2.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "devOptional": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3963,7 +4087,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 8" } @@ -3972,7 +4096,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, + "devOptional": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -4498,6 +4622,316 @@ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, + "node_modules/@taiga-ui/addon-charts": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/addon-charts/-/addon-charts-3.51.0.tgz", + "integrity": "sha512-uGTcVMC8uHpZYYNw1GkNy6rOGBzu+HycKWR9sGyUVr3l1EUHda1LF+orbzYUzgrZTKahEhmLkBH5GStE8PoFMQ==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=3.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0" + } + }, + "node_modules/@taiga-ui/addon-commerce": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/addon-commerce/-/addon-commerce-3.51.0.tgz", + "integrity": "sha512-rqELWv2TdlPlIfU4ctb8PXMZbzIphuD11RwcdLkOfCZzwSn/Qoim6Ajc4Nb+YaZc9581cHNqEKkFYdSqbD+Eog==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@angular/forms": ">=12.0.0", + "@maskito/angular": ">=1.3.0", + "@maskito/core": ">=1.3.0", + "@maskito/kit": ">=1.3.0", + "@ng-web-apis/common": ">=3.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@taiga-ui/i18n": ">=3.51.0", + "@taiga-ui/kit": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/addon-mobile": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/addon-mobile/-/addon-mobile-3.51.0.tgz", + "integrity": "sha512-/2tLOtUvWg7NJcVulTBmw94DrkSI1CiZjnZlHgvEqbSYbu3ZPjU0jat0zF5epdc+3v3l9+joTLcJ/qO2D89pJA==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/cdk": ">=12.0.0", + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=3.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@taiga-ui/kit": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/addon-preview": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/addon-preview/-/addon-preview-3.51.0.tgz", + "integrity": "sha512-QBMAgHOh/5tDWQev2o6s9s6IjgKx24scRRgRGEFJcL/6U8kK4iWTynagN15edn3ZM0eO2j5dKVf9Dt92LKXb7w==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@ng-web-apis/mutation-observer": ">=3.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@taiga-ui/i18n": ">=3.51.0", + "@taiga-ui/kit": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/addon-table": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/addon-table/-/addon-table-3.51.0.tgz", + "integrity": "sha512-dhZ1Se4ZIsnUnFosUzeTFGyvnFTMOCokDVuSE+8boUjz9DgXD9aKwoIK4+fWGw8gpxWAG58GObsWVUDIWBHfiw==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@ng-web-apis/intersection-observer": ">=3.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@taiga-ui/i18n": ">=3.51.0", + "@taiga-ui/kit": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/addon-tablebars": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/addon-tablebars/-/addon-tablebars-3.51.0.tgz", + "integrity": "sha512-XGhJnj7ahtXNyFpLWXhlpb/Bdxt5nRZ+qEjTq8A6bVXhItUVlZkIYDq3hM2n4dvj6e+bW2FubrLySBXa0vHeWA==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/cdk": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/cdk/-/cdk-3.51.0.tgz", + "integrity": "sha512-Tcy5d+hzkqiufdvwieI2dP4Ex4kKJd/x7XME0kRZbLkVQDyEpRThd7CfUPWJV68dS3ZfaDxr8e/rJuVyJ5NXWw==", + "dependencies": { + "@ng-web-apis/common": "3.0.3", + "@ng-web-apis/mutation-observer": "3.0.3", + "@ng-web-apis/resize-observer": "3.0.3", + "@tinkoff/ng-event-plugins": "3.1.0", + "@tinkoff/ng-polymorpheus": "4.2.0", + "tslib": "2.6.2" + }, + "optionalDependencies": { + "ng-morph": "2.2.5", + "parse5": "6.0.1" + }, + "peerDependencies": { + "@angular/animations": ">=12.0.0", + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@angular/forms": ">=12.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/core": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/core/-/core-3.51.0.tgz", + "integrity": "sha512-dH7pJb55lygqeWZm0Lzk6FURNwkkAsobdbg5gs3h+OiXX2BWFxWEB2GRxCmVNhyqPl//3smn0mgYgPi1OOuuLA==", + "dependencies": { + "@taiga-ui/i18n": "^3.51.0", + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/animations": ">=12.0.0", + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@angular/forms": ">=12.0.0", + "@angular/platform-browser": ">=12.0.0", + "@angular/router": ">=12.0.0", + "@ng-web-apis/common": ">=3.0.0", + "@ng-web-apis/mutation-observer": ">=3.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/i18n": ">=3.51.0", + "@tinkoff/ng-event-plugins": ">=3.1.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/experimental": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/experimental/-/experimental-3.51.0.tgz", + "integrity": "sha512-AgFHm4MjfaMUixmFk0+o+I9RQ8xrbxjJq8ZmLzieOrqrTVPFHFToeXaDRGx3oUaPgz3HPBWG540mcrzCsaZQbw==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@taiga-ui/addon-commerce": ">=3.51.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@taiga-ui/kit": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/i18n": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/i18n/-/i18n-3.51.0.tgz", + "integrity": "sha512-GQ2/oZ4COaO1Ms5qjVf7tlmlD2q/dTSDb4En1rv5iKLP5nBgifTdRpgLTKq3TfiDH2xCj6WDdZC31FYlQI/rlQ==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=3.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/icons": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/icons/-/icons-3.51.0.tgz", + "integrity": "sha512-ViKby1pRnv3q9e/Zwdd0xpSw60ZdslcPpVAY5PuyNsSmBWA0FPJuJ1U1hadX2gmIHrDsjjgGqcqhC/MtjRMZYQ==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@taiga-ui/cdk": ">=3.51.0" + } + }, + "node_modules/@taiga-ui/kit": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/kit/-/kit-3.51.0.tgz", + "integrity": "sha512-K79BJr0IuXefwFmc5/TTRF67EclCYQLqhAXV72uX1iBLR+dTesRVwa7LXb3XFb2VXpYp2uWxtDyiVmNC1hajHA==", + "dependencies": { + "@maskito/angular": "1.8.1", + "@maskito/core": "1.8.1", + "@maskito/kit": "1.8.1", + "@ng-web-apis/intersection-observer": "3.1.3", + "text-mask-core": "5.1.2", + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@angular/forms": ">=12.0.0", + "@angular/router": ">=12.0.0", + "@ng-web-apis/common": ">=3.0.0", + "@ng-web-apis/mutation-observer": ">=3.0.0", + "@ng-web-apis/resize-observer": ">=3.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@taiga-ui/i18n": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/kit/node_modules/@ng-web-apis/intersection-observer": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-3.1.3.tgz", + "integrity": "sha512-mGxUcPOJ/y8oXY85c9k2UnZpGElu1wgAwN66brfFNKswwCYM8GLbrIOm0Zsdb6vyJiNFgaoZ+tG+dEZPobCzGQ==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=2.0.0" + } + }, + "node_modules/@taiga-ui/layout": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/layout/-/layout-3.51.0.tgz", + "integrity": "sha512-OaAvlzdXpjrZsegt2ADkUpFFwRXqxYb3Z+1xa4S6vm9G/7h0v+mvRlJPAy3RjqfgzsrtpblTn65KPwSAqzdy6g==", + "dependencies": { + "tslib": ">=2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "@taiga-ui/cdk": ">=3.51.0", + "@taiga-ui/core": ">=3.51.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/styles": { + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/styles/-/styles-3.51.0.tgz", + "integrity": "sha512-fc565uLTwHjZwI/8zk2SFOhZ+uEOSglEG8Cu+K09f1yUsQsmsBha0NTreg5Q/Quss4fYb7dZJgGBsOMAOU1zww==", + "peerDependencies": { + "@taiga-ui/cdk": ">=3.51.0", + "tslib": ">=2.0.0" + } + }, + "node_modules/@tinkoff/ng-dompurify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-dompurify/-/ng-dompurify-3.0.0.tgz", + "integrity": "sha512-Gx153lEakv4nEDZXFd2vW2zK8fI7fJMu8ZaRaPgGcq1wrAe0ps/mCZdg9KXNdyLUvwTu3WFsJXj5CwCG6Zfucg==", + "dependencies": { + "tslib": "^1.9.0" + }, + "peerDependencies": { + "@angular/core": ">=4.0.0", + "@angular/platform-browser": ">=4.0.0", + "@types/dompurify": ">=2.0.0", + "dompurify": ">=2.0.0" + } + }, + "node_modules/@tinkoff/ng-dompurify/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@tinkoff/ng-event-plugins": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-event-plugins/-/ng-event-plugins-3.1.0.tgz", + "integrity": "sha512-HqLBes/3MV469L1S08uBqmPUIwihx43py+8Lee1Me9jMFM1ZMuAC3NcS/njUFI1OzXU2kIPyUDEw2jmVbg8mWQ==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@angular/platform-browser": ">=12.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@tinkoff/ng-polymorpheus": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-polymorpheus/-/ng-polymorpheus-4.2.0.tgz", + "integrity": "sha512-DBjAXyfYq5PUuJSZK42TSJXqgAFkinavUdHy9bPSy88tLl0ZH3h+JK1EQSYqRP0WJzBe4lXywwDyH4HjagK7sg==", + "dependencies": { + "tslib": "2.6.2" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@angular/platform-browser": ">=12.0.0" + } + }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -4507,6 +4941,30 @@ "node": ">= 6" } }, + "node_modules/@ts-morph/common": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.9.2.tgz", + "integrity": "sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g==", + "optional": true, + "dependencies": { + "fast-glob": "^3.2.5", + "minimatch": "^3.0.4", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -4630,6 +5088,14 @@ "@types/node": "*" } }, + "node_modules/@types/dompurify": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.2.3.tgz", + "integrity": "sha512-CLtc2mZK8+axmrz1JqtpklO/Kvn38arGc8o1l3UVopZaXXuer9ONdZwJ/9f226GrhRLtUmLr9WrvZsRSNpS8og==", + "dependencies": { + "@types/trusted-types": "*" + } + }, "node_modules/@types/eslint": { "version": "8.44.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", @@ -4719,6 +5185,12 @@ "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==", "dev": true }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "optional": true + }, "node_modules/@types/minimist": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz", @@ -4800,6 +5272,11 @@ "@types/node": "*" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.5.tgz", + "integrity": "sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==" + }, "node_modules/@types/ws": { "version": "8.5.8", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", @@ -5664,7 +6141,7 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, + "devOptional": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -5680,7 +6157,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, + "devOptional": true, "dependencies": { "ajv": "^8.0.0" }, @@ -5780,7 +6257,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -5866,6 +6343,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", @@ -5901,7 +6387,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -6197,13 +6683,13 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "devOptional": true }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -6265,7 +6751,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, + "devOptional": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -6345,7 +6831,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "devOptional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6355,7 +6841,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "devOptional": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -6405,7 +6891,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -6698,7 +7184,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, + "devOptional": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -6710,7 +7196,7 @@ "version": "2.6.1", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6" }, @@ -6742,7 +7228,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.8" } @@ -6773,6 +7259,12 @@ "node": ">=0.10.0" } }, + "node_modules/code-block-writer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz", + "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==", + "optional": true + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -6913,7 +7405,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "devOptional": true }, "node_modules/confusing-browser-globals": { "version": "1.0.11", @@ -7686,7 +8178,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, + "devOptional": true, "dependencies": { "clone": "^1.0.2" }, @@ -7914,6 +8406,11 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.9.tgz", + "integrity": "sha512-+9MqacuigMIZ+1+EwoEltogyWGFTJZWU3258Rupxs+2CGs4H914G9er6pZbsme/bvb5L67o2rade9n21e4RW/w==" + }, "node_modules/domutils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", @@ -8136,7 +8633,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.12" }, @@ -9211,7 +9708,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "devOptional": true }, "node_modules/fast-diff": { "version": "1.3.0", @@ -9223,7 +9720,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, + "devOptional": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -9260,7 +9757,7 @@ "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, + "devOptional": true, "dependencies": { "reusify": "^1.0.4" } @@ -9364,7 +9861,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "devOptional": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -10120,7 +10617,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -10713,7 +11210,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -10859,7 +11356,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "devOptional": true }, "node_modules/ini": { "version": "4.1.1", @@ -11113,7 +11610,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -11131,7 +11628,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "devOptional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -11176,7 +11673,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -11203,7 +11700,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.12.0" } @@ -11369,7 +11866,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=10" }, @@ -11803,7 +12300,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "devOptional": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -11827,7 +12324,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "devOptional": true }, "node_modules/jsonfile": { "version": "6.1.0", @@ -12313,7 +12810,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, + "devOptional": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -12329,7 +12826,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "devOptional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -12344,7 +12841,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, + "devOptional": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -12360,7 +12857,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "devOptional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -12372,13 +12869,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "devOptional": true }, "node_modules/log-symbols/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -12387,7 +12884,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "devOptional": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12424,7 +12921,7 @@ "version": "0.30.1", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz", "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==", - "dev": true, + "devOptional": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -12588,7 +13085,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 8" } @@ -12606,7 +13103,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, + "devOptional": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -12652,7 +13149,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6" } @@ -12695,7 +13192,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "devOptional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -12989,6 +13486,34 @@ "multicast-dns": "cli.js" } }, + "node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "optional": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/multimatch/node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -13075,6 +13600,40 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/ng-morph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/ng-morph/-/ng-morph-2.2.5.tgz", + "integrity": "sha512-plxrHfcz7aNRcTCxS9tUxI1F5Vfx5CZAAw8NAnJCyCb41Js6S+EyPDvn2v7H2QyfZzXU1H0BAqtiRQv/rE2zTA==", + "optional": true, + "dependencies": { + "jsonc-parser": "3.0.0", + "minimatch": "3.0.5", + "multimatch": "5.0.0", + "ts-morph": "10.0.2" + }, + "peerDependencies": { + "@angular-devkit/core": ">=11.0.0", + "@angular-devkit/schematics": ">=11.0.0" + } + }, + "node_modules/ng-morph/node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "optional": true + }, + "node_modules/ng-morph/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", @@ -13737,7 +14296,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, + "devOptional": true, "dependencies": { "mimic-fn": "^2.1.0" }, @@ -13786,7 +14345,7 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, + "devOptional": true, "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -13809,7 +14368,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "devOptional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13824,7 +14383,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, + "devOptional": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -13840,7 +14399,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "devOptional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13852,13 +14411,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "devOptional": true }, "node_modules/ora/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -13867,7 +14426,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "devOptional": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -14047,7 +14606,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "devOptional": true }, "node_modules/parse5-html-rewriting-stream": { "version": "7.0.0", @@ -14108,6 +14667,12 @@ "node": ">= 0.8" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "optional": true + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -14191,7 +14756,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8.6" }, @@ -14658,7 +15223,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=6" } @@ -14697,7 +15262,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -14980,7 +15545,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, + "devOptional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -15128,7 +15693,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -15229,7 +15794,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, + "devOptional": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -15251,7 +15816,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, + "devOptional": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -15322,7 +15887,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -15371,7 +15936,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -15810,7 +16375,7 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "devOptional": true }, "node_modules/sigstore": { "version": "1.9.0", @@ -16004,7 +16569,7 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 8" } @@ -16227,7 +16792,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, + "devOptional": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -16310,7 +16875,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "devOptional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -17183,6 +17748,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/text-mask-core": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/text-mask-core/-/text-mask-core-5.1.2.tgz", + "integrity": "sha512-VfkCMdmRRZqXgQZFlDMiavm3hzsMzBM23CxHZsaeAYg66ZhXCNJWrFmnJwNy8KF9f74YvAUAuQenxsMCfuvhUw==" + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -17247,7 +17817,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "devOptional": true, "dependencies": { "is-number": "^7.0.0" }, @@ -17342,6 +17912,16 @@ "typescript": ">=4.2.0" } }, + "node_modules/ts-morph": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-10.0.2.tgz", + "integrity": "sha512-TVuIfEqtr9dW25K3Jajqpqx7t/zLRFxKu2rXQZSDjTm4MO4lfmuj1hn8WEryjeDDBFcNOCi+yOmYUYR4HucrAg==", + "optional": true, + "dependencies": { + "@ts-morph/common": "~0.9.0", + "code-block-writer": "^10.1.1" + } + }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -17742,7 +18322,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, + "devOptional": true, "dependencies": { "punycode": "^2.1.0" } @@ -17761,7 +18341,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "devOptional": true }, "node_modules/utils-merge": { "version": "1.0.1", @@ -17936,7 +18516,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, + "devOptional": true, "dependencies": { "defaults": "^1.0.3" } diff --git a/package.json b/package.json index 04fca6f..2df72f1 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "private": true, "dependencies": { "@angular/animations": "^16.2.0", + "@angular/cdk": "^16.0.0", "@angular/common": "^16.2.0", "@angular/compiler": "^16.2.0", "@angular/core": "^16.2.0", @@ -26,6 +27,22 @@ "@angular/platform-browser": "^16.2.0", "@angular/platform-browser-dynamic": "^16.2.0", "@angular/router": "^16.2.0", + "@taiga-ui/addon-charts": "^3.51.0", + "@taiga-ui/addon-commerce": "^3.51.0", + "@taiga-ui/addon-mobile": "^3.51.0", + "@taiga-ui/addon-preview": "^3.51.0", + "@taiga-ui/addon-table": "^3.51.0", + "@taiga-ui/addon-tablebars": "^3.51.0", + "@taiga-ui/cdk": "^3.51.0", + "@taiga-ui/core": "^3.51.0", + "@taiga-ui/experimental": "^3.51.0", + "@taiga-ui/icons": "^3.51.0", + "@taiga-ui/kit": "^3.51.0", + "@taiga-ui/layout": "^3.51.0", + "@taiga-ui/styles": "^3.51.0", + "@tinkoff/ng-dompurify": "3.0.0", + "@tinkoff/ng-polymorpheus": "^4.2.0", + "dompurify": "2.2.9", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.13.0" @@ -42,15 +59,16 @@ "@babel/plugin-proposal-decorators": "^7.23.2", "@commitlint/cli": "^18.0.0", "@commitlint/config-angular": "^18.0.0", + "@types/dompurify": "2.2.3", "@types/jasmine": "~4.3.0", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", "angular-cli-ghpages": "^1.0.7", "eslint": "^8.49.0", - "eslint-import-resolver-typescript": "^3.6.1", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^17.1.0", "eslint-config-prettier": "^9.0.0", + "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-angular": "^4.1.0", "eslint-plugin-import": "^2.28.1", "eslint-plugin-prettier": "^5.0.1", From a0a7687a04df2668c0f4865b6ab524d65e7fa597 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 30 Oct 2023 04:59:11 +0400 Subject: [PATCH 14/51] feat(app): set favicon --- src/favicon.ico | Bin 948 -> 15406 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/favicon.ico b/src/favicon.ico index 997406ad22c29aae95893fb3d666c30258a09537..bd06bdb68c8612fd6480d971e56192815de68268 100644 GIT binary patch literal 15406 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 WcZ@i?LyX}70000 Date: Mon, 30 Oct 2023 05:19:20 +0400 Subject: [PATCH 15/51] feat(assets): add logo --- src/assets/images/logo.png | Bin 0 -> 353752 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/assets/images/logo.png diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0f6c84a7a92e452b651583451cd2ffbd11eeedd4 GIT binary patch literal 353752 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

QM;XD6DOaxoXSf_%}`m7q^gaf9i-aPwI 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%0AXf8dTbG#TL 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 literal 0 HcmV?d00001 From 94e559e170832216010c30db0914c48f9dbaf220 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:45:52 +0400 Subject: [PATCH 16/51] refactor(app): format app files according prettier --- src/app/app-routing.module.ts | 4 +++- src/app/app.component.html | 4 +++- src/app/app.module.ts | 15 +++++++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 978f8d4..53d8cd6 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -13,7 +13,9 @@ const routes: Routes = [ path: '**', title: '404 - Not found', loadComponent: () => - import('./core/components/not-found/not-found.component').then(component => component.NotFoundComponent), + import('./core/components/not-found/not-found.component').then( + component => component.NotFoundComponent, + ), }, ] diff --git a/src/app/app.component.html b/src/app/app.component.html index 0680b43..6aae851 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1 +1,3 @@ - + + + diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 52fb44b..03cec68 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,3 +1,6 @@ +import { NgDompurifySanitizer } from '@tinkoff/ng-dompurify' +import { TuiRootModule, TuiDialogModule, TuiAlertModule, TUI_SANITIZER } from '@taiga-ui/core' +import { BrowserAnimationsModule } from '@angular/platform-browser/animations' import { NgModule } from '@angular/core' import { BrowserModule } from '@angular/platform-browser' @@ -7,8 +10,16 @@ import { MainPageModule } from './main-page/main-page.module' @NgModule({ declarations: [AppComponent], - imports: [BrowserModule, AppRoutingModule, MainPageModule], - providers: [], + imports: [ + BrowserModule, + AppRoutingModule, + MainPageModule, + BrowserAnimationsModule, + TuiRootModule, + TuiDialogModule, + TuiAlertModule, + ], + providers: [{ provide: TUI_SANITIZER, useClass: NgDompurifySanitizer }], bootstrap: [AppComponent], }) export class AppModule {} From ee443edbfcbba401597a1edb7845c7f6866d74b0 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:48:44 +0400 Subject: [PATCH 17/51] feat(main): add response data --- .../main-page/models/responce.interface.ts | 2 +- src/app/main-page/response-mock/response.json | 749 ++++++++++++++++++ 2 files changed, 750 insertions(+), 1 deletion(-) create mode 100644 src/app/main-page/response-mock/response.json diff --git a/src/app/main-page/models/responce.interface.ts b/src/app/main-page/models/responce.interface.ts index 297c537..3ec0a62 100644 --- a/src/app/main-page/models/responce.interface.ts +++ b/src/app/main-page/models/responce.interface.ts @@ -10,7 +10,7 @@ export interface VideoResponse { items: Video[] } -interface Video { +export interface Video { kind: string etag: string id: string diff --git a/src/app/main-page/response-mock/response.json b/src/app/main-page/response-mock/response.json new file mode 100644 index 0000000..7bf689d --- /dev/null +++ b/src/app/main-page/response-mock/response.json @@ -0,0 +1,749 @@ +{ + "TODO": "TO BE UPDATED", + + "kind": "youtube#videoListResponse", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/Cmodw7c5XPTM8Yg3kMXelihxek4\"", + "pageInfo": { + "totalResults": 10, + "resultsPerPage": 10 + }, + "items": [ + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/tmmI1yiRrmLWlKikXk1gD3TXsUI\"", + "id": "YN8zNnV0sK8", + "snippet": { + "publishedAt": "2023-08-30T12:42:19.000Z", + "channelId": "UCg8ss4xW9jASrqWGP30jXiw", + "title": "Angular 8 - Быстрый курс за 60 минут", + "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nTelegram: https://teleg.one/js_by_vladilen \nInstagram: https://www.instagram.com/vladilen.minin \nVK: https://vk.com/vladilen.minin \nГруппа VK: https://vk.com/js_by_vladilen \n\nReact Native: мобильная разработка на JavaScript:\nhttps://clc.to/rnative\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\n30 мая 2019 года бы релиз Angular 8 и я решил записать по нему быстрый курс. В видео вы узнаете, как Angular работает, как его установить.\nВ результате урока я покажу создание Todo приложения с разными подходами. Разберем работу с сервером, сервисами, пайпами, коммуникацией между компонентами и немного RxJS\n\nИсходный код:\nhttps://github.com/vladilenm/angular8-cc\n\nAngular 8 - Быстрый курс за 60 минут", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Владилен Минин", + "tags": [ + "angular", + "angular 8", + "angularjs", + "js", + "javascript", + "rxjs", + "angular 60 минут", + "angular 1 час", + "angular 8 1 час", + "владилен минин", + "уроки javascript", + "angular 2", + "angular 4", + "angular уроки", + "курс angular", + "основы angular", + "angular фреймворк", + "angular уроки для начинающих", + "уроки angular", + "angular практика", + "ангуляр", + "angular изучение", + "angular курс", + "ангуляр 4 уроки", + "angular уроки на русском" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "localized": { + "title": "Angular 8 - Быстрый курс за 60 минут", + "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nTelegram: https://teleg.one/js_by_vladilen \nInstagram: https://www.instagram.com/vladilen.minin \nVK: https://vk.com/vladilen.minin \nГруппа VK: https://vk.com/js_by_vladilen \n\nReact Native: мобильная разработка на JavaScript:\nhttps://clc.to/rnative\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\n30 мая 2019 года бы релиз Angular 8 и я решил записать по нему быстрый курс. В видео вы узнаете, как Angular работает, как его установить.\nВ результате урока я покажу создание Todo приложения с разными подходами. Разберем работу с сервером, сервисами, пайпами, коммуникацией между компонентами и немного RxJS\n\nИсходный код:\nhttps://github.com/vladilenm/angular8-cc\n\nAngular 8 - Быстрый курс за 60 минут" + }, + "defaultAudioLanguage": "en-US" + }, + "statistics": { + "viewCount": "33265", + "likeCount": "1173", + "dislikeCount": "26", + "favoriteCount": "0", + "commentCount": "170" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/uto79F2R8W05GFpiUAcLdFGs7PQ\"", + "id": "Fdf5aTYRW0E", + "snippet": { + "publishedAt": "2023-10-23T17:46:58.000Z", + "channelId": "UC29ju8bIPH5as8OGnQzwJyA", + "title": "Angular Crash Course", + "description": "In this video we will talk about what Angular is and then jump in and build a small app With Angular 7, looking at most of the fundamental concepts like components, services, modules, etc\n\nSponsor:\nhttp://www.netlify.com\n\nCode:\nhttps://github.com/bradtraversy/angular-crash-todolist\n\n💖 Become a Patron: Show support & get perks!\nhttp://www.patreon.com/traversymedia\n\nWebsite & Udemy Courses\nhttp://www.traversymedia.com\n\nFollow Traversy Media:\nhttps://www.facebook.com/traversymedia\nhttps://www.twitter.com/traversymedia\nhttps://www.instagram.com/traversymedia", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Traversy Media", + "tags": ["angular", "angular 7", "angular tutorial", "angularjs"], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "Angular Crash Course", + "description": "In this video we will talk about what Angular is and then jump in and build a small app With Angular 7, looking at most of the fundamental concepts like components, services, modules, etc\n\nSponsor:\nhttp://www.netlify.com\n\nCode:\nhttps://github.com/bradtraversy/angular-crash-todolist\n\n💖 Become a Patron: Show support & get perks!\nhttp://www.patreon.com/traversymedia\n\nWebsite & Udemy Courses\nhttp://www.traversymedia.com\n\nFollow Traversy Media:\nhttps://www.facebook.com/traversymedia\nhttps://www.twitter.com/traversymedia\nhttps://www.instagram.com/traversymedia" + }, + "defaultAudioLanguage": "en" + }, + "statistics": { + "viewCount": "456979", + "likeCount": "8213", + "dislikeCount": "131", + "favoriteCount": "0", + "commentCount": "555" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/6e0k9ik7TThWpqueHGOhTRIN1-A\"", + "id": "k5E2AVpwsko", + "snippet": { + "publishedAt": "2023-10-05T16:48:15.000Z", + "channelId": "UCWv7vMbMWH4-V0ZXdmDpPBA", + "title": "Angular Tutorial for Beginners: Learn Angular from Scratch | Mosh", + "description": "🔥Get the COMPLETE COURSE (60% OFF - LIMITED TIME): https://programmingwithmosh.com/courses/angular\n\nThis Angular tutorial teaches you the fundamentals of Angular and TypeScript.\n\nSUBSCRIBE FOR MORE VIDEOS!\nhttps://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA?sub_confirmation=1\n\n\nTABLE OF CONTENT \n\n00:00 Introduction\n02:54 What is Angular?\n04:54 Architecture of Angular Apps\n08:41 Setting Up the Development Environment\n11:25 Your First Angular App\n13:50 Structure of Angular Projects\n20:43 Webpack\n23:57 Angular Version History \n27:31 Course Structure\n31:55 TypeScript Fundamentals\n32:34 What is TypeScript?\n34:58 Your First TypeScript Program\n37:57 Declaring Variables\n42:46 Types\n48:29 Type Assertions\n51:15 Arrow Functions\n52:59 Interfaces\n56:54 Classes\n01:01:22 Objects\n01:05:31 Constructors\n01:08:22 Access Modifiers\n01:11:18 Access Modifiers in Constructor Parameters\n01:12:58 Properties\n01:18:15 Modules\n01:23:22 Angular Fundamentals\n01:23:41 Building Blocks of Angular Apps\n01:27:22 Creating Components\n01:37:00 Generating Components Using Angular CLI\n01:41:40 Templates\n01:44:08 Directives\n01:47:34 Services\n01:52:02 Dependency Injection\n01:59:22 Generating Services Using Angular CLI\n02:01:32 Exercise\n \n\nSTAY IN TOUCH\n\nhttps://www.facebook.com/programmingwithmosh/\nhttps://twitter.com/moshhamedani", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/k5E2AVpwsko/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/k5E2AVpwsko/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/k5E2AVpwsko/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/k5E2AVpwsko/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/k5E2AVpwsko/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Programming with Mosh", + "tags": [ + "learn angular 4", + "learn angular 4 from scratch", + "angular4", + "learn angular", + "angular tutorial", + "angular 4", + "Angular", + "angular 5", + "angular 5 course", + "angular course", + "angular.js", + "angularjs", + "angular 2", + "angular2", + "angular 4 tutorial", + "angular 4 tutorial for beginners", + "angular tutorial for beginners", + "angular 4 crash course", + "angular 4 in 60 minutes", + "angularjs 4", + "angular 4 tutorial for beginners step by step", + "angular js", + "angularjs tutorial for beginners", + "angular 6", + "angular 7" + ], + "categoryId": "22", + "liveBroadcastContent": "none", + "localized": { + "title": "Angular Tutorial for Beginners: Learn Angular from Scratch | Mosh", + "description": "🔥Get the COMPLETE COURSE (60% OFF - LIMITED TIME): https://programmingwithmosh.com/courses/angular\n\nThis Angular tutorial teaches you the fundamentals of Angular and TypeScript.\n\nSUBSCRIBE FOR MORE VIDEOS!\nhttps://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA?sub_confirmation=1\n\n\nTABLE OF CONTENT \n\n00:00 Introduction\n02:54 What is Angular?\n04:54 Architecture of Angular Apps\n08:41 Setting Up the Development Environment\n11:25 Your First Angular App\n13:50 Structure of Angular Projects\n20:43 Webpack\n23:57 Angular Version History \n27:31 Course Structure\n31:55 TypeScript Fundamentals\n32:34 What is TypeScript?\n34:58 Your First TypeScript Program\n37:57 Declaring Variables\n42:46 Types\n48:29 Type Assertions\n51:15 Arrow Functions\n52:59 Interfaces\n56:54 Classes\n01:01:22 Objects\n01:05:31 Constructors\n01:08:22 Access Modifiers\n01:11:18 Access Modifiers in Constructor Parameters\n01:12:58 Properties\n01:18:15 Modules\n01:23:22 Angular Fundamentals\n01:23:41 Building Blocks of Angular Apps\n01:27:22 Creating Components\n01:37:00 Generating Components Using Angular CLI\n01:41:40 Templates\n01:44:08 Directives\n01:47:34 Services\n01:52:02 Dependency Injection\n01:59:22 Generating Services Using Angular CLI\n02:01:32 Exercise\n \n\nSTAY IN TOUCH\n\nhttps://www.facebook.com/programmingwithmosh/\nhttps://twitter.com/moshhamedani" + }, + "defaultAudioLanguage": "en-US" + }, + "statistics": { + "viewCount": "1266085", + "likeCount": "18342", + "dislikeCount": "473", + "favoriteCount": "0", + "commentCount": "1255" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/cDwx4Ds5-J9CmiqmazUetzrLZKY\"", + "id": "Rf54BH35yrY", + "snippet": { + "publishedAt": "2023-08-04T15:00:12.000Z", + "channelId": "UCg8ss4xW9jASrqWGP30jXiw", + "title": "Angular 8 Основы. Полный Курс для начинающих", + "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nУрок по Angular. В этом курсе вы познакомитесь со всеми основными элементами, которые есть в Angular с полного нуля\n\nAngular 8 Основы. Полный Курс. Урок для Новичков", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/Rf54BH35yrY/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/Rf54BH35yrY/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/Rf54BH35yrY/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/Rf54BH35yrY/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/Rf54BH35yrY/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Владилен Минин", + "tags": [ + "angular", + "angularjs", + "js", + "javascript", + "уроки angular", + "angular уроки", + "angular 8", + "курс angular", + "angular основы", + "владилен", + "владилен минин", + "минин", + "основы angular", + "ангуляр", + "angular 6", + "angular js", + "angular уроки для начинающих", + "angular фреймворк", + "angular практика", + "что такое angular", + "angular cli", + "angular уроки на русском", + "курсы программирования", + "angular tutorial" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "localized": { + "title": "Angular 8 Основы. Полный Курс для начинающих", + "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nУрок по Angular. В этом курсе вы познакомитесь со всеми основными элементами, которые есть в Angular с полного нуля\n\nAngular 8 Основы. Полный Курс. Урок для Новичков" + }, + "defaultAudioLanguage": "en-US" + }, + "statistics": { + "viewCount": "14544", + "likeCount": "573", + "dislikeCount": "11", + "favoriteCount": "0", + "commentCount": "88" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/_99tEunMszVYvCj2-1aUTKgOoSY\"", + "id": "m0yGx2MGZWg", + "snippet": { + "publishedAt": "2023-10-13T07:44:08.000Z", + "channelId": "UCe_H8hzx9WV7Ca7Ps5gt72Q", + "title": "Что такое Angular. Обзор возможностей", + "description": "В этом видео речь пойдет про javascript фреймворк Angular. Я расскажу что такое Angular, где и когда его применяют, а так же сделаю небольшой обзор его возможностей. Расскажу чем фреймворк сложен для новичков и чем он действительно хорош для новых проектов. Сейчас для того что б стать junior javascript разработчиком нужно обязательно знать хотя бы один фреймворк js и ангуляр будет отличным выбором.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Web Developer Blog", + "tags": [ + "angular", + "ангуляр", + "angular js", + "уроки angular", + "angular уроки", + "angular tutorial", + "что такое angular", + "angular обзор", + "angular фреймворк", + "js", + "javascript", + "web development", + "angular 6", + "angular примеры", + "angular практика", + "стоит ли учить angular", + "angular учить", + "программирование" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "defaultLanguage": "ru", + "localized": { + "title": "Что такое Angular. Обзор возможностей", + "description": "В этом видео речь пойдет про javascript фреймворк Angular. Я расскажу что такое Angular, где и когда его применяют, а так же сделаю небольшой обзор его возможностей. Расскажу чем фреймворк сложен для новичков и чем он действительно хорош для новых проектов. Сейчас для того что б стать junior javascript разработчиком нужно обязательно знать хотя бы один фреймворк js и ангуляр будет отличным выбором." + }, + "defaultAudioLanguage": "ru" + }, + "statistics": { + "viewCount": "43470", + "likeCount": "1047", + "dislikeCount": "198", + "favoriteCount": "0", + "commentCount": "96" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/GuGydXnkvpl-L4ntYhAaLNiseZ4\"", + "id": "VAkio68d51A", + "snippet": { + "publishedAt": "2023-10-23T00:09:23.000Z", + "channelId": "UCZ9qFEC82qM6Pk-54Q4TVWA", + "title": "What is Angular? (Explained for Beginners)", + "description": "When you're just starting out you are probably wondering \"What is Angular exactly? When you ask that question it leads to a lot of concepts that are over your head and don't make sense. So in this video I really want to cover what exactly Angular is and why it's even necessary... all from a beginners point of view.\n\n*** DOWNLOAD THE FREE REPORT ***\nFor my free report on the five best programming languages in 2019 (for beginners) go to: https://andysterkowitz.com/report", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/VAkio68d51A/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/VAkio68d51A/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/VAkio68d51A/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/VAkio68d51A/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/VAkio68d51A/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Andy Sterkowitz", + "tags": [ + "angular", + "angular 7", + "angularjs", + "learn angular", + "angular.js", + "angular tutorial for beginners", + "angular for beginners", + "angular for dummies", + "what is angular", + "what is angular 7", + "angular2", + "angular 2", + "javascript", + "front end framework", + "web development", + "web development 2019", + "front end framework 2019", + "what is a front end framework", + "software development", + "programming", + "front end software developer", + "web developer" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "defaultLanguage": "en", + "localized": { + "title": "What is Angular? (Explained for Beginners)", + "description": "When you're just starting out you are probably wondering \"What is Angular exactly? When you ask that question it leads to a lot of concepts that are over your head and don't make sense. So in this video I really want to cover what exactly Angular is and why it's even necessary... all from a beginners point of view.\n\n*** DOWNLOAD THE FREE REPORT ***\nFor my free report on the five best programming languages in 2019 (for beginners) go to: https://andysterkowitz.com/report" + }, + "defaultAudioLanguage": "en" + }, + "statistics": { + "viewCount": "57997", + "likeCount": "1662", + "dislikeCount": "34", + "favoriteCount": "0", + "commentCount": "114" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/u2qq5ltpXouoIrpkJgGLu8YOIeg\"", + "id": "u1VCxpvDgsk", + "snippet": { + "publishedAt": "2018-12-01T15:00:05.000Z", + "channelId": "UCvuY904el7JvBlPbdqbfguw", + "title": "Уроки Angular для начинающих / #1 - Введение в Angular", + "description": "Приступаем к изучению библиотеки Angular. В ходе курса мы создадим небольшой сайт и научимся всем основным концепциям библиотеки Angular. Мы рассмотрим события, компоненты, создание форм и многое другое, чтобы вы в дальнейшем сами могли создавать веб сайты на Angular.\n\n1) Курс на сайте itProger: https://itproger.com/course/angular\n2) Node JS: https://nodejs.org/\n3) Редактор кода: https://atom.io/\n4) Angular CLI: https://cli.angular.io/\n\n✔ Сообщество программистов: https://itproger.com/\n\n✔ -------------\nВступай в группу Вк - https://vk.com/prog_life 🚀\nГруппа FaceBook - https://goo.gl/XW0aaP\n\nInstagram: https://www.instagram.com/gosha_dudar/\nTelegram: http://t.me/itProger_official\nTwitter - https://twitter.com/GoshaDudar\n\n- Уроки от #GoshaDudar 👨🏼\u200d💻\n- Все уроки по хештегу #goshaAngular", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Гоша Дударь", + "tags": [ + "angular", + "angular 6", + "angular уроки", + "angular node js", + "angularjs", + "angularjs уроки", + "для начинающих", + "angular уроки на русском", + "Введение в Angular", + "что такое angular", + "установка angular", + "#GoshaDudar", + "#goshaAngular" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "defaultLanguage": "ru", + "localized": { + "title": "Уроки Angular для начинающих / #1 - Введение в Angular", + "description": "Приступаем к изучению библиотеки Angular. В ходе курса мы создадим небольшой сайт и научимся всем основным концепциям библиотеки Angular. Мы рассмотрим события, компоненты, создание форм и многое другое, чтобы вы в дальнейшем сами могли создавать веб сайты на Angular.\n\n1) Курс на сайте itProger: https://itproger.com/course/angular\n2) Node JS: https://nodejs.org/\n3) Редактор кода: https://atom.io/\n4) Angular CLI: https://cli.angular.io/\n\n✔ Сообщество программистов: https://itproger.com/\n\n✔ -------------\nВступай в группу Вк - https://vk.com/prog_life 🚀\nГруппа FaceBook - https://goo.gl/XW0aaP\n\nInstagram: https://www.instagram.com/gosha_dudar/\nTelegram: http://t.me/itProger_official\nTwitter - https://twitter.com/GoshaDudar\n\n- Уроки от #GoshaDudar 👨🏼\u200d💻\n- Все уроки по хештегу #goshaAngular" + }, + "defaultAudioLanguage": "ru" + }, + "statistics": { + "viewCount": "33896", + "likeCount": "612", + "dislikeCount": "37", + "favoriteCount": "0", + "commentCount": "50" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/96JEWzuOaAgaHrcnKhmatlZzPME\"", + "id": "rc3E4tplFCU", + "snippet": { + "publishedAt": "2023-10-29T15:00:14.000Z", + "channelId": "UCg8ss4xW9jASrqWGP30jXiw", + "title": "Angular 40 вопросов для собеседования", + "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nAngular 40 вопросов для собеседования. Подготовка к интервью", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/rc3E4tplFCU/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/rc3E4tplFCU/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/rc3E4tplFCU/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/rc3E4tplFCU/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/rc3E4tplFCU/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Владилен Минин", + "tags": [ + "angular", + "angularjs", + "js", + "javascript", + "уроки angular", + "angular уроки", + "angular 8", + "курс angular", + "angular основы", + "владилен", + "владилен минин", + "минин", + "основы angular", + "angular вопросы", + "angular интервью", + "собеседование", + "angular собеседование", + "вопросы на собеседование", + "angular 6", + "angular для начинающих", + "angular уроки на русском" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "localized": { + "title": "Angular 40 вопросов для собеседования", + "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nAngular 40 вопросов для собеседования. Подготовка к интервью" + }, + "defaultAudioLanguage": "en-US" + }, + "statistics": { + "viewCount": "6824", + "likeCount": "595", + "dislikeCount": "10", + "favoriteCount": "0", + "commentCount": "126" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/pvVvPt5cchXjCoSYxodr18lOaEg\"", + "id": "NaZwVUHnmfE", + "snippet": { + "publishedAt": "2019-06-19T16:06:13.000Z", + "channelId": "UCg8ss4xW9jASrqWGP30jXiw", + "title": "Angular 8 + RxJS. Приложение Органайзер С Нуля (Для Опытных!)", + "description": "Курс по Angular 8+: \nhttps://clc.to/angular \n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nВ видео я покажу разработку приложения органайзера с нуля.\nВ видео я не буду пояснять базовые моменты, так как это практика для опытных разработчиков\n\nВ результате вы получите приложение, в котором будет использоваться много RxJS, Firebase, MomentJS и Angular 8\nНе будет никаких CSS фреймворков - все стили будут написаны с нуля с использованием CSS переменных\n\nИсходный код:\nhttps://github.com/vladilenm/angular-organizer\n\nAngular 8 + RxJS. Приложение Целиком (Для Опытных!)\nhttps://youtu.be/NaZwVUHnmfE", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Владилен Минин", + "tags": [ + "angular", + "angular 8", + "vladilen", + "владилен", + "владилен минин", + "angularjs", + "angular практика", + "уроки angular", + "rxjs", + "rxjs уроки", + "momentjs", + "js", + "javascript", + "web", + "frontend", + "ангуляр", + "angular уроки", + "angular уроки для начинающих", + "создание приложения на angular 4", + "angular 60 минут", + "изучение angular", + "angular 6", + "ангуляр 7 уроки", + "реактивное программирование" + ], + "categoryId": "27", + "liveBroadcastContent": "none", + "localized": { + "title": "Angular 8 + RxJS. Приложение Органайзер С Нуля (Для Опытных!)", + "description": "Курс по Angular 8+: \nhttps://clc.to/angular \n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nВ видео я покажу разработку приложения органайзера с нуля.\nВ видео я не буду пояснять базовые моменты, так как это практика для опытных разработчиков\n\nВ результате вы получите приложение, в котором будет использоваться много RxJS, Firebase, MomentJS и Angular 8\nНе будет никаких CSS фреймворков - все стили будут написаны с нуля с использованием CSS переменных\n\nИсходный код:\nhttps://github.com/vladilenm/angular-organizer\n\nAngular 8 + RxJS. Приложение Целиком (Для Опытных!)\nhttps://youtu.be/NaZwVUHnmfE" + }, + "defaultAudioLanguage": "en-US" + }, + "statistics": { + "viewCount": "12128", + "likeCount": "665", + "dislikeCount": "11", + "favoriteCount": "0", + "commentCount": "156" + } + }, + { + "kind": "youtube#video", + "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/KuFm1jGNMzgjE2VlAEsPgRVra4o\"", + "id": "G0bBLvWXBvc", + "snippet": { + "publishedAt": "2019-09-16T16:53:41.000Z", + "channelId": "UCsBjURrPoezykLs9EqgamOA", + "title": "Angular for Beginners - Let's build a Tic-Tac-Toe PWA", + "description": "Learn the basics of Angular 8 🚀 by building a tic-tac-toe game 🕹️ from scratch...Then deploy it as an installable progressive web app (PWA). Go beyond the basics 👉https://fireship.io/courses/angular/\n\nFull Source Code: https://github.com/fireship-io/angular-tic-tac-toe\nAngular Docs: https://angular.io/\n\n#angular #pwa #tutorial\n\nTake Angular quizzes 🤓\n\niOS https://itunes.apple.com/us/app/fireship/id1462592372?mt=8\nAndroid https://play.google.com/store/apps/details?id=io.fireship.quizapp\n\nUpgrade to Fireship PRO at https://fireship.io/pro\nUse code lORhwXd2 for 25% off your first payment.", + "thumbnails": { + "default": { + "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/default.jpg", + "width": 120, + "height": 90 + }, + "medium": { + "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/mqdefault.jpg", + "width": 320, + "height": 180 + }, + "high": { + "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/hqdefault.jpg", + "width": 480, + "height": 360 + }, + "standard": { + "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/sddefault.jpg", + "width": 640, + "height": 480 + }, + "maxres": { + "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/maxresdefault.jpg", + "width": 1280, + "height": 720 + } + }, + "channelTitle": "Fireship", + "tags": [ + "webdev", + "app development", + "lesson", + "tutorial", + "beginners", + "beginner", + "basic", + "angular tutorial", + "angular basics", + "angular for beginners", + "angular 8", + "angular components", + "learn angular" + ], + "categoryId": "28", + "liveBroadcastContent": "none", + "localized": { + "title": "Angular for Beginners - Let's build a Tic-Tac-Toe PWA", + "description": "Learn the basics of Angular 8 🚀 by building a tic-tac-toe game 🕹️ from scratch...Then deploy it as an installable progressive web app (PWA). Go beyond the basics 👉https://fireship.io/courses/angular/\n\nFull Source Code: https://github.com/fireship-io/angular-tic-tac-toe\nAngular Docs: https://angular.io/\n\n#angular #pwa #tutorial\n\nTake Angular quizzes 🤓\n\niOS https://itunes.apple.com/us/app/fireship/id1462592372?mt=8\nAndroid https://play.google.com/store/apps/details?id=io.fireship.quizapp\n\nUpgrade to Fireship PRO at https://fireship.io/pro\nUse code lORhwXd2 for 25% off your first payment." + }, + "defaultAudioLanguage": "en" + }, + "statistics": { + "viewCount": "56657", + "likeCount": "2092", + "dislikeCount": "36", + "favoriteCount": "0", + "commentCount": "128" + } + } + ] +} From 4f9582103fe542a3578db007a11345648458b319 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:50:46 +0400 Subject: [PATCH 18/51] feat(main): add main-page component --- src/app/main-page/main-page.component.html | 9 ++++--- src/app/main-page/main-page.component.ts | 26 ++++++++++++++++++-- src/app/main-page/main-page.module.ts | 28 +++++++++++++++++++--- 3 files changed, 55 insertions(+), 8 deletions(-) diff --git a/src/app/main-page/main-page.component.html b/src/app/main-page/main-page.component.html index d0ee048..cbf73e3 100644 --- a/src/app/main-page/main-page.component.html +++ b/src/app/main-page/main-page.component.html @@ -1,3 +1,6 @@ - -

main-page works!

- + + diff --git a/src/app/main-page/main-page.component.ts b/src/app/main-page/main-page.component.ts index 146e706..2f918f5 100644 --- a/src/app/main-page/main-page.component.ts +++ b/src/app/main-page/main-page.component.ts @@ -1,8 +1,30 @@ -import { Component } from '@angular/core' +import { Component, ViewChild, type AfterViewInit } from '@angular/core' +import { HeaderComponent } from '../core/components/header/header.component' +import type { SortSetting } from '../shared/model/sort-setting.interface' @Component({ selector: 'app-main-page', templateUrl: './main-page.component.html', styleUrls: ['./main-page.component.scss'], }) -export class MainPageComponent {} +export class MainPageComponent implements AfterViewInit { + @ViewChild(HeaderComponent) childComponent!: HeaderComponent + + showCards = false + + sortSetting: SortSetting = { + sortByViewCount: null, + sortByDate: null, + sortByTitle: '', + } + + processSearchClick() { + if (!this.showCards) this.showCards = true + } + + ngAfterViewInit() { + this.childComponent.settingsClick.subscribe((sortSetting: SortSetting) => { + this.sortSetting = sortSetting + }) + } +} diff --git a/src/app/main-page/main-page.module.ts b/src/app/main-page/main-page.module.ts index f98f008..990c751 100644 --- a/src/app/main-page/main-page.module.ts +++ b/src/app/main-page/main-page.module.ts @@ -1,13 +1,35 @@ import { NgModule } from '@angular/core' +import { TuiLazyLoadingModule, TuiIslandModule } from '@taiga-ui/kit' +import { TuiSvgModule, TuiButtonModule } from '@taiga-ui/core' import { CommonModule } from '@angular/common' import { HeaderComponent } from '../core/components/header/header.component' import { MainPageComponent } from './main-page.component' import { CardComponent } from './card/card.component' import { CardsContainerComponent } from './cards-container/cards-container.component' +import { DateColorizerDirective } from '../shared/directives/date-colorizer/date-colorizer.directive' +import { SortVideoByDatePipe } from './cards-container/pipe/sort-video-date.pipe' +import { SortVideoByViewsPipe } from './cards-container/pipe/sort-video-views.pipe' +import { FilterVideoByTitlePipe } from './cards-container/pipe/filter-video-title.pipe' +import { ButtonTextComponent } from '../shared/component/button-text/button-text.component' @NgModule({ - declarations: [MainPageComponent, CardComponent, CardsContainerComponent], - imports: [CommonModule, HeaderComponent], - exports: [HeaderComponent], + declarations: [ + MainPageComponent, + CardComponent, + CardsContainerComponent, + DateColorizerDirective, + SortVideoByDatePipe, + SortVideoByViewsPipe, + FilterVideoByTitlePipe, + ], + imports: [ + CommonModule, + HeaderComponent, + ButtonTextComponent, + TuiLazyLoadingModule, + TuiIslandModule, + TuiSvgModule, + TuiButtonModule, + ], }) export class MainPageModule {} From 2213e1835bf2bc26cb5e762f17fdb9b6d7efe996 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:52:13 +0400 Subject: [PATCH 19/51] feat(main): add cards-container component --- .../cards-container/cards-container.component.html | 14 ++++++++++++-- .../cards-container/cards-container.component.scss | 13 +++++++++++++ .../cards-container/cards-container.component.ts | 11 +++++++++-- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/app/main-page/cards-container/cards-container.component.html b/src/app/main-page/cards-container/cards-container.component.html index 62d6a25..b1d867a 100644 --- a/src/app/main-page/cards-container/cards-container.component.html +++ b/src/app/main-page/cards-container/cards-container.component.html @@ -1,2 +1,12 @@ -

cards-container works!

- +
+ +
diff --git a/src/app/main-page/cards-container/cards-container.component.scss b/src/app/main-page/cards-container/cards-container.component.scss index e69de29..7bbf392 100644 --- a/src/app/main-page/cards-container/cards-container.component.scss +++ b/src/app/main-page/cards-container/cards-container.component.scss @@ -0,0 +1,13 @@ +.cards { + display: grid; + grid-auto-flow: row dense; + grid-auto-rows: auto; + grid-template-columns: repeat(auto-fill, 300px); + gap: 60px 20px; + justify-content: space-evenly; + justify-items: center; +} + +.cards-item { + width: 100%; +} diff --git a/src/app/main-page/cards-container/cards-container.component.ts b/src/app/main-page/cards-container/cards-container.component.ts index 9a3aa4c..d4254a3 100644 --- a/src/app/main-page/cards-container/cards-container.component.ts +++ b/src/app/main-page/cards-container/cards-container.component.ts @@ -1,8 +1,15 @@ -import { Component } from '@angular/core' +import { Component, Input, ChangeDetectionStrategy } from '@angular/core' +import data from '../response-mock/response.json' +import { SortSetting } from '../../shared/model/sort-setting.interface' @Component({ selector: 'app-cards-container', templateUrl: './cards-container.component.html', styleUrls: ['./cards-container.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, }) -export class CardsContainerComponent {} +export class CardsContainerComponent { + @Input({ required: true }) sortSetting!: SortSetting + + items = data.items +} From 84efb4ac8aaa41406933989c61f727a3a6cc6ed8 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:53:13 +0400 Subject: [PATCH 20/51] feat(main): add card component --- src/app/main-page/card/card.component.html | 29 ++++++++++- src/app/main-page/card/card.component.scss | 56 ++++++++++++++++++++++ src/app/main-page/card/card.component.ts | 7 ++- 3 files changed, 89 insertions(+), 3 deletions(-) diff --git a/src/app/main-page/card/card.component.html b/src/app/main-page/card/card.component.html index f2fda25..80b532f 100644 --- a/src/app/main-page/card/card.component.html +++ b/src/app/main-page/card/card.component.html @@ -1 +1,28 @@ -

card works!

+ + +
+
+ + {{ item.statistics.viewCount }} +
+
+ + {{ item.statistics.likeCount }} +
+
+ + {{ item.statistics.dislikeCount }} +
+
+ + {{ item.statistics.commentCount }} +
+
+

{{ item.snippet.title }}

+ More... + +
diff --git a/src/app/main-page/card/card.component.scss b/src/app/main-page/card/card.component.scss index e69de29..aca811e 100644 --- a/src/app/main-page/card/card.component.scss +++ b/src/app/main-page/card/card.component.scss @@ -0,0 +1,56 @@ +.card { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; +} + +.card-statistic { + display: flex; + flex-direction: row; + gap: 5px; + align-items: center; + justify-content: center; + + margin-bottom: 10px; +} + +.card-statistic-item { + display: flex; + flex-direction: row; + gap: 2px; +} + +.card-text { + margin: 0 !important; +} + +.card-date-color { + transform: translateY(3px); + height: 12px; +} + +.card-title { + text-align: start; +} + +.card-button { + max-width: 150px; + margin: auto auto 5px; +} + +.card > .color-blue { + background-color: var(--tui-support-01); +} + +.card > .color-red { + background-color: var(--tui-error-fill); +} + +.card > .color-green { + background-color: var(--tui-success-fill); +} + +.card > .color-yellow { + background-color: var(--tui-warning-fill); +} diff --git a/src/app/main-page/card/card.component.ts b/src/app/main-page/card/card.component.ts index 4586940..8be6e56 100644 --- a/src/app/main-page/card/card.component.ts +++ b/src/app/main-page/card/card.component.ts @@ -1,8 +1,11 @@ -import { Component } from '@angular/core' +import { Component, Input } from '@angular/core' +import { type Video } from '../models/responce.interface' @Component({ selector: 'app-card', templateUrl: './card.component.html', styleUrls: ['./card.component.scss'], }) -export class CardComponent {} +export class CardComponent { + @Input({ required: true }) item!: Video +} From 0c37179847139408781be29c561e047437cd12c2 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:54:56 +0400 Subject: [PATCH 21/51] feat(main): add pipe for sorting / filter video cards --- .../pipe/filter-video-title.pipe.ts | 18 +++++++++++++++ .../pipe/sort-video-date.pipe.ts | 23 +++++++++++++++++++ .../pipe/sort-video-views.pipe.ts | 21 +++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts create mode 100644 src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts create mode 100644 src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts diff --git a/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts b/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts new file mode 100644 index 0000000..d5ee0d2 --- /dev/null +++ b/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts @@ -0,0 +1,18 @@ +import { Pipe, type PipeTransform } from '@angular/core' +import type { Video } from '../../models/responce.interface' + +@Pipe({ + name: 'filterVideoByTitlePipe', +}) +export class FilterVideoByTitlePipe implements PipeTransform { + // eslint-disable-next-line class-methods-use-this + transform(value: Video[], filterString: string | null): Video[] { + if (!value || !filterString) { + return value + } + + const lowerCaseFilterString = filterString.toLowerCase() + + return value.filter(video => video.snippet.title.toLowerCase().includes(lowerCaseFilterString)) + } +} diff --git a/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts b/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts new file mode 100644 index 0000000..648b2a6 --- /dev/null +++ b/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts @@ -0,0 +1,23 @@ +import { Pipe, type PipeTransform } from '@angular/core' +import type { Video } from '../../models/responce.interface' + +@Pipe({ + name: 'sortVideoByDatePipe', +}) +export class SortVideoByDatePipe implements PipeTransform { + // eslint-disable-next-line class-methods-use-this + transform(value: Video[], sortDateSetting: 'asc' | 'desc' | null): Video[] { + if (!value || !sortDateSetting) { + return value + } + + return value.sort((a, b) => { + const dateA = new Date(a.snippet.publishedAt) + const dateB = new Date(b.snippet.publishedAt) + + return sortDateSetting === 'asc' + ? dateA.getTime() - dateB.getTime() + : dateB.getTime() - dateA.getTime() + }) + } +} diff --git a/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts b/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts new file mode 100644 index 0000000..7cd4c9a --- /dev/null +++ b/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts @@ -0,0 +1,21 @@ +import { Pipe, type PipeTransform } from '@angular/core' +import type { Video } from '../../models/responce.interface' + +@Pipe({ + name: 'sortVideoByViewsPipe', +}) +export class SortVideoByViewsPipe implements PipeTransform { + // eslint-disable-next-line class-methods-use-this + transform(value: Video[], sortViewsSetting: 'asc' | 'desc' | null): Video[] { + if (!value || !sortViewsSetting) { + return value + } + + return value.sort((a, b) => { + const viewCountA = Number(a.statistics.viewCount) + const viewCountB = Number(b.statistics.viewCount) + + return sortViewsSetting === 'asc' ? viewCountA - viewCountB : viewCountB - viewCountA + }) + } +} From d4b59b9020a264d33f9eeb4910da090f80e07634 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:56:22 +0400 Subject: [PATCH 22/51] feat(header): add header component --- .../components/header/header.component.html | 44 +++++++++++++++- .../components/header/header.component.scss | 33 ++++++++++++ .../components/header/header.component.ts | 52 +++++++++++++++++-- 3 files changed, 124 insertions(+), 5 deletions(-) diff --git a/src/app/core/components/header/header.component.html b/src/app/core/components/header/header.component.html index 4f5a95d..16f60b1 100644 --- a/src/app/core/components/header/header.component.html +++ b/src/app/core/components/header/header.component.html @@ -1 +1,43 @@ -

header works!

+
+
+ + + + + + + + + + +
+

Username

+ +
+
+
diff --git a/src/app/core/components/header/header.component.scss b/src/app/core/components/header/header.component.scss index e69de29..a820325 100644 --- a/src/app/core/components/header/header.component.scss +++ b/src/app/core/components/header/header.component.scss @@ -0,0 +1,33 @@ +@import '@taiga-ui/core/styles/taiga-ui-local'; + +.header { + background-color: var(--tui-base-02); +} + +.header-wrapper { + display: flex; + flex-direction: row; + gap: 20px; + align-items: center; + justify-content: center; + + width: 100%; +} + +.header-setting { + margin-left: auto; +} + +.header-search { + flex-grow: 1; + max-width: 800px; +} + +.header-user { + display: flex; + flex-direction: row; + gap: 20px; + + margin-right: 20px; + margin-left: auto; +} diff --git a/src/app/core/components/header/header.component.ts b/src/app/core/components/header/header.component.ts index fed5b43..79541dd 100644 --- a/src/app/core/components/header/header.component.ts +++ b/src/app/core/components/header/header.component.ts @@ -1,11 +1,55 @@ -import { CommonModule } from '@angular/common' -import { Component } from '@angular/core' +import { NgOptimizedImage } from '@angular/common' +import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core' +import { TuiActiveZoneModule } from '@taiga-ui/cdk' +import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms' +import { TuiInputModule, TuiActionModule } from '@taiga-ui/kit' +import { TuiTextfieldControllerModule, TuiButtonModule, TuiDropdownModule } from '@taiga-ui/core' +import { RouterModule } from '@angular/router' +import { TuiAvatarModule, TuiFallbackSrcModule } from '@taiga-ui/experimental' +import { SearchSettingsComponent } from './search-settings/search-settings.component' +import type { SortSetting } from '../../../shared/model/sort-setting.interface' @Component({ selector: 'app-header', - imports: [CommonModule], + imports: [ + ReactiveFormsModule, + TuiInputModule, + TuiTextfieldControllerModule, + NgOptimizedImage, + RouterModule, + TuiActionModule, + TuiButtonModule, + TuiAvatarModule, + TuiFallbackSrcModule, + TuiDropdownModule, + TuiActiveZoneModule, + SearchSettingsComponent, + ], templateUrl: './header.component.html', styleUrls: ['./header.component.scss'], standalone: true, + changeDetection: ChangeDetectionStrategy.OnPush, }) -export class HeaderComponent {} +export class HeaderComponent { + @Output() searchClick = new EventEmitter() + + @Output() settingsClick = new EventEmitter() + + onSearchSettingsEvent(event: SortSetting) { + this.settingsClick.emit(event) + } + + open = false + + settingsOnClick(): void { + this.open = !this.open + } + + onActiveZone(active: boolean): void { + this.open = active && this.open + } + + searchForm = new FormGroup({ + searchInput: new FormControl(), + }) +} From 57ca4ed2a83ef2430f4e2835a1d62cdee76f81c5 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 01:58:24 +0400 Subject: [PATCH 23/51] feat(header): add search-settings component --- .../search-settings.component.html | 24 ++++++++++++++ .../search-settings.component.scss | 11 +++++++ .../search-settings.component.spec.ts | 21 ++++++++++++ .../search-settings.component.ts | 33 +++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 src/app/core/components/header/search-settings/search-settings.component.html create mode 100644 src/app/core/components/header/search-settings/search-settings.component.scss create mode 100644 src/app/core/components/header/search-settings/search-settings.component.spec.ts create mode 100644 src/app/core/components/header/search-settings/search-settings.component.ts diff --git a/src/app/core/components/header/search-settings/search-settings.component.html b/src/app/core/components/header/search-settings/search-settings.component.html new file mode 100644 index 0000000..a23d5a7 --- /dev/null +++ b/src/app/core/components/header/search-settings/search-settings.component.html @@ -0,0 +1,24 @@ +
+
+

Sorting by

+
+
+ Date: + +
+
+ View Counts: + +
+ + Type a something + + +
+
+
diff --git a/src/app/core/components/header/search-settings/search-settings.component.scss b/src/app/core/components/header/search-settings/search-settings.component.scss new file mode 100644 index 0000000..3cce150 --- /dev/null +++ b/src/app/core/components/header/search-settings/search-settings.component.scss @@ -0,0 +1,11 @@ +.search-settings { + width: 250px; +} + +.search-settings-text { + margin-right: 10px; +} + +.search-settings-input { + margin: 20px 0; +} diff --git a/src/app/core/components/header/search-settings/search-settings.component.spec.ts b/src/app/core/components/header/search-settings/search-settings.component.spec.ts new file mode 100644 index 0000000..2bf9618 --- /dev/null +++ b/src/app/core/components/header/search-settings/search-settings.component.spec.ts @@ -0,0 +1,21 @@ +import { type ComponentFixture, TestBed } from '@angular/core/testing' + +import { SearchSettingsComponent } from './search-settings.component' + +describe('SearchSettingsComponent', () => { + let component: SearchSettingsComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [SearchSettingsComponent], + }) + fixture = TestBed.createComponent(SearchSettingsComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/core/components/header/search-settings/search-settings.component.ts b/src/app/core/components/header/search-settings/search-settings.component.ts new file mode 100644 index 0000000..f4a4e4e --- /dev/null +++ b/src/app/core/components/header/search-settings/search-settings.component.ts @@ -0,0 +1,33 @@ +import { Component, Output, EventEmitter, type OnInit } from '@angular/core' +import { CommonModule } from '@angular/common' +import { FormsModule, ReactiveFormsModule, FormGroup, FormControl } from '@angular/forms' +import { TuiToggleModule, TuiInputModule } from '@taiga-ui/kit' +import type { SortSetting } from '../../../../shared/model/sort-setting.interface' + +@Component({ + selector: 'app-search-settings', + standalone: true, + imports: [CommonModule, FormsModule, ReactiveFormsModule, TuiToggleModule, TuiInputModule], + templateUrl: './search-settings.component.html', + styleUrls: ['./search-settings.component.scss'], +}) +export class SearchSettingsComponent implements OnInit { + @Output() searchSettings = new EventEmitter() + + sortForm = new FormGroup({ + sortByDate: new FormControl(), + sortByViewCount: new FormControl(), + sortByTitle: new FormControl(), + }) + + ngOnInit() { + this.sortForm.valueChanges.subscribe(() => { + const sortForm: SortSetting = { + sortByDate: this.sortForm.get('sortByDate')?.value ? 'asc' : 'desc', + sortByViewCount: this.sortForm.get('sortByViewCount')?.value ? 'asc' : 'desc', + sortByTitle: this.sortForm.get('sortByTitle')?.value, + } + this.searchSettings.emit(sortForm) + }) + } +} From 7dff1920ec5770c3358c740a265a07a543684431 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 02:00:37 +0400 Subject: [PATCH 24/51] feat(shared): add button text component --- .../button-text/button-text.component.html | 3 +++ .../button-text/button-text.component.scss | 0 .../button-text/button-text.component.spec.ts | 21 +++++++++++++++++++ .../button-text/button-text.component.ts | 11 ++++++++++ 4 files changed, 35 insertions(+) create mode 100644 src/app/shared/component/button-text/button-text.component.html create mode 100644 src/app/shared/component/button-text/button-text.component.scss create mode 100644 src/app/shared/component/button-text/button-text.component.spec.ts create mode 100644 src/app/shared/component/button-text/button-text.component.ts diff --git a/src/app/shared/component/button-text/button-text.component.html b/src/app/shared/component/button-text/button-text.component.html new file mode 100644 index 0000000..49b7d66 --- /dev/null +++ b/src/app/shared/component/button-text/button-text.component.html @@ -0,0 +1,3 @@ + diff --git a/src/app/shared/component/button-text/button-text.component.scss b/src/app/shared/component/button-text/button-text.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/shared/component/button-text/button-text.component.spec.ts b/src/app/shared/component/button-text/button-text.component.spec.ts new file mode 100644 index 0000000..0c7e146 --- /dev/null +++ b/src/app/shared/component/button-text/button-text.component.spec.ts @@ -0,0 +1,21 @@ +import { TestBed, type ComponentFixture } from '@angular/core/testing' + +import { ButtonTextComponent } from './button-text.component' + +describe('ButtonTextComponent', () => { + let component: ButtonTextComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [ButtonTextComponent], + }) + fixture = TestBed.createComponent(ButtonTextComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/shared/component/button-text/button-text.component.ts b/src/app/shared/component/button-text/button-text.component.ts new file mode 100644 index 0000000..d688677 --- /dev/null +++ b/src/app/shared/component/button-text/button-text.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core' +import { TuiButtonModule } from '@taiga-ui/core' + +@Component({ + selector: 'app-button-text', + templateUrl: './button-text.component.html', + styleUrls: ['./button-text.component.scss'], + standalone: true, + imports: [TuiButtonModule], +}) +export class ButtonTextComponent {} From 6c3dc2ad1b0540f2144416d65da59fb7f7a79418 Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 02:01:55 +0400 Subject: [PATCH 25/51] feat(shared): add date colorizer directive --- .../date-colorizer.directive.ts | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/app/shared/directives/date-colorizer/date-colorizer.directive.ts diff --git a/src/app/shared/directives/date-colorizer/date-colorizer.directive.ts b/src/app/shared/directives/date-colorizer/date-colorizer.directive.ts new file mode 100644 index 0000000..db04675 --- /dev/null +++ b/src/app/shared/directives/date-colorizer/date-colorizer.directive.ts @@ -0,0 +1,50 @@ +import { type OnInit, Directive, ElementRef, Input, Renderer2, inject } from '@angular/core' + +const enum ColorClass { + blue = 'color-blue', + green = 'color-green', + yellow = 'color-yellow', + red = 'color-red', +} + +@Directive({ + selector: '[appDateToColor]', +}) +export class DateColorizerDirective implements OnInit { + @Input() public date!: string + + private renderer = inject(Renderer2) + + private element = inject(ElementRef) + + private readonly oneDayInMilliseconds = 24 * 60 * 60 * 1000 + + // eslint-disable-next-line class-methods-use-this + private getColorClassByDate(date: Date): ColorClass { + const currentDate = new Date() + const diffInDays = Math.floor( + (currentDate.getTime() - date.getTime()) / this.oneDayInMilliseconds, + ) + + if (diffInDays <= 7) { + return ColorClass.blue + } + + if (diffInDays <= 30) { + return ColorClass.green + } + + if (diffInDays <= 180) { + return ColorClass.yellow + } + + return ColorClass.red + } + + ngOnInit(): void { + const dateInstance = new Date(this.date) + const colorClass = this.getColorClassByDate(dateInstance) + + this.renderer.addClass(this.element.nativeElement, colorClass) + } +} From 603db716d3178ff45d2ef8ff1bb89727c5d159fd Mon Sep 17 00:00:00 2001 From: Anthony Date: Tue, 31 Oct 2023 02:03:01 +0400 Subject: [PATCH 26/51] feat(shared): add sort settings interface --- src/app/shared/model/sort-setting.interface.ts | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/app/shared/model/sort-setting.interface.ts diff --git a/src/app/shared/model/sort-setting.interface.ts b/src/app/shared/model/sort-setting.interface.ts new file mode 100644 index 0000000..001023a --- /dev/null +++ b/src/app/shared/model/sort-setting.interface.ts @@ -0,0 +1,5 @@ +export interface SortSetting { + sortByDate: 'asc' | 'desc' | null + sortByViewCount: 'asc' | 'desc' | null + sortByTitle: string | null +} From 134dbc18fa4b6a46a1158c771b4869e56ab9b001 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 3 Nov 2023 03:54:26 +0400 Subject: [PATCH 27/51] refactor(app): add/change semantic for seo & accesability --- .../components/header/header.component.html | 26 +++++++++---------- .../components/header/header.component.scss | 12 ++++++--- src/app/main-page/card/card.component.html | 7 ++++- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/app/core/components/header/header.component.html b/src/app/core/components/header/header.component.html index 16f60b1..86d3538 100644 --- a/src/app/core/components/header/header.component.html +++ b/src/app/core/components/header/header.component.html @@ -1,13 +1,7 @@ -
+
- + -

Username

-
+ diff --git a/src/app/core/components/header/header.component.scss b/src/app/core/components/header/header.component.scss index a820325..e60f7a2 100644 --- a/src/app/core/components/header/header.component.scss +++ b/src/app/core/components/header/header.component.scss @@ -1,10 +1,7 @@ @import '@taiga-ui/core/styles/taiga-ui-local'; -.header { - background-color: var(--tui-base-02); -} - .header-wrapper { + background-color: var(--tui-base-02); display: flex; flex-direction: row; gap: 20px; @@ -19,8 +16,11 @@ } .header-search { + display: flex; + flex-direction: row; flex-grow: 1; max-width: 800px; + gap: 20px; } .header-user { @@ -31,3 +31,7 @@ margin-right: 20px; margin-left: auto; } + +.header-search-input { + flex-grow: 2; +} diff --git a/src/app/main-page/card/card.component.html b/src/app/main-page/card/card.component.html index 80b532f..5aedaf9 100644 --- a/src/app/main-page/card/card.component.html +++ b/src/app/main-page/card/card.component.html @@ -1,5 +1,10 @@ - +
From 7740cfc5e6136340c1cc6659a5c65cd818654f58 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 3 Nov 2023 03:58:23 +0400 Subject: [PATCH 28/51] refactor: rewrite SortSetting interface with SortSettingType enum --- .../search-settings/search-settings.component.ts | 14 +++++++++----- .../pipe/filter-video-title.pipe.ts | 3 ++- .../cards-container/pipe/sort-video-date.pipe.ts | 5 +++-- .../cards-container/pipe/sort-video-views.pipe.ts | 7 +++++-- src/app/main-page/main-page.component.ts | 2 +- src/app/shared/enums/sort-setting.ts | 4 ++++ src/app/shared/model/sort-setting.interface.ts | 6 ++++-- 7 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 src/app/shared/enums/sort-setting.ts diff --git a/src/app/core/components/header/search-settings/search-settings.component.ts b/src/app/core/components/header/search-settings/search-settings.component.ts index f4a4e4e..00db426 100644 --- a/src/app/core/components/header/search-settings/search-settings.component.ts +++ b/src/app/core/components/header/search-settings/search-settings.component.ts @@ -3,6 +3,7 @@ import { CommonModule } from '@angular/common' import { FormsModule, ReactiveFormsModule, FormGroup, FormControl } from '@angular/forms' import { TuiToggleModule, TuiInputModule } from '@taiga-ui/kit' import type { SortSetting } from '../../../../shared/model/sort-setting.interface' +import { SortSettingType } from '../../../../shared/enums/sort-setting' @Component({ selector: 'app-search-settings', @@ -22,12 +23,15 @@ export class SearchSettingsComponent implements OnInit { ngOnInit() { this.sortForm.valueChanges.subscribe(() => { - const sortForm: SortSetting = { - sortByDate: this.sortForm.get('sortByDate')?.value ? 'asc' : 'desc', - sortByViewCount: this.sortForm.get('sortByViewCount')?.value ? 'asc' : 'desc', - sortByTitle: this.sortForm.get('sortByTitle')?.value, + const sortForm = this.sortForm.getRawValue() + + const sortSettings: SortSetting = { + sortByDate: sortForm.sortByDate ? SortSettingType.asc : SortSettingType.desc, + sortByViewCount: sortForm.sortByViewCount ? SortSettingType.asc : SortSettingType.desc, + sortByTitle: sortForm.sortByTitle, } - this.searchSettings.emit(sortForm) + + this.searchSettings.emit(sortSettings) }) } } diff --git a/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts b/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts index d5ee0d2..7b31252 100644 --- a/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts +++ b/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts @@ -1,12 +1,13 @@ import { Pipe, type PipeTransform } from '@angular/core' import type { Video } from '../../models/responce.interface' +import type { SortSetting } from '../../../shared/model/sort-setting.interface' @Pipe({ name: 'filterVideoByTitlePipe', }) export class FilterVideoByTitlePipe implements PipeTransform { // eslint-disable-next-line class-methods-use-this - transform(value: Video[], filterString: string | null): Video[] { + transform(value: Video[], filterString: SortSetting['sortByTitle']): Video[] { if (!value || !filterString) { return value } diff --git a/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts b/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts index 648b2a6..13e5d4d 100644 --- a/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts +++ b/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts @@ -1,12 +1,13 @@ import { Pipe, type PipeTransform } from '@angular/core' import type { Video } from '../../models/responce.interface' +import { SortSettingType } from '../../../shared/enums/sort-setting' @Pipe({ name: 'sortVideoByDatePipe', }) export class SortVideoByDatePipe implements PipeTransform { // eslint-disable-next-line class-methods-use-this - transform(value: Video[], sortDateSetting: 'asc' | 'desc' | null): Video[] { + transform(value: Video[], sortDateSetting: SortSettingType | null): Video[] { if (!value || !sortDateSetting) { return value } @@ -15,7 +16,7 @@ export class SortVideoByDatePipe implements PipeTransform { const dateA = new Date(a.snippet.publishedAt) const dateB = new Date(b.snippet.publishedAt) - return sortDateSetting === 'asc' + return sortDateSetting === SortSettingType.asc ? dateA.getTime() - dateB.getTime() : dateB.getTime() - dateA.getTime() }) diff --git a/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts b/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts index 7cd4c9a..a0de8ed 100644 --- a/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts +++ b/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts @@ -1,12 +1,13 @@ import { Pipe, type PipeTransform } from '@angular/core' import type { Video } from '../../models/responce.interface' +import { SortSettingType } from '../../../shared/enums/sort-setting' @Pipe({ name: 'sortVideoByViewsPipe', }) export class SortVideoByViewsPipe implements PipeTransform { // eslint-disable-next-line class-methods-use-this - transform(value: Video[], sortViewsSetting: 'asc' | 'desc' | null): Video[] { + transform(value: Video[], sortViewsSetting: SortSettingType | null): Video[] { if (!value || !sortViewsSetting) { return value } @@ -15,7 +16,9 @@ export class SortVideoByViewsPipe implements PipeTransform { const viewCountA = Number(a.statistics.viewCount) const viewCountB = Number(b.statistics.viewCount) - return sortViewsSetting === 'asc' ? viewCountA - viewCountB : viewCountB - viewCountA + return sortViewsSetting === SortSettingType.asc + ? viewCountA - viewCountB + : viewCountB - viewCountA }) } } diff --git a/src/app/main-page/main-page.component.ts b/src/app/main-page/main-page.component.ts index 2f918f5..6eda7cd 100644 --- a/src/app/main-page/main-page.component.ts +++ b/src/app/main-page/main-page.component.ts @@ -15,7 +15,7 @@ export class MainPageComponent implements AfterViewInit { sortSetting: SortSetting = { sortByViewCount: null, sortByDate: null, - sortByTitle: '', + sortByTitle: null, } processSearchClick() { diff --git a/src/app/shared/enums/sort-setting.ts b/src/app/shared/enums/sort-setting.ts new file mode 100644 index 0000000..9c37e69 --- /dev/null +++ b/src/app/shared/enums/sort-setting.ts @@ -0,0 +1,4 @@ +export const enum SortSettingType { + asc = 'asc', + desc = 'desc', +} diff --git a/src/app/shared/model/sort-setting.interface.ts b/src/app/shared/model/sort-setting.interface.ts index 001023a..874566f 100644 --- a/src/app/shared/model/sort-setting.interface.ts +++ b/src/app/shared/model/sort-setting.interface.ts @@ -1,5 +1,7 @@ +import type { SortSettingType } from '../enums/sort-setting' + export interface SortSetting { - sortByDate: 'asc' | 'desc' | null - sortByViewCount: 'asc' | 'desc' | null + sortByDate: SortSettingType | null + sortByViewCount: SortSettingType | null sortByTitle: string | null } From 2e8c63589f7f505b71ac4c6e799fd821200ec252 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 3 Nov 2023 03:59:13 +0400 Subject: [PATCH 29/51] feat(project): add refactor command for npm run --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2df72f1..d8cffab 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "stylelint:fix": "npx stylelint ./**/*.scss --fix", "format": "prettier --check \"src/**/*.ts\"", "format:fix": "prettier --write \"src/**/*.ts\"", - "prepare": "husky install" + "prepare": "husky install", + "refactor": "npm run stylelint:fix && npm run lint:fix && npm run format:fix" }, "private": true, "dependencies": { From 4aa9083ea54034c37328cbc3c20aafe7f646d660 Mon Sep 17 00:00:00 2001 From: Anthony Date: Mon, 6 Nov 2023 01:34:27 +0400 Subject: [PATCH 30/51] refactor(app): rewrite project structure according task requirements --- src/app/app-routing.module.ts | 4 +-- src/app/app.component.html | 1 + src/app/app.module.ts | 6 ++-- .../components/header/header.component.html | 8 ++--- .../components/header/header.component.ts | 25 +++++++--------- .../search-settings.component.html | 0 .../search-settings.component.scss | 0 .../search-settings.component.spec.ts | 0 .../search-settings.component.ts | 11 +++---- src/app/core/core.module.ts | 4 ++- .../not-found/not-found.component.html | 0 .../not-found/not-found.component.scss | 0 .../not-found/not-found.component.spec.ts | 0 .../not-found/not-found.component.ts | 0 .../cards-container.component.ts | 15 ---------- src/app/main-page/main-page.component.html | 6 ---- src/app/main-page/main-page.component.ts | 30 ------------------- .../button-text/button-text.component.html | 0 .../button-text/button-text.component.scss | 0 .../button-text/button-text.component.spec.ts | 0 .../button-text/button-text.component.ts | 0 .../sort-setting.interface.ts | 0 .../components}/card/card.component.html | 0 .../components}/card/card.component.scss | 0 .../components}/card/card.component.spec.ts | 0 .../components}/card/card.component.ts | 2 +- .../cards-container.component.html | 6 ++-- .../cards-container.component.scss | 0 .../cards-container.component.spec.ts | 0 .../cards-container.component.ts | 27 +++++++++++++++++ .../models/responce.interface.ts | 0 .../pages/main/main-page.component.html | 1 + .../pages/main}/main-page.component.scss | 0 .../pages/main}/main-page.component.spec.ts | 0 .../youtube/pages/main/main-page.component.ts | 19 ++++++++++++ .../pipes}/filter-video-title.pipe.ts | 4 +-- .../pipes}/sort-video-date.pipe.ts | 4 +-- .../pipes}/sort-video-views.pipe.ts | 4 +-- .../response-mock/response.json | 0 .../services/search-settings.service.spec.ts | 16 ++++++++++ .../services/search-settings.service.ts | 26 ++++++++++++++++ .../youtube.module.ts} | 20 ++++++------- 42 files changed, 139 insertions(+), 100 deletions(-) rename src/app/core/components/{header => }/search-settings/search-settings.component.html (100%) rename src/app/core/components/{header => }/search-settings/search-settings.component.scss (100%) rename src/app/core/components/{header => }/search-settings/search-settings.component.spec.ts (100%) rename src/app/core/components/{header => }/search-settings/search-settings.component.ts (71%) rename src/app/core/{components => pages}/not-found/not-found.component.html (100%) rename src/app/core/{components => pages}/not-found/not-found.component.scss (100%) rename src/app/core/{components => pages}/not-found/not-found.component.spec.ts (100%) rename src/app/core/{components => pages}/not-found/not-found.component.ts (100%) delete mode 100644 src/app/main-page/cards-container/cards-container.component.ts delete mode 100644 src/app/main-page/main-page.component.html delete mode 100644 src/app/main-page/main-page.component.ts rename src/app/shared/{component => components}/button-text/button-text.component.html (100%) rename src/app/shared/{component => components}/button-text/button-text.component.scss (100%) rename src/app/shared/{component => components}/button-text/button-text.component.spec.ts (100%) rename src/app/shared/{component => components}/button-text/button-text.component.ts (100%) rename src/app/shared/{model => models}/sort-setting.interface.ts (100%) rename src/app/{main-page => youtube/components}/card/card.component.html (100%) rename src/app/{main-page => youtube/components}/card/card.component.scss (100%) rename src/app/{main-page => youtube/components}/card/card.component.spec.ts (100%) rename src/app/{main-page => youtube/components}/card/card.component.ts (79%) rename src/app/{main-page => youtube/components}/cards-container/cards-container.component.html (55%) rename src/app/{main-page => youtube/components}/cards-container/cards-container.component.scss (100%) rename src/app/{main-page => youtube/components}/cards-container/cards-container.component.spec.ts (100%) create mode 100644 src/app/youtube/components/cards-container/cards-container.component.ts rename src/app/{main-page => youtube}/models/responce.interface.ts (100%) create mode 100644 src/app/youtube/pages/main/main-page.component.html rename src/app/{main-page => youtube/pages/main}/main-page.component.scss (100%) rename src/app/{main-page => youtube/pages/main}/main-page.component.spec.ts (100%) create mode 100644 src/app/youtube/pages/main/main-page.component.ts rename src/app/{main-page/cards-container/pipe => youtube/pipes}/filter-video-title.pipe.ts (78%) rename src/app/{main-page/cards-container/pipe => youtube/pipes}/sort-video-date.pipe.ts (83%) rename src/app/{main-page/cards-container/pipe => youtube/pipes}/sort-video-views.pipe.ts (83%) rename src/app/{main-page => youtube}/response-mock/response.json (100%) create mode 100644 src/app/youtube/services/search-settings.service.spec.ts create mode 100644 src/app/youtube/services/search-settings.service.ts rename src/app/{main-page/main-page.module.ts => youtube/youtube.module.ts} (50%) diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 53d8cd6..021f9a8 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core' import { RouterModule, type Routes } from '@angular/router' -import { MainPageComponent } from './main-page/main-page.component' +import { MainPageComponent } from './youtube/pages/main/main-page.component' const routes: Routes = [ { path: '', pathMatch: 'full', redirectTo: 'main' }, @@ -13,7 +13,7 @@ const routes: Routes = [ path: '**', title: '404 - Not found', loadComponent: () => - import('./core/components/not-found/not-found.component').then( + import('./core/pages/not-found/not-found.component').then( component => component.NotFoundComponent, ), }, diff --git a/src/app/app.component.html b/src/app/app.component.html index 6aae851..73ddc6f 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,3 +1,4 @@ + diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 03cec68..a347649 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -6,14 +6,16 @@ import { BrowserModule } from '@angular/platform-browser' import { AppRoutingModule } from './app-routing.module' import { AppComponent } from './app.component' -import { MainPageModule } from './main-page/main-page.module' +import { YoutubeModule } from './youtube/youtube.module' +import { CoreModule } from './core/core.module' @NgModule({ declarations: [AppComponent], imports: [ + CoreModule, BrowserModule, AppRoutingModule, - MainPageModule, + YoutubeModule, BrowserAnimationsModule, TuiRootModule, TuiDialogModule, diff --git a/src/app/core/components/header/header.component.html b/src/app/core/components/header/header.component.html index 86d3538..bfea4cb 100644 --- a/src/app/core/components/header/header.component.html +++ b/src/app/core/components/header/header.component.html @@ -11,12 +11,12 @@ appearance="secondary-destructive" class="header-setting" [tuiDropdown]="dropdownContent" - [tuiDropdownManual]="open" + [tuiDropdownManual]="isSearchSettingsMenuOpen" (click)="settingsOnClick()" (tuiActiveZoneChange)="onActiveZone($event)" > + >
diff --git a/src/app/core/components/header/header.component.ts b/src/app/core/components/header/header.component.ts index 79541dd..2c7e086 100644 --- a/src/app/core/components/header/header.component.ts +++ b/src/app/core/components/header/header.component.ts @@ -1,13 +1,13 @@ import { NgOptimizedImage } from '@angular/common' -import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core' +import { Component, inject } from '@angular/core' import { TuiActiveZoneModule } from '@taiga-ui/cdk' import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms' import { TuiInputModule, TuiActionModule } from '@taiga-ui/kit' import { TuiTextfieldControllerModule, TuiButtonModule, TuiDropdownModule } from '@taiga-ui/core' import { RouterModule } from '@angular/router' import { TuiAvatarModule, TuiFallbackSrcModule } from '@taiga-ui/experimental' -import { SearchSettingsComponent } from './search-settings/search-settings.component' -import type { SortSetting } from '../../../shared/model/sort-setting.interface' +import { SearchSettingsService } from '../../../youtube/services/search-settings.service' +import { SearchSettingsComponent } from '../search-settings/search-settings.component' @Component({ selector: 'app-header', @@ -28,25 +28,22 @@ import type { SortSetting } from '../../../shared/model/sort-setting.interface' templateUrl: './header.component.html', styleUrls: ['./header.component.scss'], standalone: true, - changeDetection: ChangeDetectionStrategy.OnPush, }) export class HeaderComponent { - @Output() searchClick = new EventEmitter() + private searchSettings = inject(SearchSettingsService) - @Output() settingsClick = new EventEmitter() - - onSearchSettingsEvent(event: SortSetting) { - this.settingsClick.emit(event) - } - - open = false + isSearchSettingsMenuOpen = false settingsOnClick(): void { - this.open = !this.open + this.isSearchSettingsMenuOpen = !this.isSearchSettingsMenuOpen } onActiveZone(active: boolean): void { - this.open = active && this.open + this.isSearchSettingsMenuOpen = active && this.isSearchSettingsMenuOpen + } + + searchClick() { + this.searchSettings.onSearchVideosEvent(true) } searchForm = new FormGroup({ diff --git a/src/app/core/components/header/search-settings/search-settings.component.html b/src/app/core/components/search-settings/search-settings.component.html similarity index 100% rename from src/app/core/components/header/search-settings/search-settings.component.html rename to src/app/core/components/search-settings/search-settings.component.html diff --git a/src/app/core/components/header/search-settings/search-settings.component.scss b/src/app/core/components/search-settings/search-settings.component.scss similarity index 100% rename from src/app/core/components/header/search-settings/search-settings.component.scss rename to src/app/core/components/search-settings/search-settings.component.scss diff --git a/src/app/core/components/header/search-settings/search-settings.component.spec.ts b/src/app/core/components/search-settings/search-settings.component.spec.ts similarity index 100% rename from src/app/core/components/header/search-settings/search-settings.component.spec.ts rename to src/app/core/components/search-settings/search-settings.component.spec.ts diff --git a/src/app/core/components/header/search-settings/search-settings.component.ts b/src/app/core/components/search-settings/search-settings.component.ts similarity index 71% rename from src/app/core/components/header/search-settings/search-settings.component.ts rename to src/app/core/components/search-settings/search-settings.component.ts index 00db426..97c173d 100644 --- a/src/app/core/components/header/search-settings/search-settings.component.ts +++ b/src/app/core/components/search-settings/search-settings.component.ts @@ -1,9 +1,10 @@ -import { Component, Output, EventEmitter, type OnInit } from '@angular/core' +import { Component, inject, type OnInit } from '@angular/core' import { CommonModule } from '@angular/common' import { FormsModule, ReactiveFormsModule, FormGroup, FormControl } from '@angular/forms' import { TuiToggleModule, TuiInputModule } from '@taiga-ui/kit' -import type { SortSetting } from '../../../../shared/model/sort-setting.interface' -import { SortSettingType } from '../../../../shared/enums/sort-setting' +import type { SortSetting } from '../../../shared/models/sort-setting.interface' +import { SortSettingType } from '../../../shared/enums/sort-setting' +import { SearchSettingsService } from '../../../youtube/services/search-settings.service' @Component({ selector: 'app-search-settings', @@ -13,7 +14,7 @@ import { SortSettingType } from '../../../../shared/enums/sort-setting' styleUrls: ['./search-settings.component.scss'], }) export class SearchSettingsComponent implements OnInit { - @Output() searchSettings = new EventEmitter() + private searchSettings = inject(SearchSettingsService) sortForm = new FormGroup({ sortByDate: new FormControl(), @@ -31,7 +32,7 @@ export class SearchSettingsComponent implements OnInit { sortByTitle: sortForm.sortByTitle, } - this.searchSettings.emit(sortSettings) + this.searchSettings.onSearchSettingsEvent(sortSettings) }) } } diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index 57d17d7..73416c3 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -1,8 +1,10 @@ import { NgModule } from '@angular/core' import { CommonModule } from '@angular/common' +import { HeaderComponent } from './components/header/header.component' @NgModule({ declarations: [], - imports: [CommonModule], + imports: [CommonModule, HeaderComponent], + exports: [HeaderComponent], }) export class CoreModule {} diff --git a/src/app/core/components/not-found/not-found.component.html b/src/app/core/pages/not-found/not-found.component.html similarity index 100% rename from src/app/core/components/not-found/not-found.component.html rename to src/app/core/pages/not-found/not-found.component.html diff --git a/src/app/core/components/not-found/not-found.component.scss b/src/app/core/pages/not-found/not-found.component.scss similarity index 100% rename from src/app/core/components/not-found/not-found.component.scss rename to src/app/core/pages/not-found/not-found.component.scss diff --git a/src/app/core/components/not-found/not-found.component.spec.ts b/src/app/core/pages/not-found/not-found.component.spec.ts similarity index 100% rename from src/app/core/components/not-found/not-found.component.spec.ts rename to src/app/core/pages/not-found/not-found.component.spec.ts diff --git a/src/app/core/components/not-found/not-found.component.ts b/src/app/core/pages/not-found/not-found.component.ts similarity index 100% rename from src/app/core/components/not-found/not-found.component.ts rename to src/app/core/pages/not-found/not-found.component.ts diff --git a/src/app/main-page/cards-container/cards-container.component.ts b/src/app/main-page/cards-container/cards-container.component.ts deleted file mode 100644 index d4254a3..0000000 --- a/src/app/main-page/cards-container/cards-container.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component, Input, ChangeDetectionStrategy } from '@angular/core' -import data from '../response-mock/response.json' -import { SortSetting } from '../../shared/model/sort-setting.interface' - -@Component({ - selector: 'app-cards-container', - templateUrl: './cards-container.component.html', - styleUrls: ['./cards-container.component.scss'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class CardsContainerComponent { - @Input({ required: true }) sortSetting!: SortSetting - - items = data.items -} diff --git a/src/app/main-page/main-page.component.html b/src/app/main-page/main-page.component.html deleted file mode 100644 index cbf73e3..0000000 --- a/src/app/main-page/main-page.component.html +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/src/app/main-page/main-page.component.ts b/src/app/main-page/main-page.component.ts deleted file mode 100644 index 6eda7cd..0000000 --- a/src/app/main-page/main-page.component.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Component, ViewChild, type AfterViewInit } from '@angular/core' -import { HeaderComponent } from '../core/components/header/header.component' -import type { SortSetting } from '../shared/model/sort-setting.interface' - -@Component({ - selector: 'app-main-page', - templateUrl: './main-page.component.html', - styleUrls: ['./main-page.component.scss'], -}) -export class MainPageComponent implements AfterViewInit { - @ViewChild(HeaderComponent) childComponent!: HeaderComponent - - showCards = false - - sortSetting: SortSetting = { - sortByViewCount: null, - sortByDate: null, - sortByTitle: null, - } - - processSearchClick() { - if (!this.showCards) this.showCards = true - } - - ngAfterViewInit() { - this.childComponent.settingsClick.subscribe((sortSetting: SortSetting) => { - this.sortSetting = sortSetting - }) - } -} diff --git a/src/app/shared/component/button-text/button-text.component.html b/src/app/shared/components/button-text/button-text.component.html similarity index 100% rename from src/app/shared/component/button-text/button-text.component.html rename to src/app/shared/components/button-text/button-text.component.html diff --git a/src/app/shared/component/button-text/button-text.component.scss b/src/app/shared/components/button-text/button-text.component.scss similarity index 100% rename from src/app/shared/component/button-text/button-text.component.scss rename to src/app/shared/components/button-text/button-text.component.scss diff --git a/src/app/shared/component/button-text/button-text.component.spec.ts b/src/app/shared/components/button-text/button-text.component.spec.ts similarity index 100% rename from src/app/shared/component/button-text/button-text.component.spec.ts rename to src/app/shared/components/button-text/button-text.component.spec.ts diff --git a/src/app/shared/component/button-text/button-text.component.ts b/src/app/shared/components/button-text/button-text.component.ts similarity index 100% rename from src/app/shared/component/button-text/button-text.component.ts rename to src/app/shared/components/button-text/button-text.component.ts diff --git a/src/app/shared/model/sort-setting.interface.ts b/src/app/shared/models/sort-setting.interface.ts similarity index 100% rename from src/app/shared/model/sort-setting.interface.ts rename to src/app/shared/models/sort-setting.interface.ts diff --git a/src/app/main-page/card/card.component.html b/src/app/youtube/components/card/card.component.html similarity index 100% rename from src/app/main-page/card/card.component.html rename to src/app/youtube/components/card/card.component.html diff --git a/src/app/main-page/card/card.component.scss b/src/app/youtube/components/card/card.component.scss similarity index 100% rename from src/app/main-page/card/card.component.scss rename to src/app/youtube/components/card/card.component.scss diff --git a/src/app/main-page/card/card.component.spec.ts b/src/app/youtube/components/card/card.component.spec.ts similarity index 100% rename from src/app/main-page/card/card.component.spec.ts rename to src/app/youtube/components/card/card.component.spec.ts diff --git a/src/app/main-page/card/card.component.ts b/src/app/youtube/components/card/card.component.ts similarity index 79% rename from src/app/main-page/card/card.component.ts rename to src/app/youtube/components/card/card.component.ts index 8be6e56..a0db90a 100644 --- a/src/app/main-page/card/card.component.ts +++ b/src/app/youtube/components/card/card.component.ts @@ -1,5 +1,5 @@ import { Component, Input } from '@angular/core' -import { type Video } from '../models/responce.interface' +import { type Video } from '../../models/responce.interface' @Component({ selector: 'app-card', diff --git a/src/app/main-page/cards-container/cards-container.component.html b/src/app/youtube/components/cards-container/cards-container.component.html similarity index 55% rename from src/app/main-page/cards-container/cards-container.component.html rename to src/app/youtube/components/cards-container/cards-container.component.html index b1d867a..6dd40c0 100644 --- a/src/app/main-page/cards-container/cards-container.component.html +++ b/src/app/youtube/components/cards-container/cards-container.component.html @@ -2,9 +2,9 @@ { + this.sortSettings = searchSettings + }) + } +} diff --git a/src/app/main-page/models/responce.interface.ts b/src/app/youtube/models/responce.interface.ts similarity index 100% rename from src/app/main-page/models/responce.interface.ts rename to src/app/youtube/models/responce.interface.ts diff --git a/src/app/youtube/pages/main/main-page.component.html b/src/app/youtube/pages/main/main-page.component.html new file mode 100644 index 0000000..d743742 --- /dev/null +++ b/src/app/youtube/pages/main/main-page.component.html @@ -0,0 +1 @@ + diff --git a/src/app/main-page/main-page.component.scss b/src/app/youtube/pages/main/main-page.component.scss similarity index 100% rename from src/app/main-page/main-page.component.scss rename to src/app/youtube/pages/main/main-page.component.scss diff --git a/src/app/main-page/main-page.component.spec.ts b/src/app/youtube/pages/main/main-page.component.spec.ts similarity index 100% rename from src/app/main-page/main-page.component.spec.ts rename to src/app/youtube/pages/main/main-page.component.spec.ts diff --git a/src/app/youtube/pages/main/main-page.component.ts b/src/app/youtube/pages/main/main-page.component.ts new file mode 100644 index 0000000..2cc8bba --- /dev/null +++ b/src/app/youtube/pages/main/main-page.component.ts @@ -0,0 +1,19 @@ +import { Component, type OnInit, inject } from '@angular/core' +import { SearchSettingsService } from '../../services/search-settings.service' + +@Component({ + selector: 'app-main-page', + templateUrl: './main-page.component.html', + styleUrls: ['./main-page.component.scss'], +}) +export class MainPageComponent implements OnInit { + private searchSettings = inject(SearchSettingsService) + + showVideos = false + + ngOnInit() { + this.searchSettings.searchVideos$.subscribe((searchVideos: boolean) => { + this.showVideos = searchVideos + }) + } +} diff --git a/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts b/src/app/youtube/pipes/filter-video-title.pipe.ts similarity index 78% rename from src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts rename to src/app/youtube/pipes/filter-video-title.pipe.ts index 7b31252..17573a8 100644 --- a/src/app/main-page/cards-container/pipe/filter-video-title.pipe.ts +++ b/src/app/youtube/pipes/filter-video-title.pipe.ts @@ -1,6 +1,6 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../../models/responce.interface' -import type { SortSetting } from '../../../shared/model/sort-setting.interface' +import type { Video } from '../models/responce.interface' +import type { SortSetting } from '../../shared/models/sort-setting.interface' @Pipe({ name: 'filterVideoByTitlePipe', diff --git a/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts b/src/app/youtube/pipes/sort-video-date.pipe.ts similarity index 83% rename from src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts rename to src/app/youtube/pipes/sort-video-date.pipe.ts index 13e5d4d..442b126 100644 --- a/src/app/main-page/cards-container/pipe/sort-video-date.pipe.ts +++ b/src/app/youtube/pipes/sort-video-date.pipe.ts @@ -1,6 +1,6 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../../models/responce.interface' -import { SortSettingType } from '../../../shared/enums/sort-setting' +import type { Video } from '../models/responce.interface' +import { SortSettingType } from '../../shared/enums/sort-setting' @Pipe({ name: 'sortVideoByDatePipe', diff --git a/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts b/src/app/youtube/pipes/sort-video-views.pipe.ts similarity index 83% rename from src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts rename to src/app/youtube/pipes/sort-video-views.pipe.ts index a0de8ed..08a2903 100644 --- a/src/app/main-page/cards-container/pipe/sort-video-views.pipe.ts +++ b/src/app/youtube/pipes/sort-video-views.pipe.ts @@ -1,6 +1,6 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../../models/responce.interface' -import { SortSettingType } from '../../../shared/enums/sort-setting' +import type { Video } from '../models/responce.interface' +import { SortSettingType } from '../../shared/enums/sort-setting' @Pipe({ name: 'sortVideoByViewsPipe', diff --git a/src/app/main-page/response-mock/response.json b/src/app/youtube/response-mock/response.json similarity index 100% rename from src/app/main-page/response-mock/response.json rename to src/app/youtube/response-mock/response.json diff --git a/src/app/youtube/services/search-settings.service.spec.ts b/src/app/youtube/services/search-settings.service.spec.ts new file mode 100644 index 0000000..d6f768e --- /dev/null +++ b/src/app/youtube/services/search-settings.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing' + +import { SearchSettingsService } from './search-settings.service' + +describe('SearchSettingsService', () => { + let service: SearchSettingsService + + beforeEach(() => { + TestBed.configureTestingModule({}) + service = TestBed.inject(SearchSettingsService) + }) + + it('should be created', () => { + expect(service).toBeTruthy() + }) +}) diff --git a/src/app/youtube/services/search-settings.service.ts b/src/app/youtube/services/search-settings.service.ts new file mode 100644 index 0000000..179f526 --- /dev/null +++ b/src/app/youtube/services/search-settings.service.ts @@ -0,0 +1,26 @@ +import { Injectable } from '@angular/core' +import { BehaviorSubject } from 'rxjs' +import type { SortSetting } from 'src/app/shared/models/sort-setting.interface' + +@Injectable() +export class SearchSettingsService { + private searchVideosSource = new BehaviorSubject(false) + + private searchSettingsSource = new BehaviorSubject({ + sortByDate: null, + sortByViewCount: null, + sortByTitle: null, + }) + + public searchSettings$ = this.searchSettingsSource.asObservable() + + public searchVideos$ = this.searchVideosSource.asObservable() + + public onSearchSettingsEvent(sortSettings: SortSetting) { + this.searchSettingsSource.next(sortSettings) + } + + public onSearchVideosEvent(searchVideos: boolean) { + this.searchVideosSource.next(searchVideos) + } +} diff --git a/src/app/main-page/main-page.module.ts b/src/app/youtube/youtube.module.ts similarity index 50% rename from src/app/main-page/main-page.module.ts rename to src/app/youtube/youtube.module.ts index 990c751..e986202 100644 --- a/src/app/main-page/main-page.module.ts +++ b/src/app/youtube/youtube.module.ts @@ -2,15 +2,15 @@ import { NgModule } from '@angular/core' import { TuiLazyLoadingModule, TuiIslandModule } from '@taiga-ui/kit' import { TuiSvgModule, TuiButtonModule } from '@taiga-ui/core' import { CommonModule } from '@angular/common' -import { HeaderComponent } from '../core/components/header/header.component' -import { MainPageComponent } from './main-page.component' -import { CardComponent } from './card/card.component' -import { CardsContainerComponent } from './cards-container/cards-container.component' +import { MainPageComponent } from './pages/main/main-page.component' +import { CardComponent } from './components/card/card.component' +import { CardsContainerComponent } from './components/cards-container/cards-container.component' import { DateColorizerDirective } from '../shared/directives/date-colorizer/date-colorizer.directive' -import { SortVideoByDatePipe } from './cards-container/pipe/sort-video-date.pipe' -import { SortVideoByViewsPipe } from './cards-container/pipe/sort-video-views.pipe' -import { FilterVideoByTitlePipe } from './cards-container/pipe/filter-video-title.pipe' -import { ButtonTextComponent } from '../shared/component/button-text/button-text.component' +import { SortVideoByDatePipe } from './pipes/sort-video-date.pipe' +import { SortVideoByViewsPipe } from './pipes/sort-video-views.pipe' +import { FilterVideoByTitlePipe } from './pipes/filter-video-title.pipe' +import { ButtonTextComponent } from '../shared/components/button-text/button-text.component' +import { SearchSettingsService } from './services/search-settings.service' @NgModule({ declarations: [ @@ -24,12 +24,12 @@ import { ButtonTextComponent } from '../shared/component/button-text/button-text ], imports: [ CommonModule, - HeaderComponent, ButtonTextComponent, TuiLazyLoadingModule, TuiIslandModule, TuiSvgModule, TuiButtonModule, ], + providers: [SearchSettingsService], }) -export class MainPageModule {} +export class YoutubeModule {} From cc884f0ecf24716f7266a54668868046c719b2bd Mon Sep 17 00:00:00 2001 From: alwaysadevzero Date: Mon, 6 Nov 2023 09:38:50 +0400 Subject: [PATCH 31/51] feat(core): implement not-found page --- .../pages/not-found/not-found.component.html | 8 +- .../pages/not-found/not-found.component.ts | 3 +- src/assets/images/not-found.svg | 102 ++++++++++++++++++ 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 src/assets/images/not-found.svg diff --git a/src/app/core/pages/not-found/not-found.component.html b/src/app/core/pages/not-found/not-found.component.html index 8071020..2d6c068 100644 --- a/src/app/core/pages/not-found/not-found.component.html +++ b/src/app/core/pages/not-found/not-found.component.html @@ -1 +1,7 @@ -

not-found works!

+
+ + not found +

404

+

Not found page

+
+
diff --git a/src/app/core/pages/not-found/not-found.component.ts b/src/app/core/pages/not-found/not-found.component.ts index 7b23234..57fe329 100644 --- a/src/app/core/pages/not-found/not-found.component.ts +++ b/src/app/core/pages/not-found/not-found.component.ts @@ -1,10 +1,11 @@ import { Component } from '@angular/core' import { CommonModule } from '@angular/common' +import { TuiBlockStatusModule } from '@taiga-ui/layout' @Component({ selector: 'app-not-found', standalone: true, - imports: [CommonModule], + imports: [CommonModule, TuiBlockStatusModule], templateUrl: './not-found.component.html', styleUrls: ['./not-found.component.scss'], }) diff --git a/src/assets/images/not-found.svg b/src/assets/images/not-found.svg new file mode 100644 index 0000000..b937552 --- /dev/null +++ b/src/assets/images/not-found.svg @@ -0,0 +1,102 @@ + From 36bcbe1182668c50912bfde92ee1bf3e9c36c2d5 Mon Sep 17 00:00:00 2001 From: alwaysadevzero Date: Mon, 6 Nov 2023 21:31:32 +0400 Subject: [PATCH 32/51] feat(youtube): add routing for youtube module --- src/app/app-routing.module.ts | 10 +++++++--- src/app/app.module.ts | 2 -- src/app/youtube/services/search-settings.service.ts | 6 +++--- src/app/youtube/youtube-routing.module.ts | 11 +++++++++++ src/app/youtube/youtube.module.ts | 4 ++-- 5 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 src/app/youtube/youtube-routing.module.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 021f9a8..83b1cd9 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,13 +1,17 @@ import { NgModule } from '@angular/core' import { RouterModule, type Routes } from '@angular/router' -import { MainPageComponent } from './youtube/pages/main/main-page.component' const routes: Routes = [ { path: '', pathMatch: 'full', redirectTo: 'main' }, { path: 'main', title: 'Main', - component: MainPageComponent, + loadChildren: () => import('./youtube/youtube.module').then(m => m.YoutubeModule), + }, + { + path: 'login', + title: 'Auth', + loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule), }, { path: '**', @@ -20,7 +24,7 @@ const routes: Routes = [ ] @NgModule({ - imports: [RouterModule.forRoot(routes, { useHash: true })], + imports: [RouterModule.forRoot(routes)], exports: [RouterModule], }) export class AppRoutingModule {} diff --git a/src/app/app.module.ts b/src/app/app.module.ts index a347649..28ded4a 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -6,7 +6,6 @@ import { BrowserModule } from '@angular/platform-browser' import { AppRoutingModule } from './app-routing.module' import { AppComponent } from './app.component' -import { YoutubeModule } from './youtube/youtube.module' import { CoreModule } from './core/core.module' @NgModule({ @@ -15,7 +14,6 @@ import { CoreModule } from './core/core.module' CoreModule, BrowserModule, AppRoutingModule, - YoutubeModule, BrowserAnimationsModule, TuiRootModule, TuiDialogModule, diff --git a/src/app/youtube/services/search-settings.service.ts b/src/app/youtube/services/search-settings.service.ts index 179f526..dda4a18 100644 --- a/src/app/youtube/services/search-settings.service.ts +++ b/src/app/youtube/services/search-settings.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@angular/core' import { BehaviorSubject } from 'rxjs' import type { SortSetting } from 'src/app/shared/models/sort-setting.interface' -@Injectable() +@Injectable({ providedIn: 'root' }) export class SearchSettingsService { private searchVideosSource = new BehaviorSubject(false) @@ -20,7 +20,7 @@ export class SearchSettingsService { this.searchSettingsSource.next(sortSettings) } - public onSearchVideosEvent(searchVideos: boolean) { - this.searchVideosSource.next(searchVideos) + public onSearchVideosEvent(showVideos: boolean) { + this.searchVideosSource.next(showVideos) } } diff --git a/src/app/youtube/youtube-routing.module.ts b/src/app/youtube/youtube-routing.module.ts new file mode 100644 index 0000000..171dacd --- /dev/null +++ b/src/app/youtube/youtube-routing.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core' +import { RouterModule, type Routes } from '@angular/router' +import { MainPageComponent } from './pages/main/main-page.component' + +const routes: Routes = [{ path: '', component: MainPageComponent }] + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class YoutubeRoutingModule {} diff --git a/src/app/youtube/youtube.module.ts b/src/app/youtube/youtube.module.ts index e986202..cde49c2 100644 --- a/src/app/youtube/youtube.module.ts +++ b/src/app/youtube/youtube.module.ts @@ -10,7 +10,7 @@ import { SortVideoByDatePipe } from './pipes/sort-video-date.pipe' import { SortVideoByViewsPipe } from './pipes/sort-video-views.pipe' import { FilterVideoByTitlePipe } from './pipes/filter-video-title.pipe' import { ButtonTextComponent } from '../shared/components/button-text/button-text.component' -import { SearchSettingsService } from './services/search-settings.service' +import { YoutubeRoutingModule } from './youtube-routing.module' @NgModule({ declarations: [ @@ -23,6 +23,7 @@ import { SearchSettingsService } from './services/search-settings.service' FilterVideoByTitlePipe, ], imports: [ + YoutubeRoutingModule, CommonModule, ButtonTextComponent, TuiLazyLoadingModule, @@ -30,6 +31,5 @@ import { SearchSettingsService } from './services/search-settings.service' TuiSvgModule, TuiButtonModule, ], - providers: [SearchSettingsService], }) export class YoutubeModule {} From 41c4373aa173605f99729ddf806d81b2890b4a70 Mon Sep 17 00:00:00 2001 From: alwaysadevzero Date: Tue, 7 Nov 2023 04:02:28 +0400 Subject: [PATCH 33/51] refactor(app): rename models (add postfix model) --- .../components/search-settings/search-settings.component.ts | 2 +- .../{sort-setting.interface.ts => sort-setting.model.ts} | 0 src/app/youtube/components/card/card.component.ts | 2 +- .../components/cards-container/cards-container.component.ts | 2 +- .../models/{responce.interface.ts => responce.model.ts} | 0 src/app/youtube/pipes/filter-video-title.pipe.ts | 4 ++-- src/app/youtube/pipes/sort-video-date.pipe.ts | 2 +- src/app/youtube/pipes/sort-video-views.pipe.ts | 2 +- src/app/youtube/services/search-settings.service.ts | 2 +- 9 files changed, 8 insertions(+), 8 deletions(-) rename src/app/shared/models/{sort-setting.interface.ts => sort-setting.model.ts} (100%) rename src/app/youtube/models/{responce.interface.ts => responce.model.ts} (100%) diff --git a/src/app/core/components/search-settings/search-settings.component.ts b/src/app/core/components/search-settings/search-settings.component.ts index 97c173d..4734217 100644 --- a/src/app/core/components/search-settings/search-settings.component.ts +++ b/src/app/core/components/search-settings/search-settings.component.ts @@ -2,7 +2,7 @@ import { Component, inject, type OnInit } from '@angular/core' import { CommonModule } from '@angular/common' import { FormsModule, ReactiveFormsModule, FormGroup, FormControl } from '@angular/forms' import { TuiToggleModule, TuiInputModule } from '@taiga-ui/kit' -import type { SortSetting } from '../../../shared/models/sort-setting.interface' +import type { SortSetting } from '../../../shared/models/sort-setting.model' import { SortSettingType } from '../../../shared/enums/sort-setting' import { SearchSettingsService } from '../../../youtube/services/search-settings.service' diff --git a/src/app/shared/models/sort-setting.interface.ts b/src/app/shared/models/sort-setting.model.ts similarity index 100% rename from src/app/shared/models/sort-setting.interface.ts rename to src/app/shared/models/sort-setting.model.ts diff --git a/src/app/youtube/components/card/card.component.ts b/src/app/youtube/components/card/card.component.ts index a0db90a..2017fb1 100644 --- a/src/app/youtube/components/card/card.component.ts +++ b/src/app/youtube/components/card/card.component.ts @@ -1,5 +1,5 @@ import { Component, Input } from '@angular/core' -import { type Video } from '../../models/responce.interface' +import { type Video } from '../../models/responce.model' @Component({ selector: 'app-card', diff --git a/src/app/youtube/components/cards-container/cards-container.component.ts b/src/app/youtube/components/cards-container/cards-container.component.ts index 8565970..5e5d16f 100644 --- a/src/app/youtube/components/cards-container/cards-container.component.ts +++ b/src/app/youtube/components/cards-container/cards-container.component.ts @@ -1,6 +1,6 @@ import { Component, type OnInit, inject } from '@angular/core' import data from '../../response-mock/response.json' -import type { SortSetting } from '../../../shared/models/sort-setting.interface' +import type { SortSetting } from '../../../shared/models/sort-setting.model' import { SearchSettingsService } from '../../services/search-settings.service' @Component({ diff --git a/src/app/youtube/models/responce.interface.ts b/src/app/youtube/models/responce.model.ts similarity index 100% rename from src/app/youtube/models/responce.interface.ts rename to src/app/youtube/models/responce.model.ts diff --git a/src/app/youtube/pipes/filter-video-title.pipe.ts b/src/app/youtube/pipes/filter-video-title.pipe.ts index 17573a8..d73102a 100644 --- a/src/app/youtube/pipes/filter-video-title.pipe.ts +++ b/src/app/youtube/pipes/filter-video-title.pipe.ts @@ -1,6 +1,6 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../models/responce.interface' -import type { SortSetting } from '../../shared/models/sort-setting.interface' +import type { Video } from '../models/responce.model' +import type { SortSetting } from '../../shared/models/sort-setting.model' @Pipe({ name: 'filterVideoByTitlePipe', diff --git a/src/app/youtube/pipes/sort-video-date.pipe.ts b/src/app/youtube/pipes/sort-video-date.pipe.ts index 442b126..04f44e0 100644 --- a/src/app/youtube/pipes/sort-video-date.pipe.ts +++ b/src/app/youtube/pipes/sort-video-date.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../models/responce.interface' +import type { Video } from '../models/responce.model' import { SortSettingType } from '../../shared/enums/sort-setting' @Pipe({ diff --git a/src/app/youtube/pipes/sort-video-views.pipe.ts b/src/app/youtube/pipes/sort-video-views.pipe.ts index 08a2903..3be755b 100644 --- a/src/app/youtube/pipes/sort-video-views.pipe.ts +++ b/src/app/youtube/pipes/sort-video-views.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../models/responce.interface' +import type { Video } from '../models/responce.model' import { SortSettingType } from '../../shared/enums/sort-setting' @Pipe({ diff --git a/src/app/youtube/services/search-settings.service.ts b/src/app/youtube/services/search-settings.service.ts index dda4a18..603ae9a 100644 --- a/src/app/youtube/services/search-settings.service.ts +++ b/src/app/youtube/services/search-settings.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@angular/core' import { BehaviorSubject } from 'rxjs' -import type { SortSetting } from 'src/app/shared/models/sort-setting.interface' +import type { SortSetting } from 'src/app/shared/models/sort-setting.model' @Injectable({ providedIn: 'root' }) export class SearchSettingsService { From a4c00bff4633ad7059f95a3cd84d9571ea5ea129 Mon Sep 17 00:00:00 2001 From: alwaysadevzero Date: Tue, 7 Nov 2023 04:04:30 +0400 Subject: [PATCH 34/51] feat(auth): add auth logic with login page --- src/app/app-routing.module.ts | 2 + src/app/auth/auth-routing.module.ts | 11 ++++ src/app/auth/auth.module.ts | 49 +++++++++++++++ src/app/auth/models/user-credential.model.ts | 4 ++ src/app/auth/pages/login/login.component.html | 27 +++++++++ src/app/auth/pages/login/login.component.scss | 24 ++++++++ .../auth/pages/login/login.component.spec.ts | 21 +++++++ src/app/auth/pages/login/login.component.ts | 31 ++++++++++ .../components/header/header.component.html | 13 ++-- .../components/header/header.component.scss | 6 +- .../components/header/header.component.ts | 23 ++++++- src/app/core/guards/auth/auth.guard.spec.ts | 17 ++++++ src/app/core/guards/auth/auth.guard.ts | 17 ++++++ .../core/services/auth/auth.service.spec.ts | 16 +++++ src/app/core/services/auth/auth.service.ts | 60 +++++++++++++++++++ .../services/storage/storage.service.spec.ts | 16 +++++ .../core/services/storage/storage.service.ts | 27 +++++++++ src/app/shared/enums/storage-field.ts | 3 + 18 files changed, 359 insertions(+), 8 deletions(-) create mode 100644 src/app/auth/auth-routing.module.ts create mode 100644 src/app/auth/auth.module.ts create mode 100644 src/app/auth/models/user-credential.model.ts create mode 100644 src/app/auth/pages/login/login.component.html create mode 100644 src/app/auth/pages/login/login.component.scss create mode 100644 src/app/auth/pages/login/login.component.spec.ts create mode 100644 src/app/auth/pages/login/login.component.ts create mode 100644 src/app/core/guards/auth/auth.guard.spec.ts create mode 100644 src/app/core/guards/auth/auth.guard.ts create mode 100644 src/app/core/services/auth/auth.service.spec.ts create mode 100644 src/app/core/services/auth/auth.service.ts create mode 100644 src/app/core/services/storage/storage.service.spec.ts create mode 100644 src/app/core/services/storage/storage.service.ts create mode 100644 src/app/shared/enums/storage-field.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 83b1cd9..ac3db6d 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core' import { RouterModule, type Routes } from '@angular/router' +import { authGuard } from './core/guards/auth/auth.guard' const routes: Routes = [ { path: '', pathMatch: 'full', redirectTo: 'main' }, @@ -7,6 +8,7 @@ const routes: Routes = [ path: 'main', title: 'Main', loadChildren: () => import('./youtube/youtube.module').then(m => m.YoutubeModule), + canMatch: [authGuard], }, { path: 'login', diff --git a/src/app/auth/auth-routing.module.ts b/src/app/auth/auth-routing.module.ts new file mode 100644 index 0000000..2b53b84 --- /dev/null +++ b/src/app/auth/auth-routing.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core' +import { RouterModule, type Routes } from '@angular/router' +import { LoginComponent } from './pages/login/login.component' + +const routes: Routes = [{ path: '', component: LoginComponent }] + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class AuthRoutingModule {} diff --git a/src/app/auth/auth.module.ts b/src/app/auth/auth.module.ts new file mode 100644 index 0000000..50cd505 --- /dev/null +++ b/src/app/auth/auth.module.ts @@ -0,0 +1,49 @@ +import { NgModule } from '@angular/core' +import { CommonModule } from '@angular/common' +import { ReactiveFormsModule, FormsModule } from '@angular/forms' +import { RouterModule } from '@angular/router' +import { + TuiHostedDropdownModule, + TuiDataListModule, + TuiButtonModule, + TuiErrorModule, + TuiHintModule, + TuiTextfieldControllerModule, + TuiNotificationModule, +} from '@taiga-ui/core' +import { + TuiInputModule, + TuiInputPasswordModule, + TuiTextAreaModule, + TuiSelectModule, + TuiDataListWrapperModule, + TuiFieldErrorPipeModule, +} from '@taiga-ui/kit' +import { LoginComponent } from './pages/login/login.component' +import { AuthRoutingModule } from './auth-routing.module' + +@NgModule({ + declarations: [LoginComponent], + imports: [ + CommonModule, + AuthRoutingModule, + RouterModule, + CommonModule, + TuiInputModule, + TuiInputPasswordModule, + ReactiveFormsModule, + TuiTextAreaModule, + TuiHostedDropdownModule, + TuiDataListModule, + TuiSelectModule, + TuiDataListWrapperModule, + FormsModule, + TuiButtonModule, + TuiFieldErrorPipeModule, + TuiErrorModule, + TuiHintModule, + TuiTextfieldControllerModule, + TuiNotificationModule, + ], +}) +export class AuthModule {} diff --git a/src/app/auth/models/user-credential.model.ts b/src/app/auth/models/user-credential.model.ts new file mode 100644 index 0000000..380fe05 --- /dev/null +++ b/src/app/auth/models/user-credential.model.ts @@ -0,0 +1,4 @@ +export interface UserCredential { + login: string | null + password: string | null +} diff --git a/src/app/auth/pages/login/login.component.html b/src/app/auth/pages/login/login.component.html new file mode 100644 index 0000000..1c5b085 --- /dev/null +++ b/src/app/auth/pages/login/login.component.html @@ -0,0 +1,27 @@ + diff --git a/src/app/auth/pages/login/login.component.scss b/src/app/auth/pages/login/login.component.scss new file mode 100644 index 0000000..4f6a259 --- /dev/null +++ b/src/app/auth/pages/login/login.component.scss @@ -0,0 +1,24 @@ +@import '@taiga-ui/core/styles/taiga-ui-local'; + +.sign-in { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + min-height: 80vh; + padding-inline: 1rem; +} + +.auth-form { + width: 100%; + max-width: 400px; +} + +.login-input { + width: 100%; +} + +.notification { + margin-bottom: 0; +} diff --git a/src/app/auth/pages/login/login.component.spec.ts b/src/app/auth/pages/login/login.component.spec.ts new file mode 100644 index 0000000..032ed9b --- /dev/null +++ b/src/app/auth/pages/login/login.component.spec.ts @@ -0,0 +1,21 @@ +import { TestBed, type ComponentFixture } from '@angular/core/testing' + +import { LoginComponent } from './login.component' + +describe('LoginComponent', () => { + let component: LoginComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [LoginComponent], + }) + fixture = TestBed.createComponent(LoginComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/auth/pages/login/login.component.ts b/src/app/auth/pages/login/login.component.ts new file mode 100644 index 0000000..4c9cf71 --- /dev/null +++ b/src/app/auth/pages/login/login.component.ts @@ -0,0 +1,31 @@ +import { Component, inject } from '@angular/core' +import { FormBuilder, Validators } from '@angular/forms' +import { Router } from '@angular/router' +import type { UserCredential } from '../../models/user-credential.model' +import { AuthService } from '../../../core/services/auth/auth.service' + +@Component({ + selector: 'app-login', + templateUrl: './login.component.html', + styleUrls: ['./login.component.scss'], +}) +export class LoginComponent { + private fb: FormBuilder = inject(FormBuilder) + + private authService = inject(AuthService) + + private router = inject(Router) + + authForm = this.fb.group({ + login: ['', Validators.required], + password: ['', Validators.required], + }) + + public submitForm(): void { + const credentials: UserCredential = this.authForm.getRawValue() + + this.authService.login(credentials) + + this.router.navigate(['main']) + } +} diff --git a/src/app/core/components/header/header.component.html b/src/app/core/components/header/header.component.html index bfea4cb..ab45309 100644 --- a/src/app/core/components/header/header.component.html +++ b/src/app/core/components/header/header.component.html @@ -26,14 +26,19 @@ [tuiTextfieldCleaner]="true" > Type a video name - + -
-

Username

- +

{{ userName$ | async }}

+
+ + + + + +
diff --git a/src/app/core/components/header/header.component.scss b/src/app/core/components/header/header.component.scss index e60f7a2..ca1121e 100644 --- a/src/app/core/components/header/header.component.scss +++ b/src/app/core/components/header/header.component.scss @@ -1,7 +1,6 @@ @import '@taiga-ui/core/styles/taiga-ui-local'; .header-wrapper { - background-color: var(--tui-base-02); display: flex; flex-direction: row; gap: 20px; @@ -9,6 +8,8 @@ justify-content: center; width: 100%; + + background-color: var(--tui-base-02); } .header-setting { @@ -19,8 +20,9 @@ display: flex; flex-direction: row; flex-grow: 1; - max-width: 800px; gap: 20px; + + max-width: 800px; } .header-user { diff --git a/src/app/core/components/header/header.component.ts b/src/app/core/components/header/header.component.ts index 2c7e086..0ae4056 100644 --- a/src/app/core/components/header/header.component.ts +++ b/src/app/core/components/header/header.component.ts @@ -1,17 +1,19 @@ -import { NgOptimizedImage } from '@angular/common' +import { CommonModule, NgOptimizedImage } from '@angular/common' import { Component, inject } from '@angular/core' import { TuiActiveZoneModule } from '@taiga-ui/cdk' import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms' import { TuiInputModule, TuiActionModule } from '@taiga-ui/kit' import { TuiTextfieldControllerModule, TuiButtonModule, TuiDropdownModule } from '@taiga-ui/core' -import { RouterModule } from '@angular/router' +import { Router, RouterModule } from '@angular/router' import { TuiAvatarModule, TuiFallbackSrcModule } from '@taiga-ui/experimental' import { SearchSettingsService } from '../../../youtube/services/search-settings.service' import { SearchSettingsComponent } from '../search-settings/search-settings.component' +import { AuthService } from '../../services/auth/auth.service' @Component({ selector: 'app-header', imports: [ + CommonModule, ReactiveFormsModule, TuiInputModule, TuiTextfieldControllerModule, @@ -32,6 +34,14 @@ import { SearchSettingsComponent } from '../search-settings/search-settings.comp export class HeaderComponent { private searchSettings = inject(SearchSettingsService) + private authService = inject(AuthService) + + private router = inject(Router) + + userName$ = this.authService.userName$ + + userIsAuthorized$ = this.authService.userIsAuthorized$ + isSearchSettingsMenuOpen = false settingsOnClick(): void { @@ -46,6 +56,15 @@ export class HeaderComponent { this.searchSettings.onSearchVideosEvent(true) } + logout() { + this.authService.logout() + this.router.navigate(['login']) + } + + login() { + this.router.navigate(['login']) + } + searchForm = new FormGroup({ searchInput: new FormControl(), }) diff --git a/src/app/core/guards/auth/auth.guard.spec.ts b/src/app/core/guards/auth/auth.guard.spec.ts new file mode 100644 index 0000000..db9ac98 --- /dev/null +++ b/src/app/core/guards/auth/auth.guard.spec.ts @@ -0,0 +1,17 @@ +import { TestBed } from '@angular/core/testing' +import type { CanActivateFn } from '@angular/router' + +import { authGuard } from './auth.guard' + +describe('authGuard', () => { + const executeGuard: CanActivateFn = (...guardParameters) => + TestBed.runInInjectionContext(() => authGuard(...guardParameters)) + + beforeEach(() => { + TestBed.configureTestingModule({}) + }) + + it('should be created', () => { + expect(executeGuard).toBeTruthy() + }) +}) diff --git a/src/app/core/guards/auth/auth.guard.ts b/src/app/core/guards/auth/auth.guard.ts new file mode 100644 index 0000000..96f9f90 --- /dev/null +++ b/src/app/core/guards/auth/auth.guard.ts @@ -0,0 +1,17 @@ +import { inject } from '@angular/core' +import { Router, type CanActivateFn } from '@angular/router' +import { tap } from 'rxjs' +import { AuthService } from '../../services/auth/auth.service' + +export const authGuard: CanActivateFn = () => { + const authService = inject(AuthService) + const router = inject(Router) + + return authService.userIsAuthorized$.pipe( + tap(status => { + if (!status) { + router.navigate(['login']) + } + }), + ) +} diff --git a/src/app/core/services/auth/auth.service.spec.ts b/src/app/core/services/auth/auth.service.spec.ts new file mode 100644 index 0000000..2bc02df --- /dev/null +++ b/src/app/core/services/auth/auth.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing' + +import { AuthService } from './auth.service' + +describe('AuthService', () => { + let service: AuthService + + beforeEach(() => { + TestBed.configureTestingModule({}) + service = TestBed.inject(AuthService) + }) + + it('should be created', () => { + expect(service).toBeTruthy() + }) +}) diff --git a/src/app/core/services/auth/auth.service.ts b/src/app/core/services/auth/auth.service.ts new file mode 100644 index 0000000..d943001 --- /dev/null +++ b/src/app/core/services/auth/auth.service.ts @@ -0,0 +1,60 @@ +import { Injectable, inject } from '@angular/core' +import { BehaviorSubject, type Observable, map } from 'rxjs' +import type { UserCredential } from '../../../auth/models/user-credential.model' +import { StorageService } from '../storage/storage.service' +import { StorageField } from '../../../shared/enums/storage-field' + +@Injectable({ + providedIn: 'root', +}) +export class AuthService { + private storageService = inject(StorageService) + + private userIsAuthorizedSource = new BehaviorSubject(false) + + private userCredentialsSource = new BehaviorSubject({ + login: null, + password: null, + }) + + constructor() { + const credentials = this.storageService.getField(StorageField.userCredentials) + + if (credentials) { + this.login(credentials) + } + } + + public userIsAuthorized$ = this.userIsAuthorizedSource.asObservable() + + public userCredentials$ = this.userCredentialsSource.asObservable() + + get userName$(): Observable { + return this.userCredentials$.pipe( + map((credentials: UserCredential) => { + if (!credentials.login) { + return 'Anonymous' + } + + return credentials.login + }), + ) + } + + logout(): void { + this.userIsAuthorizedSource.next(false) + this.userCredentialsSource.next({ + login: null, + password: null, + }) + + this.storageService.removeField(StorageField.userCredentials) + } + + login(credentials: UserCredential): void { + this.userCredentialsSource.next(credentials) + this.userIsAuthorizedSource.next(true) + + this.storageService.setField(StorageField.userCredentials, credentials) + } +} diff --git a/src/app/core/services/storage/storage.service.spec.ts b/src/app/core/services/storage/storage.service.spec.ts new file mode 100644 index 0000000..85b6b68 --- /dev/null +++ b/src/app/core/services/storage/storage.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing' + +import { StorageService } from './storage.service' + +describe('StorageService', () => { + let service: StorageService + + beforeEach(() => { + TestBed.configureTestingModule({}) + service = TestBed.inject(StorageService) + }) + + it('should be created', () => { + expect(service).toBeTruthy() + }) +}) diff --git a/src/app/core/services/storage/storage.service.ts b/src/app/core/services/storage/storage.service.ts new file mode 100644 index 0000000..db67041 --- /dev/null +++ b/src/app/core/services/storage/storage.service.ts @@ -0,0 +1,27 @@ +/* eslint-disable class-methods-use-this */ +import { Injectable } from '@angular/core' + +@Injectable({ + providedIn: 'root', +}) +export class StorageService { + setField(name: string, value: T): void { + localStorage.setItem(name, JSON.stringify(value)) + } + + removeField(name: string): void { + if (localStorage.getItem(name)) { + localStorage.removeItem(name) + } + } + + getField(name: string): T | null { + const parsed = localStorage.getItem(name) + + if (parsed) { + return JSON.parse(parsed) as T + } + + return null + } +} diff --git a/src/app/shared/enums/storage-field.ts b/src/app/shared/enums/storage-field.ts new file mode 100644 index 0000000..99400c4 --- /dev/null +++ b/src/app/shared/enums/storage-field.ts @@ -0,0 +1,3 @@ +export const enum StorageField { + userCredentials = 'USER_CREDENTIALS', +} From a4e711868ff92f7b1c2fc85eaa0fb0a19894d608 Mon Sep 17 00:00:00 2001 From: alwaysadevzero Date: Tue, 7 Nov 2023 09:23:59 +0400 Subject: [PATCH 35/51] feat(detail): add detail page logic --- src/app/app-routing.module.ts | 3 +- .../data}/response-mock/response.json | 0 .../video-http/video-http.service.spec.ts | 16 +++ .../services/video-http/video-http.service.ts | 14 +++ .../models/responce.model.ts | 0 .../components/card/card.component.html | 2 +- .../youtube/components/card/card.component.ts | 2 +- .../cards-container.component.ts | 6 +- .../detailed-page.component.html | 48 ++++++++ .../detailed-page.component.scss | 109 ++++++++++++++++++ .../detailed-page.component.spec.ts | 21 ++++ .../detailed-page/detailed-page.component.ts | 33 ++++++ .../youtube/pipes/filter-video-title.pipe.ts | 2 +- src/app/youtube/pipes/sort-video-date.pipe.ts | 2 +- .../youtube/pipes/sort-video-views.pipe.ts | 2 +- src/app/youtube/youtube-routing.module.ts | 7 +- src/app/youtube/youtube.module.ts | 2 + 17 files changed, 260 insertions(+), 9 deletions(-) rename src/app/{youtube => core/data}/response-mock/response.json (100%) create mode 100644 src/app/core/services/video-http/video-http.service.spec.ts create mode 100644 src/app/core/services/video-http/video-http.service.ts rename src/app/{youtube => shared}/models/responce.model.ts (100%) create mode 100644 src/app/youtube/pages/detailed-page/detailed-page.component.html create mode 100644 src/app/youtube/pages/detailed-page/detailed-page.component.scss create mode 100644 src/app/youtube/pages/detailed-page/detailed-page.component.spec.ts create mode 100644 src/app/youtube/pages/detailed-page/detailed-page.component.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index ac3db6d..090617c 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -16,13 +16,14 @@ const routes: Routes = [ loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule), }, { - path: '**', + path: '404', title: '404 - Not found', loadComponent: () => import('./core/pages/not-found/not-found.component').then( component => component.NotFoundComponent, ), }, + { path: '**', redirectTo: '404' }, ] @NgModule({ diff --git a/src/app/youtube/response-mock/response.json b/src/app/core/data/response-mock/response.json similarity index 100% rename from src/app/youtube/response-mock/response.json rename to src/app/core/data/response-mock/response.json diff --git a/src/app/core/services/video-http/video-http.service.spec.ts b/src/app/core/services/video-http/video-http.service.spec.ts new file mode 100644 index 0000000..b129ab7 --- /dev/null +++ b/src/app/core/services/video-http/video-http.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing' + +import { VideoHttpService } from './video-http.service' + +describe('VideoHttpService', () => { + let service: VideoHttpService + + beforeEach(() => { + TestBed.configureTestingModule({}) + service = TestBed.inject(VideoHttpService) + }) + + it('should be created', () => { + expect(service).toBeTruthy() + }) +}) diff --git a/src/app/core/services/video-http/video-http.service.ts b/src/app/core/services/video-http/video-http.service.ts new file mode 100644 index 0000000..a005097 --- /dev/null +++ b/src/app/core/services/video-http/video-http.service.ts @@ -0,0 +1,14 @@ +import { Injectable } from '@angular/core' +import data from '../../data/response-mock/response.json' +import type { Video } from '../../../shared/models/responce.model' + +@Injectable({ + providedIn: 'root', +}) +export class VideoHttpService { + public videos: Video[] = data.items + + getVideoByEtag(etag: string): Video | undefined { + return this.videos.find(video => video.etag === etag) + } +} diff --git a/src/app/youtube/models/responce.model.ts b/src/app/shared/models/responce.model.ts similarity index 100% rename from src/app/youtube/models/responce.model.ts rename to src/app/shared/models/responce.model.ts diff --git a/src/app/youtube/components/card/card.component.html b/src/app/youtube/components/card/card.component.html index 5aedaf9..ac70147 100644 --- a/src/app/youtube/components/card/card.component.html +++ b/src/app/youtube/components/card/card.component.html @@ -24,7 +24,7 @@

{{ item.snippet.title }}

- More... + More...
+ + + + + +
+
+

{{ video.snippet.title }}

+ {{ + video.snippet.publishedAt | date: 'fullDate' + }} +

{{ (video.snippet.description | slice: 0 : 200) + '...' }}

+
+
+
+
+ + {{ video.statistics.viewCount }} +
+
+ + {{ video.statistics.likeCount }} +
+
+ + {{ video.statistics.dislikeCount }} +
+
+ + {{ video.statistics.commentCount }} +
+
+
+
+
+
+ diff --git a/src/app/youtube/pages/detailed-page/detailed-page.component.scss b/src/app/youtube/pages/detailed-page/detailed-page.component.scss new file mode 100644 index 0000000..092064b --- /dev/null +++ b/src/app/youtube/pages/detailed-page/detailed-page.component.scss @@ -0,0 +1,109 @@ +@import '@taiga-ui/core/styles/taiga-ui-local'; + +.detail { + display: flex; + align-items: center; + justify-content: center; +} + +.link-anchor { + margin-top: 50px; + margin-bottom: auto; +} + +.card { + @include shadow(3); + + display: flex; + flex-direction: row; + + width: fit-content; + padding: 0; + + background-color: var(--tui-base-02); +} + +.back-button { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.date { + display: block; + text-align: right; + opacity: 0.7; +} + +.card-content { + display: flex; + flex-direction: column; + justify-content: space-between; +} + +.card-statistic { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + + margin-bottom: 10px; +} + +.card-img { + transform: translateY(3px); + + width: 110%; + + object-fit: cover; + border-top-left-radius: 20px; + border-bottom-left-radius: 20px; +} + +.card-statistic-item { + display: flex; + flex-direction: row; + gap: 2px; + margin: 0 10px; +} + +.card-text-content { + max-width: 400px; + margin: 20px; +} + +.card-text { + display: flex; + flex-direction: column; + margin: 0 !important; +} + +.card-date { + transform: scaleY(1.5); + height: 12px; + border-bottom-right-radius: 20px; +} + +.card-title { + text-align: start; +} + +.card-button { + max-width: 150px; + margin: auto auto 5px; +} + +.card-date.color-blue { + background-color: var(--tui-support-01); +} + +.card-date.color-red { + background-color: var(--tui-error-fill); +} + +.card-date.color-green { + background-color: var(--tui-success-fill); +} + +.card-date.color-yellow { + background-color: var(--tui-warning-fill); +} diff --git a/src/app/youtube/pages/detailed-page/detailed-page.component.spec.ts b/src/app/youtube/pages/detailed-page/detailed-page.component.spec.ts new file mode 100644 index 0000000..7f127cf --- /dev/null +++ b/src/app/youtube/pages/detailed-page/detailed-page.component.spec.ts @@ -0,0 +1,21 @@ +import { type ComponentFixture, TestBed } from '@angular/core/testing' + +import { DetailedPageComponent } from './detailed-page.component' + +describe('DetailedPageComponent', () => { + let component: DetailedPageComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [DetailedPageComponent], + }) + fixture = TestBed.createComponent(DetailedPageComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/youtube/pages/detailed-page/detailed-page.component.ts b/src/app/youtube/pages/detailed-page/detailed-page.component.ts new file mode 100644 index 0000000..b49e318 --- /dev/null +++ b/src/app/youtube/pages/detailed-page/detailed-page.component.ts @@ -0,0 +1,33 @@ +import { Component, type OnInit, inject } from '@angular/core' +import { ActivatedRoute, Router } from '@angular/router' +import { VideoHttpService } from '../../../core/services/video-http/video-http.service' +import type { Video } from '../../../shared/models/responce.model' + +@Component({ + selector: 'app-detailed-page', + templateUrl: './detailed-page.component.html', + styleUrls: ['./detailed-page.component.scss'], +}) +export class DetailedPageComponent implements OnInit { + private videoEtag: string | null = null + + private videoHttpService = inject(VideoHttpService) + + private route = inject(ActivatedRoute) + + private router = inject(Router) + + video: Video | undefined = undefined + + ngOnInit(): void { + this.videoEtag = this.route.snapshot.paramMap.get('etag') + + if (this.videoEtag) { + this.video = this.videoHttpService.getVideoByEtag(this.videoEtag) + } + + if (!this.video) { + this.router.navigate(['404']) + } + } +} diff --git a/src/app/youtube/pipes/filter-video-title.pipe.ts b/src/app/youtube/pipes/filter-video-title.pipe.ts index d73102a..5b64f77 100644 --- a/src/app/youtube/pipes/filter-video-title.pipe.ts +++ b/src/app/youtube/pipes/filter-video-title.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../models/responce.model' +import type { Video } from '../../shared/models/responce.model' import type { SortSetting } from '../../shared/models/sort-setting.model' @Pipe({ diff --git a/src/app/youtube/pipes/sort-video-date.pipe.ts b/src/app/youtube/pipes/sort-video-date.pipe.ts index 04f44e0..3962646 100644 --- a/src/app/youtube/pipes/sort-video-date.pipe.ts +++ b/src/app/youtube/pipes/sort-video-date.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../models/responce.model' +import type { Video } from '../../shared/models/responce.model' import { SortSettingType } from '../../shared/enums/sort-setting' @Pipe({ diff --git a/src/app/youtube/pipes/sort-video-views.pipe.ts b/src/app/youtube/pipes/sort-video-views.pipe.ts index 3be755b..15403f7 100644 --- a/src/app/youtube/pipes/sort-video-views.pipe.ts +++ b/src/app/youtube/pipes/sort-video-views.pipe.ts @@ -1,5 +1,5 @@ import { Pipe, type PipeTransform } from '@angular/core' -import type { Video } from '../models/responce.model' +import type { Video } from '../../shared/models/responce.model' import { SortSettingType } from '../../shared/enums/sort-setting' @Pipe({ diff --git a/src/app/youtube/youtube-routing.module.ts b/src/app/youtube/youtube-routing.module.ts index 171dacd..91dd032 100644 --- a/src/app/youtube/youtube-routing.module.ts +++ b/src/app/youtube/youtube-routing.module.ts @@ -1,8 +1,13 @@ import { NgModule } from '@angular/core' import { RouterModule, type Routes } from '@angular/router' import { MainPageComponent } from './pages/main/main-page.component' +import { DetailedPageComponent } from './pages/detailed-page/detailed-page.component' +import { authGuard } from '../core/guards/auth/auth.guard' -const routes: Routes = [{ path: '', component: MainPageComponent }] +const routes: Routes = [ + { path: '', component: MainPageComponent }, + { path: 'detail/:etag', component: DetailedPageComponent, canMatch: [authGuard] }, +] @NgModule({ imports: [RouterModule.forChild(routes)], diff --git a/src/app/youtube/youtube.module.ts b/src/app/youtube/youtube.module.ts index cde49c2..6c142f0 100644 --- a/src/app/youtube/youtube.module.ts +++ b/src/app/youtube/youtube.module.ts @@ -11,6 +11,7 @@ import { SortVideoByViewsPipe } from './pipes/sort-video-views.pipe' import { FilterVideoByTitlePipe } from './pipes/filter-video-title.pipe' import { ButtonTextComponent } from '../shared/components/button-text/button-text.component' import { YoutubeRoutingModule } from './youtube-routing.module' +import { DetailedPageComponent } from './pages/detailed-page/detailed-page.component' @NgModule({ declarations: [ @@ -21,6 +22,7 @@ import { YoutubeRoutingModule } from './youtube-routing.module' SortVideoByDatePipe, SortVideoByViewsPipe, FilterVideoByTitlePipe, + DetailedPageComponent, ], imports: [ YoutubeRoutingModule, From 86938122f8dd36123d8558490aa054eb2a307210 Mon Sep 17 00:00:00 2001 From: Anthony Date: Thu, 9 Nov 2023 19:20:05 +0400 Subject: [PATCH 36/51] fix(app): add unsibscribe to observables for prevent memoy leak --- .../cards-container/cards-container.component.ts | 13 +++++++++---- src/app/youtube/pages/main/main-page.component.ts | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/app/youtube/components/cards-container/cards-container.component.ts b/src/app/youtube/components/cards-container/cards-container.component.ts index bad22ab..0a6d1be 100644 --- a/src/app/youtube/components/cards-container/cards-container.component.ts +++ b/src/app/youtube/components/cards-container/cards-container.component.ts @@ -1,4 +1,5 @@ -import { Component, type OnInit, inject } from '@angular/core' +import { Component, type OnInit, inject, DestroyRef } from '@angular/core' +import { takeUntilDestroyed } from '@angular/core/rxjs-interop' import type { SortSetting } from '../../../shared/models/sort-setting.model' import { SearchSettingsService } from '../../services/search-settings.service' import { VideoHttpService } from '../../../core/services/video-http/video-http.service' @@ -11,6 +12,8 @@ import { VideoHttpService } from '../../../core/services/video-http/video-http.s export class CardsContainerComponent implements OnInit { private searchSettings = inject(SearchSettingsService) + private destroyRef = inject(DestroyRef) + private youtubeHttp = inject(VideoHttpService) items = this.youtubeHttp.videos @@ -22,8 +25,10 @@ export class CardsContainerComponent implements OnInit { } ngOnInit() { - this.searchSettings.searchSettings$.subscribe((searchSettings: SortSetting) => { - this.sortSettings = searchSettings - }) + this.searchSettings.searchSettings$ + .pipe(takeUntilDestroyed(this.destroyRef)) + .subscribe((searchSettings: SortSetting) => { + this.sortSettings = searchSettings + }) } } diff --git a/src/app/youtube/pages/main/main-page.component.ts b/src/app/youtube/pages/main/main-page.component.ts index 2cc8bba..6eec050 100644 --- a/src/app/youtube/pages/main/main-page.component.ts +++ b/src/app/youtube/pages/main/main-page.component.ts @@ -1,4 +1,5 @@ -import { Component, type OnInit, inject } from '@angular/core' +import { Component, type OnInit, inject, DestroyRef } from '@angular/core' +import { takeUntilDestroyed } from '@angular/core/rxjs-interop' import { SearchSettingsService } from '../../services/search-settings.service' @Component({ @@ -9,11 +10,15 @@ import { SearchSettingsService } from '../../services/search-settings.service' export class MainPageComponent implements OnInit { private searchSettings = inject(SearchSettingsService) + private destroyRef = inject(DestroyRef) + showVideos = false ngOnInit() { - this.searchSettings.searchVideos$.subscribe((searchVideos: boolean) => { - this.showVideos = searchVideos - }) + this.searchSettings.searchVideos$ + .pipe(takeUntilDestroyed(this.destroyRef)) + .subscribe((searchVideos: boolean) => { + this.showVideos = searchVideos + }) } } From 95e47b1c41033e08812a42bb9d92c9d4a5b88fe4 Mon Sep 17 00:00:00 2001 From: Anthony Date: Thu, 9 Nov 2023 19:42:16 +0400 Subject: [PATCH 37/51] refactor(app): add rule to for LF end of files --- .gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf From c614ba8467ac3199e071ad7b46f92c5a44d2bde8 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sat, 11 Nov 2023 00:02:05 +0400 Subject: [PATCH 38/51] feat: add support for .env --- .eslintignore | 1 + .gitignore | 1 + angular.json | 19 ++- package-lock.json | 138 ++++++++++++++++++++ package.json | 2 + src/app/app.component.html | 4 +- src/env.d.ts | 7 + src/environments/environment.development.ts | 4 + src/environments/environment.ts | 4 + 9 files changed, 172 insertions(+), 8 deletions(-) create mode 100644 src/env.d.ts create mode 100644 src/environments/environment.development.ts create mode 100644 src/environments/environment.ts diff --git a/.eslintignore b/.eslintignore index a4a5536..c511896 100644 --- a/.eslintignore +++ b/.eslintignore @@ -9,3 +9,4 @@ build node_modules documentation src/env.d.ts +./.env \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0711527..cf3c832 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ testem.log # System files .DS_Store Thumbs.db +.env \ No newline at end of file diff --git a/angular.json b/angular.json index ba4ac52..b46a997 100644 --- a/angular.json +++ b/angular.json @@ -7,7 +7,8 @@ "projectType": "application", "schematics": { "@schematics/angular:component": { - "style": "scss" + "style": "scss", + "changeDetection": "OnPush" } }, "root": "", @@ -15,7 +16,7 @@ "prefix": "app", "architect": { "build": { - "builder": "@angular-devkit/build-angular:browser", + "builder": "@ngx-env/builder:browser", "options": { "outputPath": "dist/intro", "index": "src/index.html", @@ -63,13 +64,19 @@ "vendorChunk": true, "extractLicenses": false, "sourceMap": true, - "namedChunks": true + "namedChunks": true, + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.development.ts" + } + ] } }, "defaultConfiguration": "production" }, "serve": { - "builder": "@angular-devkit/build-angular:dev-server", + "builder": "@ngx-env/builder:dev-server", "configurations": { "production": { "browserTarget": "intro:build:production" @@ -81,13 +88,13 @@ "defaultConfiguration": "development" }, "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", + "builder": "@ngx-env/builder:extract-i18n", "options": { "browserTarget": "intro:build" } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@ngx-env/builder:karma", "options": { "polyfills": ["zone.js", "zone.js/testing"], "tsConfig": "tsconfig.spec.json", diff --git a/package-lock.json b/package-lock.json index 93802e1..cb01533 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@angular/platform-browser": "^16.2.0", "@angular/platform-browser-dynamic": "^16.2.0", "@angular/router": "^16.2.0", + "@ngx-env/core": "^16.1.3", "@taiga-ui/addon-charts": "^3.51.0", "@taiga-ui/addon-commerce": "^3.51.0", "@taiga-ui/addon-mobile": "^3.51.0", @@ -49,6 +50,7 @@ "@babel/plugin-proposal-decorators": "^7.23.2", "@commitlint/cli": "^18.0.0", "@commitlint/config-angular": "^18.0.0", + "@ngx-env/builder": "^16.1.3", "@types/dompurify": "2.2.3", "@types/jasmine": "~4.3.0", "@typescript-eslint/eslint-plugin": "^6.8.0", @@ -3247,6 +3249,112 @@ "node": ">=10.0.0" } }, + "node_modules/@dotenv-run/core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@dotenv-run/core/-/core-1.2.0.tgz", + "integrity": "sha512-qAvLj3y19mxrGrDB+m3yGdr2stlaANwgHjvuNAfCIuKamjl6Fn+hu9rdm1Q40CPZldSF15+JdFBtNnYe3kKeYQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "dotenv": "^16.1.4", + "dotenv-expand": "^10.0.0", + "find-up": "^5.0.0" + } + }, + "node_modules/@dotenv-run/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@dotenv-run/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@dotenv-run/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@dotenv-run/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@dotenv-run/core/node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/@dotenv-run/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@dotenv-run/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@dotenv-run/webpack": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@dotenv-run/webpack/-/webpack-1.2.0.tgz", + "integrity": "sha512-XbQpEPFKFdndQI0JLNPjCnVS2yuKwS7uavtGgSfxZS9qTnjUVWWgAPvx9ftQdueE1DtMZZkBvAL9VCI5ezZohw==", + "dev": true, + "dependencies": { + "@dotenv-run/core": "^1.2.0" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, "node_modules/@esbuild/android-arm": { "version": "0.18.17", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", @@ -4070,6 +4178,27 @@ "@ng-web-apis/common": ">=2.0.0" } }, + "node_modules/@ngx-env/builder": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@ngx-env/builder/-/builder-16.1.3.tgz", + "integrity": "sha512-Us17dnTqhC/RzHmcK9i0iJd9KpyZopsSzZwPuRDBhLxhn8Qs1jxRbDEMsEtuZOLbwfzJo1TUQsOZBF6TPT/SsA==", + "dev": true, + "dependencies": { + "@dotenv-run/webpack": "^1.0.1" + } + }, + "node_modules/@ngx-env/core": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@ngx-env/core/-/core-16.1.3.tgz", + "integrity": "sha512-s3lh8ne4ZdXbw0EfUDdwi6fY7p/oX+E8Q6rAqhPX7Eaf1TzxQUztyH4K7QCDhDzzuUGkJwleSSr372t+shL8MQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^16.0.0", + "@angular/core": "^16.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -8446,6 +8575,15 @@ "node": ">=10" } }, + "node_modules/dotenv-expand": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", + "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", diff --git a/package.json b/package.json index d8cffab..55bfc37 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "@angular/platform-browser": "^16.2.0", "@angular/platform-browser-dynamic": "^16.2.0", "@angular/router": "^16.2.0", + "@ngx-env/core": "^16.1.3", "@taiga-ui/addon-charts": "^3.51.0", "@taiga-ui/addon-commerce": "^3.51.0", "@taiga-ui/addon-mobile": "^3.51.0", @@ -60,6 +61,7 @@ "@babel/plugin-proposal-decorators": "^7.23.2", "@commitlint/cli": "^18.0.0", "@commitlint/config-angular": "^18.0.0", + "@ngx-env/builder": "^16.1.3", "@types/dompurify": "2.2.3", "@types/jasmine": "~4.3.0", "@typescript-eslint/eslint-plugin": "^6.8.0", diff --git a/src/app/app.component.html b/src/app/app.component.html index 73ddc6f..7cf8137 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,4 +1,4 @@ - - + + diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..82fc07d --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,7 @@ +interface ImportMeta { + readonly env: ImportMetaEnv +} + +interface ImportMetaEnv { + [key: string]: any +} diff --git a/src/environments/environment.development.ts b/src/environments/environment.development.ts new file mode 100644 index 0000000..ecf9d3d --- /dev/null +++ b/src/environments/environment.development.ts @@ -0,0 +1,4 @@ +export const environment = { + api_url: import.meta.env['NG_APP_API_URL'], + api_key: import.meta.env['NG_APP_API_KEY'], +} diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..ecf9d3d --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,4 @@ +export const environment = { + api_url: import.meta.env['NG_APP_API_URL'], + api_key: import.meta.env['NG_APP_API_KEY'], +} From 43830ef676a7b1538fcb5ace010fc9143cda108a Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 12 Nov 2023 03:58:39 +0400 Subject: [PATCH 39/51] refactor(auth): rewrite auth guard and service --- src/app/core/guards/auth/auth.guard.ts | 13 ++++++----- src/app/core/services/auth/auth.service.ts | 26 ++++++---------------- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/src/app/core/guards/auth/auth.guard.ts b/src/app/core/guards/auth/auth.guard.ts index 96f9f90..e788d47 100644 --- a/src/app/core/guards/auth/auth.guard.ts +++ b/src/app/core/guards/auth/auth.guard.ts @@ -1,17 +1,18 @@ import { inject } from '@angular/core' import { Router, type CanActivateFn } from '@angular/router' -import { tap } from 'rxjs' +import { map } from 'rxjs' import { AuthService } from '../../services/auth/auth.service' export const authGuard: CanActivateFn = () => { - const authService = inject(AuthService) const router = inject(Router) - return authService.userIsAuthorized$.pipe( - tap(status => { - if (!status) { - router.navigate(['login']) + return inject(AuthService).userCredentials$.pipe( + map(credentials => { + if (!credentials) { + return router.createUrlTree(['/login']) } + + return true }), ) } diff --git a/src/app/core/services/auth/auth.service.ts b/src/app/core/services/auth/auth.service.ts index d943001..0624fef 100644 --- a/src/app/core/services/auth/auth.service.ts +++ b/src/app/core/services/auth/auth.service.ts @@ -10,12 +10,7 @@ import { StorageField } from '../../../shared/enums/storage-field' export class AuthService { private storageService = inject(StorageService) - private userIsAuthorizedSource = new BehaviorSubject(false) - - private userCredentialsSource = new BehaviorSubject({ - login: null, - password: null, - }) + private userCredentialsSource = new BehaviorSubject(null) constructor() { const credentials = this.storageService.getField(StorageField.userCredentials) @@ -25,35 +20,28 @@ export class AuthService { } } - public userIsAuthorized$ = this.userIsAuthorizedSource.asObservable() - public userCredentials$ = this.userCredentialsSource.asObservable() - get userName$(): Observable { + get userName$(): Observable { return this.userCredentials$.pipe( - map((credentials: UserCredential) => { - if (!credentials.login) { - return 'Anonymous' + map(credentials => { + if (credentials) { + return credentials.login } - return credentials.login + return 'Anonymous' }), ) } logout(): void { - this.userIsAuthorizedSource.next(false) - this.userCredentialsSource.next({ - login: null, - password: null, - }) + this.userCredentialsSource.next(null) this.storageService.removeField(StorageField.userCredentials) } login(credentials: UserCredential): void { this.userCredentialsSource.next(credentials) - this.userIsAuthorizedSource.next(true) this.storageService.setField(StorageField.userCredentials, credentials) } From 9bf2b16e1f01ca0d3294a966f2a51ba8afdee26e Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 12 Nov 2023 04:00:17 +0400 Subject: [PATCH 40/51] feat(header): add support for search and auth services --- .../components/header/header.component.html | 19 +++++++-- .../components/header/header.component.scss | 6 ++- .../components/header/header.component.ts | 42 ++++++++++++------- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/src/app/core/components/header/header.component.html b/src/app/core/components/header/header.component.html index ab45309..0b4cd89 100644 --- a/src/app/core/components/header/header.component.html +++ b/src/app/core/components/header/header.component.html @@ -28,16 +28,27 @@ Type a video name -

{{ userName$ | async }}

-
+
- + - +
diff --git a/src/app/core/components/header/header.component.scss b/src/app/core/components/header/header.component.scss index ca1121e..792507e 100644 --- a/src/app/core/components/header/header.component.scss +++ b/src/app/core/components/header/header.component.scss @@ -28,10 +28,14 @@ .header-user { display: flex; flex-direction: row; + flex-grow: 1; gap: 20px; + align-items: center; + justify-content: end; - margin-right: 20px; + max-width: 150px; margin-left: auto; + padding-right: 20px; } .header-search-input { diff --git a/src/app/core/components/header/header.component.ts b/src/app/core/components/header/header.component.ts index 0ae4056..d8ab68d 100644 --- a/src/app/core/components/header/header.component.ts +++ b/src/app/core/components/header/header.component.ts @@ -1,14 +1,16 @@ import { CommonModule, NgOptimizedImage } from '@angular/common' -import { Component, inject } from '@angular/core' +import { Component, DestroyRef, type OnInit, inject } from '@angular/core' import { TuiActiveZoneModule } from '@taiga-ui/cdk' import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms' import { TuiInputModule, TuiActionModule } from '@taiga-ui/kit' import { TuiTextfieldControllerModule, TuiButtonModule, TuiDropdownModule } from '@taiga-ui/core' import { Router, RouterModule } from '@angular/router' import { TuiAvatarModule, TuiFallbackSrcModule } from '@taiga-ui/experimental' -import { SearchSettingsService } from '../../../youtube/services/search-settings.service' +import { debounceTime, filter } from 'rxjs/operators' +import { takeUntilDestroyed } from '@angular/core/rxjs-interop' import { SearchSettingsComponent } from '../search-settings/search-settings.component' import { AuthService } from '../../services/auth/auth.service' +import { YoutubeHttpService } from '../../services/video-http/youtube-http.service' @Component({ selector: 'app-header', @@ -31,19 +33,37 @@ import { AuthService } from '../../services/auth/auth.service' styleUrls: ['./header.component.scss'], standalone: true, }) -export class HeaderComponent { - private searchSettings = inject(SearchSettingsService) - +export class HeaderComponent implements OnInit { private authService = inject(AuthService) + private destroyRef = inject(DestroyRef) + + private youtubeHttp = inject(YoutubeHttpService) + private router = inject(Router) - userName$ = this.authService.userName$ + userCredentials$ = this.authService.userCredentials$ - userIsAuthorized$ = this.authService.userIsAuthorized$ + userName$ = this.authService.userName$ isSearchSettingsMenuOpen = false + searchForm = new FormGroup({ + searchInput: new FormControl('', { nonNullable: true }), + }) + + ngOnInit(): void { + this.searchForm.controls.searchInput.valueChanges + .pipe( + takeUntilDestroyed(this.destroyRef), + filter(str => str.length > 2), + debounceTime(500), + ) + .subscribe(value => { + this.youtubeHttp.searchVideos(value) + }) + } + settingsOnClick(): void { this.isSearchSettingsMenuOpen = !this.isSearchSettingsMenuOpen } @@ -52,10 +72,6 @@ export class HeaderComponent { this.isSearchSettingsMenuOpen = active && this.isSearchSettingsMenuOpen } - searchClick() { - this.searchSettings.onSearchVideosEvent(true) - } - logout() { this.authService.logout() this.router.navigate(['login']) @@ -64,8 +80,4 @@ export class HeaderComponent { login() { this.router.navigate(['login']) } - - searchForm = new FormGroup({ - searchInput: new FormControl(), - }) } From 54472d9c2b6470e5e80d547c2e2c368929cf77c8 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sun, 12 Nov 2023 04:02:35 +0400 Subject: [PATCH 41/51] feat(core): add http request instead mock --- src/app/core/data/response-mock/response.json | 749 ------------------ .../services/video-http/video-http.service.ts | 14 - ...e.spec.ts => youtube-http.service.spec.ts} | 8 +- .../video-http/youtube-http.service.ts | 74 ++ src/app/shared/models/responce.model.ts | 21 +- 5 files changed, 98 insertions(+), 768 deletions(-) delete mode 100644 src/app/core/data/response-mock/response.json delete mode 100644 src/app/core/services/video-http/video-http.service.ts rename src/app/core/services/video-http/{video-http.service.spec.ts => youtube-http.service.spec.ts} (51%) create mode 100644 src/app/core/services/video-http/youtube-http.service.ts diff --git a/src/app/core/data/response-mock/response.json b/src/app/core/data/response-mock/response.json deleted file mode 100644 index 7bf689d..0000000 --- a/src/app/core/data/response-mock/response.json +++ /dev/null @@ -1,749 +0,0 @@ -{ - "TODO": "TO BE UPDATED", - - "kind": "youtube#videoListResponse", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/Cmodw7c5XPTM8Yg3kMXelihxek4\"", - "pageInfo": { - "totalResults": 10, - "resultsPerPage": 10 - }, - "items": [ - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/tmmI1yiRrmLWlKikXk1gD3TXsUI\"", - "id": "YN8zNnV0sK8", - "snippet": { - "publishedAt": "2023-08-30T12:42:19.000Z", - "channelId": "UCg8ss4xW9jASrqWGP30jXiw", - "title": "Angular 8 - Быстрый курс за 60 минут", - "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nTelegram: https://teleg.one/js_by_vladilen \nInstagram: https://www.instagram.com/vladilen.minin \nVK: https://vk.com/vladilen.minin \nГруппа VK: https://vk.com/js_by_vladilen \n\nReact Native: мобильная разработка на JavaScript:\nhttps://clc.to/rnative\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\n30 мая 2019 года бы релиз Angular 8 и я решил записать по нему быстрый курс. В видео вы узнаете, как Angular работает, как его установить.\nВ результате урока я покажу создание Todo приложения с разными подходами. Разберем работу с сервером, сервисами, пайпами, коммуникацией между компонентами и немного RxJS\n\nИсходный код:\nhttps://github.com/vladilenm/angular8-cc\n\nAngular 8 - Быстрый курс за 60 минут", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/YN8zNnV0sK8/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Владилен Минин", - "tags": [ - "angular", - "angular 8", - "angularjs", - "js", - "javascript", - "rxjs", - "angular 60 минут", - "angular 1 час", - "angular 8 1 час", - "владилен минин", - "уроки javascript", - "angular 2", - "angular 4", - "angular уроки", - "курс angular", - "основы angular", - "angular фреймворк", - "angular уроки для начинающих", - "уроки angular", - "angular практика", - "ангуляр", - "angular изучение", - "angular курс", - "ангуляр 4 уроки", - "angular уроки на русском" - ], - "categoryId": "27", - "liveBroadcastContent": "none", - "localized": { - "title": "Angular 8 - Быстрый курс за 60 минут", - "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nTelegram: https://teleg.one/js_by_vladilen \nInstagram: https://www.instagram.com/vladilen.minin \nVK: https://vk.com/vladilen.minin \nГруппа VK: https://vk.com/js_by_vladilen \n\nReact Native: мобильная разработка на JavaScript:\nhttps://clc.to/rnative\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\n30 мая 2019 года бы релиз Angular 8 и я решил записать по нему быстрый курс. В видео вы узнаете, как Angular работает, как его установить.\nВ результате урока я покажу создание Todo приложения с разными подходами. Разберем работу с сервером, сервисами, пайпами, коммуникацией между компонентами и немного RxJS\n\nИсходный код:\nhttps://github.com/vladilenm/angular8-cc\n\nAngular 8 - Быстрый курс за 60 минут" - }, - "defaultAudioLanguage": "en-US" - }, - "statistics": { - "viewCount": "33265", - "likeCount": "1173", - "dislikeCount": "26", - "favoriteCount": "0", - "commentCount": "170" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/uto79F2R8W05GFpiUAcLdFGs7PQ\"", - "id": "Fdf5aTYRW0E", - "snippet": { - "publishedAt": "2023-10-23T17:46:58.000Z", - "channelId": "UC29ju8bIPH5as8OGnQzwJyA", - "title": "Angular Crash Course", - "description": "In this video we will talk about what Angular is and then jump in and build a small app With Angular 7, looking at most of the fundamental concepts like components, services, modules, etc\n\nSponsor:\nhttp://www.netlify.com\n\nCode:\nhttps://github.com/bradtraversy/angular-crash-todolist\n\n💖 Become a Patron: Show support & get perks!\nhttp://www.patreon.com/traversymedia\n\nWebsite & Udemy Courses\nhttp://www.traversymedia.com\n\nFollow Traversy Media:\nhttps://www.facebook.com/traversymedia\nhttps://www.twitter.com/traversymedia\nhttps://www.instagram.com/traversymedia", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/Fdf5aTYRW0E/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Traversy Media", - "tags": ["angular", "angular 7", "angular tutorial", "angularjs"], - "categoryId": "28", - "liveBroadcastContent": "none", - "localized": { - "title": "Angular Crash Course", - "description": "In this video we will talk about what Angular is and then jump in and build a small app With Angular 7, looking at most of the fundamental concepts like components, services, modules, etc\n\nSponsor:\nhttp://www.netlify.com\n\nCode:\nhttps://github.com/bradtraversy/angular-crash-todolist\n\n💖 Become a Patron: Show support & get perks!\nhttp://www.patreon.com/traversymedia\n\nWebsite & Udemy Courses\nhttp://www.traversymedia.com\n\nFollow Traversy Media:\nhttps://www.facebook.com/traversymedia\nhttps://www.twitter.com/traversymedia\nhttps://www.instagram.com/traversymedia" - }, - "defaultAudioLanguage": "en" - }, - "statistics": { - "viewCount": "456979", - "likeCount": "8213", - "dislikeCount": "131", - "favoriteCount": "0", - "commentCount": "555" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/6e0k9ik7TThWpqueHGOhTRIN1-A\"", - "id": "k5E2AVpwsko", - "snippet": { - "publishedAt": "2023-10-05T16:48:15.000Z", - "channelId": "UCWv7vMbMWH4-V0ZXdmDpPBA", - "title": "Angular Tutorial for Beginners: Learn Angular from Scratch | Mosh", - "description": "🔥Get the COMPLETE COURSE (60% OFF - LIMITED TIME): https://programmingwithmosh.com/courses/angular\n\nThis Angular tutorial teaches you the fundamentals of Angular and TypeScript.\n\nSUBSCRIBE FOR MORE VIDEOS!\nhttps://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA?sub_confirmation=1\n\n\nTABLE OF CONTENT \n\n00:00 Introduction\n02:54 What is Angular?\n04:54 Architecture of Angular Apps\n08:41 Setting Up the Development Environment\n11:25 Your First Angular App\n13:50 Structure of Angular Projects\n20:43 Webpack\n23:57 Angular Version History \n27:31 Course Structure\n31:55 TypeScript Fundamentals\n32:34 What is TypeScript?\n34:58 Your First TypeScript Program\n37:57 Declaring Variables\n42:46 Types\n48:29 Type Assertions\n51:15 Arrow Functions\n52:59 Interfaces\n56:54 Classes\n01:01:22 Objects\n01:05:31 Constructors\n01:08:22 Access Modifiers\n01:11:18 Access Modifiers in Constructor Parameters\n01:12:58 Properties\n01:18:15 Modules\n01:23:22 Angular Fundamentals\n01:23:41 Building Blocks of Angular Apps\n01:27:22 Creating Components\n01:37:00 Generating Components Using Angular CLI\n01:41:40 Templates\n01:44:08 Directives\n01:47:34 Services\n01:52:02 Dependency Injection\n01:59:22 Generating Services Using Angular CLI\n02:01:32 Exercise\n \n\nSTAY IN TOUCH\n\nhttps://www.facebook.com/programmingwithmosh/\nhttps://twitter.com/moshhamedani", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/k5E2AVpwsko/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/k5E2AVpwsko/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/k5E2AVpwsko/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/k5E2AVpwsko/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/k5E2AVpwsko/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Programming with Mosh", - "tags": [ - "learn angular 4", - "learn angular 4 from scratch", - "angular4", - "learn angular", - "angular tutorial", - "angular 4", - "Angular", - "angular 5", - "angular 5 course", - "angular course", - "angular.js", - "angularjs", - "angular 2", - "angular2", - "angular 4 tutorial", - "angular 4 tutorial for beginners", - "angular tutorial for beginners", - "angular 4 crash course", - "angular 4 in 60 minutes", - "angularjs 4", - "angular 4 tutorial for beginners step by step", - "angular js", - "angularjs tutorial for beginners", - "angular 6", - "angular 7" - ], - "categoryId": "22", - "liveBroadcastContent": "none", - "localized": { - "title": "Angular Tutorial for Beginners: Learn Angular from Scratch | Mosh", - "description": "🔥Get the COMPLETE COURSE (60% OFF - LIMITED TIME): https://programmingwithmosh.com/courses/angular\n\nThis Angular tutorial teaches you the fundamentals of Angular and TypeScript.\n\nSUBSCRIBE FOR MORE VIDEOS!\nhttps://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA?sub_confirmation=1\n\n\nTABLE OF CONTENT \n\n00:00 Introduction\n02:54 What is Angular?\n04:54 Architecture of Angular Apps\n08:41 Setting Up the Development Environment\n11:25 Your First Angular App\n13:50 Structure of Angular Projects\n20:43 Webpack\n23:57 Angular Version History \n27:31 Course Structure\n31:55 TypeScript Fundamentals\n32:34 What is TypeScript?\n34:58 Your First TypeScript Program\n37:57 Declaring Variables\n42:46 Types\n48:29 Type Assertions\n51:15 Arrow Functions\n52:59 Interfaces\n56:54 Classes\n01:01:22 Objects\n01:05:31 Constructors\n01:08:22 Access Modifiers\n01:11:18 Access Modifiers in Constructor Parameters\n01:12:58 Properties\n01:18:15 Modules\n01:23:22 Angular Fundamentals\n01:23:41 Building Blocks of Angular Apps\n01:27:22 Creating Components\n01:37:00 Generating Components Using Angular CLI\n01:41:40 Templates\n01:44:08 Directives\n01:47:34 Services\n01:52:02 Dependency Injection\n01:59:22 Generating Services Using Angular CLI\n02:01:32 Exercise\n \n\nSTAY IN TOUCH\n\nhttps://www.facebook.com/programmingwithmosh/\nhttps://twitter.com/moshhamedani" - }, - "defaultAudioLanguage": "en-US" - }, - "statistics": { - "viewCount": "1266085", - "likeCount": "18342", - "dislikeCount": "473", - "favoriteCount": "0", - "commentCount": "1255" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/cDwx4Ds5-J9CmiqmazUetzrLZKY\"", - "id": "Rf54BH35yrY", - "snippet": { - "publishedAt": "2023-08-04T15:00:12.000Z", - "channelId": "UCg8ss4xW9jASrqWGP30jXiw", - "title": "Angular 8 Основы. Полный Курс для начинающих", - "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nУрок по Angular. В этом курсе вы познакомитесь со всеми основными элементами, которые есть в Angular с полного нуля\n\nAngular 8 Основы. Полный Курс. Урок для Новичков", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/Rf54BH35yrY/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/Rf54BH35yrY/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/Rf54BH35yrY/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/Rf54BH35yrY/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/Rf54BH35yrY/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Владилен Минин", - "tags": [ - "angular", - "angularjs", - "js", - "javascript", - "уроки angular", - "angular уроки", - "angular 8", - "курс angular", - "angular основы", - "владилен", - "владилен минин", - "минин", - "основы angular", - "ангуляр", - "angular 6", - "angular js", - "angular уроки для начинающих", - "angular фреймворк", - "angular практика", - "что такое angular", - "angular cli", - "angular уроки на русском", - "курсы программирования", - "angular tutorial" - ], - "categoryId": "27", - "liveBroadcastContent": "none", - "localized": { - "title": "Angular 8 Основы. Полный Курс для начинающих", - "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nУрок по Angular. В этом курсе вы познакомитесь со всеми основными элементами, которые есть в Angular с полного нуля\n\nAngular 8 Основы. Полный Курс. Урок для Новичков" - }, - "defaultAudioLanguage": "en-US" - }, - "statistics": { - "viewCount": "14544", - "likeCount": "573", - "dislikeCount": "11", - "favoriteCount": "0", - "commentCount": "88" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/_99tEunMszVYvCj2-1aUTKgOoSY\"", - "id": "m0yGx2MGZWg", - "snippet": { - "publishedAt": "2023-10-13T07:44:08.000Z", - "channelId": "UCe_H8hzx9WV7Ca7Ps5gt72Q", - "title": "Что такое Angular. Обзор возможностей", - "description": "В этом видео речь пойдет про javascript фреймворк Angular. Я расскажу что такое Angular, где и когда его применяют, а так же сделаю небольшой обзор его возможностей. Расскажу чем фреймворк сложен для новичков и чем он действительно хорош для новых проектов. Сейчас для того что б стать junior javascript разработчиком нужно обязательно знать хотя бы один фреймворк js и ангуляр будет отличным выбором.", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/m0yGx2MGZWg/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Web Developer Blog", - "tags": [ - "angular", - "ангуляр", - "angular js", - "уроки angular", - "angular уроки", - "angular tutorial", - "что такое angular", - "angular обзор", - "angular фреймворк", - "js", - "javascript", - "web development", - "angular 6", - "angular примеры", - "angular практика", - "стоит ли учить angular", - "angular учить", - "программирование" - ], - "categoryId": "27", - "liveBroadcastContent": "none", - "defaultLanguage": "ru", - "localized": { - "title": "Что такое Angular. Обзор возможностей", - "description": "В этом видео речь пойдет про javascript фреймворк Angular. Я расскажу что такое Angular, где и когда его применяют, а так же сделаю небольшой обзор его возможностей. Расскажу чем фреймворк сложен для новичков и чем он действительно хорош для новых проектов. Сейчас для того что б стать junior javascript разработчиком нужно обязательно знать хотя бы один фреймворк js и ангуляр будет отличным выбором." - }, - "defaultAudioLanguage": "ru" - }, - "statistics": { - "viewCount": "43470", - "likeCount": "1047", - "dislikeCount": "198", - "favoriteCount": "0", - "commentCount": "96" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/GuGydXnkvpl-L4ntYhAaLNiseZ4\"", - "id": "VAkio68d51A", - "snippet": { - "publishedAt": "2023-10-23T00:09:23.000Z", - "channelId": "UCZ9qFEC82qM6Pk-54Q4TVWA", - "title": "What is Angular? (Explained for Beginners)", - "description": "When you're just starting out you are probably wondering \"What is Angular exactly? When you ask that question it leads to a lot of concepts that are over your head and don't make sense. So in this video I really want to cover what exactly Angular is and why it's even necessary... all from a beginners point of view.\n\n*** DOWNLOAD THE FREE REPORT ***\nFor my free report on the five best programming languages in 2019 (for beginners) go to: https://andysterkowitz.com/report", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/VAkio68d51A/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/VAkio68d51A/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/VAkio68d51A/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/VAkio68d51A/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/VAkio68d51A/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Andy Sterkowitz", - "tags": [ - "angular", - "angular 7", - "angularjs", - "learn angular", - "angular.js", - "angular tutorial for beginners", - "angular for beginners", - "angular for dummies", - "what is angular", - "what is angular 7", - "angular2", - "angular 2", - "javascript", - "front end framework", - "web development", - "web development 2019", - "front end framework 2019", - "what is a front end framework", - "software development", - "programming", - "front end software developer", - "web developer" - ], - "categoryId": "28", - "liveBroadcastContent": "none", - "defaultLanguage": "en", - "localized": { - "title": "What is Angular? (Explained for Beginners)", - "description": "When you're just starting out you are probably wondering \"What is Angular exactly? When you ask that question it leads to a lot of concepts that are over your head and don't make sense. So in this video I really want to cover what exactly Angular is and why it's even necessary... all from a beginners point of view.\n\n*** DOWNLOAD THE FREE REPORT ***\nFor my free report on the five best programming languages in 2019 (for beginners) go to: https://andysterkowitz.com/report" - }, - "defaultAudioLanguage": "en" - }, - "statistics": { - "viewCount": "57997", - "likeCount": "1662", - "dislikeCount": "34", - "favoriteCount": "0", - "commentCount": "114" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/u2qq5ltpXouoIrpkJgGLu8YOIeg\"", - "id": "u1VCxpvDgsk", - "snippet": { - "publishedAt": "2018-12-01T15:00:05.000Z", - "channelId": "UCvuY904el7JvBlPbdqbfguw", - "title": "Уроки Angular для начинающих / #1 - Введение в Angular", - "description": "Приступаем к изучению библиотеки Angular. В ходе курса мы создадим небольшой сайт и научимся всем основным концепциям библиотеки Angular. Мы рассмотрим события, компоненты, создание форм и многое другое, чтобы вы в дальнейшем сами могли создавать веб сайты на Angular.\n\n1) Курс на сайте itProger: https://itproger.com/course/angular\n2) Node JS: https://nodejs.org/\n3) Редактор кода: https://atom.io/\n4) Angular CLI: https://cli.angular.io/\n\n✔ Сообщество программистов: https://itproger.com/\n\n✔ -------------\nВступай в группу Вк - https://vk.com/prog_life 🚀\nГруппа FaceBook - https://goo.gl/XW0aaP\n\nInstagram: https://www.instagram.com/gosha_dudar/\nTelegram: http://t.me/itProger_official\nTwitter - https://twitter.com/GoshaDudar\n\n- Уроки от #GoshaDudar 👨🏼\u200d💻\n- Все уроки по хештегу #goshaAngular", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/u1VCxpvDgsk/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Гоша Дударь", - "tags": [ - "angular", - "angular 6", - "angular уроки", - "angular node js", - "angularjs", - "angularjs уроки", - "для начинающих", - "angular уроки на русском", - "Введение в Angular", - "что такое angular", - "установка angular", - "#GoshaDudar", - "#goshaAngular" - ], - "categoryId": "27", - "liveBroadcastContent": "none", - "defaultLanguage": "ru", - "localized": { - "title": "Уроки Angular для начинающих / #1 - Введение в Angular", - "description": "Приступаем к изучению библиотеки Angular. В ходе курса мы создадим небольшой сайт и научимся всем основным концепциям библиотеки Angular. Мы рассмотрим события, компоненты, создание форм и многое другое, чтобы вы в дальнейшем сами могли создавать веб сайты на Angular.\n\n1) Курс на сайте itProger: https://itproger.com/course/angular\n2) Node JS: https://nodejs.org/\n3) Редактор кода: https://atom.io/\n4) Angular CLI: https://cli.angular.io/\n\n✔ Сообщество программистов: https://itproger.com/\n\n✔ -------------\nВступай в группу Вк - https://vk.com/prog_life 🚀\nГруппа FaceBook - https://goo.gl/XW0aaP\n\nInstagram: https://www.instagram.com/gosha_dudar/\nTelegram: http://t.me/itProger_official\nTwitter - https://twitter.com/GoshaDudar\n\n- Уроки от #GoshaDudar 👨🏼\u200d💻\n- Все уроки по хештегу #goshaAngular" - }, - "defaultAudioLanguage": "ru" - }, - "statistics": { - "viewCount": "33896", - "likeCount": "612", - "dislikeCount": "37", - "favoriteCount": "0", - "commentCount": "50" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/96JEWzuOaAgaHrcnKhmatlZzPME\"", - "id": "rc3E4tplFCU", - "snippet": { - "publishedAt": "2023-10-29T15:00:14.000Z", - "channelId": "UCg8ss4xW9jASrqWGP30jXiw", - "title": "Angular 40 вопросов для собеседования", - "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nAngular 40 вопросов для собеседования. Подготовка к интервью", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/rc3E4tplFCU/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/rc3E4tplFCU/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/rc3E4tplFCU/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/rc3E4tplFCU/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/rc3E4tplFCU/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Владилен Минин", - "tags": [ - "angular", - "angularjs", - "js", - "javascript", - "уроки angular", - "angular уроки", - "angular 8", - "курс angular", - "angular основы", - "владилен", - "владилен минин", - "минин", - "основы angular", - "angular вопросы", - "angular интервью", - "собеседование", - "angular собеседование", - "вопросы на собеседование", - "angular 6", - "angular для начинающих", - "angular уроки на русском" - ], - "categoryId": "27", - "liveBroadcastContent": "none", - "localized": { - "title": "Angular 40 вопросов для собеседования", - "description": "Полный курс по Angular 8+:\nhttps://clc.to/angular\n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nAngular 40 вопросов для собеседования. Подготовка к интервью" - }, - "defaultAudioLanguage": "en-US" - }, - "statistics": { - "viewCount": "6824", - "likeCount": "595", - "dislikeCount": "10", - "favoriteCount": "0", - "commentCount": "126" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/pvVvPt5cchXjCoSYxodr18lOaEg\"", - "id": "NaZwVUHnmfE", - "snippet": { - "publishedAt": "2019-06-19T16:06:13.000Z", - "channelId": "UCg8ss4xW9jASrqWGP30jXiw", - "title": "Angular 8 + RxJS. Приложение Органайзер С Нуля (Для Опытных!)", - "description": "Курс по Angular 8+: \nhttps://clc.to/angular \n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nВ видео я покажу разработку приложения органайзера с нуля.\nВ видео я не буду пояснять базовые моменты, так как это практика для опытных разработчиков\n\nВ результате вы получите приложение, в котором будет использоваться много RxJS, Firebase, MomentJS и Angular 8\nНе будет никаких CSS фреймворков - все стили будут написаны с нуля с использованием CSS переменных\n\nИсходный код:\nhttps://github.com/vladilenm/angular-organizer\n\nAngular 8 + RxJS. Приложение Целиком (Для Опытных!)\nhttps://youtu.be/NaZwVUHnmfE", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/NaZwVUHnmfE/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Владилен Минин", - "tags": [ - "angular", - "angular 8", - "vladilen", - "владилен", - "владилен минин", - "angularjs", - "angular практика", - "уроки angular", - "rxjs", - "rxjs уроки", - "momentjs", - "js", - "javascript", - "web", - "frontend", - "ангуляр", - "angular уроки", - "angular уроки для начинающих", - "создание приложения на angular 4", - "angular 60 минут", - "изучение angular", - "angular 6", - "ангуляр 7 уроки", - "реактивное программирование" - ], - "categoryId": "27", - "liveBroadcastContent": "none", - "localized": { - "title": "Angular 8 + RxJS. Приложение Органайзер С Нуля (Для Опытных!)", - "description": "Курс по Angular 8+: \nhttps://clc.to/angular \n\nДобавляйте меня в ВК: https://vk.com/vladilen.minin\nTelegram: https://teleg.one/js_by_vladilen\nInstagram: https://www.instagram.com/vladilen.minin\nГруппа ВК: https://vk.com/js_by_vladilen\n\nПоддержать выпуск новых видео:\nЯД: https://money.yandex.ru/to/410013757655670\nPayPal: https://www.paypal.me/vladilenm \n\nВ видео я покажу разработку приложения органайзера с нуля.\nВ видео я не буду пояснять базовые моменты, так как это практика для опытных разработчиков\n\nВ результате вы получите приложение, в котором будет использоваться много RxJS, Firebase, MomentJS и Angular 8\nНе будет никаких CSS фреймворков - все стили будут написаны с нуля с использованием CSS переменных\n\nИсходный код:\nhttps://github.com/vladilenm/angular-organizer\n\nAngular 8 + RxJS. Приложение Целиком (Для Опытных!)\nhttps://youtu.be/NaZwVUHnmfE" - }, - "defaultAudioLanguage": "en-US" - }, - "statistics": { - "viewCount": "12128", - "likeCount": "665", - "dislikeCount": "11", - "favoriteCount": "0", - "commentCount": "156" - } - }, - { - "kind": "youtube#video", - "etag": "\"Fznwjl6JEQdo1MGvHOGaz_YanRU/KuFm1jGNMzgjE2VlAEsPgRVra4o\"", - "id": "G0bBLvWXBvc", - "snippet": { - "publishedAt": "2019-09-16T16:53:41.000Z", - "channelId": "UCsBjURrPoezykLs9EqgamOA", - "title": "Angular for Beginners - Let's build a Tic-Tac-Toe PWA", - "description": "Learn the basics of Angular 8 🚀 by building a tic-tac-toe game 🕹️ from scratch...Then deploy it as an installable progressive web app (PWA). Go beyond the basics 👉https://fireship.io/courses/angular/\n\nFull Source Code: https://github.com/fireship-io/angular-tic-tac-toe\nAngular Docs: https://angular.io/\n\n#angular #pwa #tutorial\n\nTake Angular quizzes 🤓\n\niOS https://itunes.apple.com/us/app/fireship/id1462592372?mt=8\nAndroid https://play.google.com/store/apps/details?id=io.fireship.quizapp\n\nUpgrade to Fireship PRO at https://fireship.io/pro\nUse code lORhwXd2 for 25% off your first payment.", - "thumbnails": { - "default": { - "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/default.jpg", - "width": 120, - "height": 90 - }, - "medium": { - "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/mqdefault.jpg", - "width": 320, - "height": 180 - }, - "high": { - "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/hqdefault.jpg", - "width": 480, - "height": 360 - }, - "standard": { - "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/sddefault.jpg", - "width": 640, - "height": 480 - }, - "maxres": { - "url": "https://i.ytimg.com/vi/G0bBLvWXBvc/maxresdefault.jpg", - "width": 1280, - "height": 720 - } - }, - "channelTitle": "Fireship", - "tags": [ - "webdev", - "app development", - "lesson", - "tutorial", - "beginners", - "beginner", - "basic", - "angular tutorial", - "angular basics", - "angular for beginners", - "angular 8", - "angular components", - "learn angular" - ], - "categoryId": "28", - "liveBroadcastContent": "none", - "localized": { - "title": "Angular for Beginners - Let's build a Tic-Tac-Toe PWA", - "description": "Learn the basics of Angular 8 🚀 by building a tic-tac-toe game 🕹️ from scratch...Then deploy it as an installable progressive web app (PWA). Go beyond the basics 👉https://fireship.io/courses/angular/\n\nFull Source Code: https://github.com/fireship-io/angular-tic-tac-toe\nAngular Docs: https://angular.io/\n\n#angular #pwa #tutorial\n\nTake Angular quizzes 🤓\n\niOS https://itunes.apple.com/us/app/fireship/id1462592372?mt=8\nAndroid https://play.google.com/store/apps/details?id=io.fireship.quizapp\n\nUpgrade to Fireship PRO at https://fireship.io/pro\nUse code lORhwXd2 for 25% off your first payment." - }, - "defaultAudioLanguage": "en" - }, - "statistics": { - "viewCount": "56657", - "likeCount": "2092", - "dislikeCount": "36", - "favoriteCount": "0", - "commentCount": "128" - } - } - ] -} diff --git a/src/app/core/services/video-http/video-http.service.ts b/src/app/core/services/video-http/video-http.service.ts deleted file mode 100644 index a005097..0000000 --- a/src/app/core/services/video-http/video-http.service.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Injectable } from '@angular/core' -import data from '../../data/response-mock/response.json' -import type { Video } from '../../../shared/models/responce.model' - -@Injectable({ - providedIn: 'root', -}) -export class VideoHttpService { - public videos: Video[] = data.items - - getVideoByEtag(etag: string): Video | undefined { - return this.videos.find(video => video.etag === etag) - } -} diff --git a/src/app/core/services/video-http/video-http.service.spec.ts b/src/app/core/services/video-http/youtube-http.service.spec.ts similarity index 51% rename from src/app/core/services/video-http/video-http.service.spec.ts rename to src/app/core/services/video-http/youtube-http.service.spec.ts index b129ab7..6cf72ec 100644 --- a/src/app/core/services/video-http/video-http.service.spec.ts +++ b/src/app/core/services/video-http/youtube-http.service.spec.ts @@ -1,13 +1,13 @@ import { TestBed } from '@angular/core/testing' -import { VideoHttpService } from './video-http.service' +import { YoutubeHttpService } from './youtube-http.service' -describe('VideoHttpService', () => { - let service: VideoHttpService +describe('YoutubeHttpService', () => { + let service: YoutubeHttpService beforeEach(() => { TestBed.configureTestingModule({}) - service = TestBed.inject(VideoHttpService) + service = TestBed.inject(YoutubeHttpService) }) it('should be created', () => { diff --git a/src/app/core/services/video-http/youtube-http.service.ts b/src/app/core/services/video-http/youtube-http.service.ts new file mode 100644 index 0000000..d84fc71 --- /dev/null +++ b/src/app/core/services/video-http/youtube-http.service.ts @@ -0,0 +1,74 @@ +import { Injectable, inject } from '@angular/core' +import { HttpClient, HttpParams } from '@angular/common/http' +import { map, switchMap, type Observable, BehaviorSubject } from 'rxjs' +import { environment } from '../../../../environments/environment' +import type { + Video, + SearchListResponse, + SearchListResponseById, +} from '../../../shared/models/responce.model' + +@Injectable({ + providedIn: 'root', +}) +export class YoutubeHttpService { + private httpClient = inject(HttpClient) + + private baseUrl = environment.api_url + + public videosSource = new BehaviorSubject([]) + + public videos$ = this.videosSource.asObservable() + + constructor() { + this.searchVideos() + } + + public searchVideos(query?: string): void { + this.getVideos(query).subscribe(videos => { + this.videosSource.next(videos) + }) + } + + public getVideoById(id: string): Observable
diff --git a/src/app/admin/admin.component.scss b/src/app/admin/admin.component.scss new file mode 100644 index 0000000..9bf5da9 --- /dev/null +++ b/src/app/admin/admin.component.scss @@ -0,0 +1,28 @@ +:host { + display: flex; + align-items: center; + justify-content: center; + + height: calc(80vh - 50px); + margin: 50px; +} + +.island { + width: 50%; + min-width: 280px; + max-width: 500px; + background-color: var(--tui-base-02); +} + +.error { + position: absolute; + transform: translateY(-5px); +} + +.tags { + width: 100%; +} + +.tag { + background-color: var(--tui-base-02); +} diff --git a/src/app/admin/admin.component.spec.ts b/src/app/admin/admin.component.spec.ts new file mode 100644 index 0000000..9d20520 --- /dev/null +++ b/src/app/admin/admin.component.spec.ts @@ -0,0 +1,21 @@ +import { type ComponentFixture, TestBed } from '@angular/core/testing' + +import { AdminComponent } from './admin.component' + +describe('AdminComponent', () => { + let component: AdminComponent + let fixture: ComponentFixture + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [AdminComponent], + }) + fixture = TestBed.createComponent(AdminComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it('should create', () => { + expect(component).toBeTruthy() + }) +}) diff --git a/src/app/admin/admin.component.ts b/src/app/admin/admin.component.ts new file mode 100644 index 0000000..2fd6a19 --- /dev/null +++ b/src/app/admin/admin.component.ts @@ -0,0 +1,111 @@ +import { ChangeDetectionStrategy, Component, type OnInit, inject } from '@angular/core' +import { CommonModule } from '@angular/common' +import { + FormsModule, + NonNullableFormBuilder, + ReactiveFormsModule, + Validators, +} from '@angular/forms' +import { + TuiTextfieldControllerModule, + TuiButtonModule, + TuiDropdownModule, + TuiErrorModule, +} from '@taiga-ui/core' +import { TuiFallbackSrcModule } from '@taiga-ui/experimental' +import { + TuiInputModule, + TuiActionModule, + TuiIslandModule, + TuiFieldErrorPipeModule, + TUI_VALIDATION_ERRORS, + TuiInputDateModule, + TuiInputTagModule, + TuiTagModule, +} from '@taiga-ui/kit' + +import { TuiDay } from '@taiga-ui/cdk' +import { CustomValidators } from '../core/validators/customValidator' + +type DateType = null | TuiDay + +@Component({ + selector: 'app-admin', + standalone: true, + imports: [ + CommonModule, + ReactiveFormsModule, + TuiInputModule, + TuiTextfieldControllerModule, + TuiActionModule, + TuiButtonModule, + TuiFallbackSrcModule, + TuiDropdownModule, + TuiIslandModule, + TuiErrorModule, + TuiFieldErrorPipeModule, + FormsModule, + TuiInputDateModule, + TuiInputTagModule, + TuiTagModule, + ], + templateUrl: './admin.component.html', + styleUrls: ['./admin.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, + providers: [ + { + provide: TUI_VALIDATION_ERRORS, + useValue: { + maxlength: 'The title is too long', + minlength: `The title is too short `, + }, + }, + ], +}) +export class AdminComponent implements OnInit { + private fb = inject(NonNullableFormBuilder) + + maxDate = TuiDay.currentLocal() + + minDate = TuiDay.fromLocalNativeDate(new Date(1920, 0, 1)) + + tags: string[] = [] + + tagsInputHidden = false + + maxTags = 5 + + cardForm = this.fb.group({ + titleControl: [ + '', + [ + CustomValidators.required('Please enter a title'), + Validators.minLength(3), + Validators.maxLength(20), + ], + ], + descriptionControl: ['', [CustomValidators.maxLength(255, 'The description is too long')]], + imgLinkControl: [ + '', + [ + CustomValidators.required('Please enter a link to the image'), + CustomValidators.url('image url is invalid'), + ], + ], + videoLinkControl: [ + '', + [ + CustomValidators.required('Please enter a link to the video'), + CustomValidators.url('video url is invalid'), + ], + ], + dateControl: [null as DateType, [Validators.required]], + tagsControl: [[] as string[]], + }) + + ngOnInit(): void { + this.cardForm.controls.tagsControl.valueChanges.subscribe((value: string[]) => { + this.tagsInputHidden = value.length >= this.maxTags + }) + } +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 090617c..de886cc 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -23,6 +23,12 @@ const routes: Routes = [ component => component.NotFoundComponent, ), }, + { + path: 'admin', + title: 'admin', + loadComponent: () => import('./admin/admin.component').then(m => m.AdminComponent), + canLoad: [authGuard], + }, { path: '**', redirectTo: '404' }, ] diff --git a/src/app/core/components/header/header.component.html b/src/app/core/components/header/header.component.html index 0b4cd89..1dd707d 100644 --- a/src/app/core/components/header/header.component.html +++ b/src/app/core/components/header/header.component.html @@ -18,7 +18,6 @@ -